linux/arch/powerpc/include/asm
Nicholas Piggin 0138ba5783 powerpc/64/signal: Balance return predictor stack in signal trampoline
Returning from an interrupt or syscall to a signal handler currently
begins execution directly at the handler's entry point, with LR set to
the address of the sigreturn trampoline. When the signal handler
function returns, it runs the trampoline. It looks like this:

    # interrupt at user address xyz
    # kernel stuff... signal is raised
    rfid
    # void handler(int sig)
    addis 2,12,.TOC.-.LCF0@ha
    addi 2,2,.TOC.-.LCF0@l
    mflr 0
    std 0,16(1)
    stdu 1,-96(1)
    # handler stuff
    ld 0,16(1)
    mtlr 0
    blr
    # __kernel_sigtramp_rt64
    addi    r1,r1,__SIGNAL_FRAMESIZE
    li      r0,__NR_rt_sigreturn
    sc
    # kernel executes rt_sigreturn
    rfid
    # back to user address xyz

Note the blr with no matching bl. This can corrupt the return
predictor.

Solve this by instead resuming execution at the signal trampoline
which then calls the signal handler. qtrace-tools link_stack checker
confirms the entire user/kernel/vdso cycle is balanced after this
patch, whereas it's not upstream.

Alan confirms the dwarf unwind info still looks good. gdb still
recognises the signal frame and can step into parent frames if it
break inside a signal handler.

Performance is pretty noisy, not a very significant change on a POWER9
here, but branch misses are consistently a lot lower on a
microbenchmark:

 Performance counter stats for './signal':

       13,085.72 msec task-clock                #    1.000 CPUs utilized
  45,024,760,101      cycles                    #    3.441 GHz
  65,102,895,542      instructions              #    1.45  insn per cycle
  11,271,673,787      branches                  #  861.372 M/sec
      59,468,979      branch-misses             #    0.53% of all branches

       12,989.09 msec task-clock                #    1.000 CPUs utilized
  44,692,719,559      cycles                    #    3.441 GHz
  65,109,984,964      instructions              #    1.46  insn per cycle
  11,282,136,057      branches                  #  868.585 M/sec
      39,786,942      branch-misses             #    0.35% of all branches

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200511101952.1463138-1-npiggin@gmail.com
2020-07-15 11:08:27 +10:00
..
book3s mm: consolidate pte_index() and pte_offset_*() definitions 2020-06-09 09:39:14 -07:00
nohash powerpc/8xx: Modify ptep_get() 2020-06-22 20:37:33 +10:00
8xx_immap.h
accounting.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
agp.h
archrandom.h powerpc: Mark archrandom.h functions __must_check 2020-01-25 12:18:51 -05:00
asm-compat.h powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
asm-const.h powerpc: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +10:00
asm-offsets.h
asm-prototypes.h powerpc/64s: Implement interrupt exit logic in C 2020-04-01 13:42:14 +11:00
async_tx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 33 2019-05-24 17:27:11 +02:00
atomic.h powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +10:00
backlight.h
barrier.h powerpc: Remove comment about read_barrier_depends() 2020-01-24 10:33:52 -08:00
bitops.h powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +10:00
bootx.h
btext.h powerpc/32s: fix booting with CONFIG_PPC_EARLY_DEBUG_BOOTX 2019-06-07 19:00:14 +10:00
bug.h powerpc: Refactor BUG/WARN macros 2019-11-18 22:27:51 +11:00
bugs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cache.h powerpc/40x: Remove support for IBM 403GCX 2020-05-28 23:24:35 +10:00
cacheflush.h mm: rename flush_icache_user_range to flush_icache_user_page 2020-06-08 11:05:58 -07:00
cell-pmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
cell-regs.h
checksum.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cmpxchg.h powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +10:00
code-patching-asm.h powerpc/asm: Add a patch_site macro & helpers for patching instructions 2018-08-08 00:32:25 +10:00
code-patching.h powerpc: Use a datatype for instructions 2020-05-19 00:10:37 +10:00
compat.h compat: provide compat_ptr() on all architectures 2020-01-03 09:32:51 +01:00
context_tracking.h
copro.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cpm.h soc: fsl: move cpm.h from powerpc/include/asm to include/soc/fsl 2019-12-09 13:54:34 -06:00
cpm1.h
cpm2.h
cpu_has_feature.h
cpufeature.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cpuidle.h powerpc/64s: Reimplement book3s idle code in C 2019-04-30 22:37:48 +10:00
cputable.h powerpc: Add POWER10 architected mode 2020-06-02 20:59:20 +10:00
cputhreads.h powerpc: Detect the presence of big-cores via "ibm, thread-groups" 2018-10-13 22:21:25 +11:00
cputime.h powerpc/64/sycall: Implement syscall entry/exit logic in C 2020-04-01 13:42:13 +11:00
current.h powerpc/64: allow compiler to cache 'current' 2019-08-20 21:22:15 +10:00
dbdma.h
dbell.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
dcr-generic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dcr-mmio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dcr-native.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dcr-regs.h
dcr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
debug.h powerpc/watchpoint: Provide DAWR number to __set_breakpoint 2020-05-19 00:11:04 +10:00
debugfs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
delay.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
device.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
disassemble.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
dma-direct.h powerpc: remove support for NULL dev in __phys_to_dma / __dma_to_phys 2019-11-20 20:31:40 +01:00
dma.h powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
drmem.h powerpc/kernel: Enables memory hot-remove after reboot on pseries guests 2020-06-02 20:59:07 +10:00
dt_cpu_ftrs.h powerpc: clean inclusions of asm/feature-fixups.h 2018-07-30 22:48:17 +10:00
edac.h
eeh_event.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
eeh.h powerpc/eeh: Rework eeh_ops->probe() 2020-03-25 12:09:39 +11:00
ehv_pic.h
elf.h powerpc/prom_init: Undo relocation before entering secure mode 2019-10-29 15:12:17 +11:00
elfnote.h powerpc: Add PowerPC Capabilities ELF note 2019-08-30 09:40:15 +10:00
emergency-restart.h
emulated_ops.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
epapr_hcalls.h
exception-64e.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exception-64s.h powerpc/64s/exception: Move real to virt switch into the common handler 2020-04-01 13:42:11 +11:00
exec.h
extable.h
fadump-internal.h powerpc/fadump: use static allocation for reserved memory ranges 2020-05-04 22:29:58 +10:00
fadump.h powerpc/fadump: add support to preserve crash data on FADUMP disabled kernel 2019-09-14 00:04:45 +10:00
fb.h
feature-fixups.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
firmware.h powerpc/pseries/ras: Avoid calling rtas_token() in NMI paths 2020-05-18 21:58:45 +10:00
fixmap.h powerpc/fixmap: Fix FIX_EARLY_DEBUG_BASE when page size is 256k 2020-06-22 14:19:12 +10:00
floppy.h floppy: use symbolic register names in the powerpc port 2020-05-12 19:34:53 +03:00
fs_pd.h
fsl_85xx_cache_sram.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
fsl_gtm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
fsl_hcalls.h
fsl_lbc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
fsl_pamu_stash.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
fsl_pm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ftrace.h powerpc: Implement ftrace_enabled() helpers 2020-05-19 00:10:34 +10:00
futex.h powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +10:00
grackle.h
hardirq.h powerpc updates for 4.18 2018-06-07 10:23:33 -07:00
head-64.h powerpc/64s/exception: move head-64.h exception code to exception-64s.S 2019-08-30 10:32:36 +10:00
heathrow.h
highmem.h kmap: consolidate kmap_prot definitions 2020-06-04 19:06:22 -07:00
hmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
hugetlb.h powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
hvcall.h KVM: PPC: Book3S HV: Implement H_SVM_INIT_ABORT hcall 2020-01-17 15:08:31 +11:00
hvconsole.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
hvcserver.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
hvsi.h powerpc/hvsi: Fix spelling mistake: "lenght" should be "length" 2019-01-14 20:39:27 +11:00
hw_breakpoint.h hw-breakpoints: Fix build warnings with clang 2020-06-02 20:58:55 +10:00
hw_irq.h powerpc/64s: Fix unrecoverable SLB crashes due to preemption check 2020-05-04 09:18:06 +10:00
hydra.h
i8259.h
ibmebus.h
icswx.h powerpc/vas: Define nx_fault_stamp in coprocessor_request_block 2020-04-20 16:53:00 +10:00
ide.h
idle.h powerpc/sysfs: Show idle_purr and idle_spurr for every CPU 2020-04-30 12:35:26 +10:00
ima.h
imc-pmu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 112 2019-05-24 17:39:01 +02:00
immap_cpm2.h
inst.h powerpc: Add ppc_inst_as_u64() 2020-05-26 23:36:57 +10:00
io_event_irq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
io-defs.h
io-workarounds.h powerpc/mm: rework io-workaround invocation. 2019-08-27 13:03:34 +10:00
io.h mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
iommu.h powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
ipic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
irq_work.h
irq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
irqflags.h
isa-bridge.h
jump_label.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
kasan.h powerpc/32s: Implement dedicated kasan_init_region() 2020-05-26 22:22:23 +10:00
Kbuild asm-generic: make more kernel-space headers mandatory 2020-04-02 09:35:25 -07:00
kdebug.h
kdump.h
kexec.h powerpc: Fix kexec failure on book3s/32 2019-06-07 16:24:47 +10:00
keylargo.h
kgdb.h powerpc/kgdb: add kgdb_arch_set/remove_breakpoint() 2018-10-20 13:26:47 +11:00
kmap_types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
kprobes.h powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
kup.h mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
kvm_asm.h KVM: PPC: Book3S HV: Treat TM-related invalid form instructions on P9 like the valid ones 2020-03-19 16:39:52 +11:00
kvm_book3s_32.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_book3s_64.h powerpc/book3s64/kvm: Fix secondary page table walk warning during migration 2020-05-29 16:09:27 +10:00
kvm_book3s_asm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_book3s_uvmem.h KVM: PPC: Book3S HV: Add a capability for enabling secure guests 2020-03-26 11:09:04 +11:00
kvm_book3s.h MIPS: 2020-06-12 11:05:52 -07:00
kvm_booke_hv_asm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
kvm_booke.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_fpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_host.h KVM: PPC: Remove redundant kvm_run from vcpu_arch 2020-05-27 11:39:31 +10:00
kvm_para.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_ppc.h KVM: PPC: Clean up redundant 'kvm_run' parameters 2020-05-27 11:39:31 +10:00
libata-portmap.h
linkage.h
livepatch.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
local.h powerpc: Add const qual to local_read() parameter 2019-11-24 15:06:33 -08:00
lppaca.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
lv1call.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
machdep.h powerpc: Remove empty comment 2019-09-05 14:22:41 +10:00
macio.h
mc146818rtc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mce.h powerpc/pseries: Handle UE event for memcpy_mcsafe 2020-03-27 14:59:35 +11:00
mediabay.h
mem_encrypt.h powerpc/pseries/svm: Force SWIOTLB for secure guests 2019-08-30 09:55:41 +10:00
membarrier.h
mm-arch-hooks.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mman.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mmiowb.h arch: Remove dummy mmiowb() definitions from arch code 2019-04-08 12:09:27 +01:00
mmu_context.h powerpc: Use mm_context vas_windows counter to issue CP_ABORT 2020-04-20 16:53:01 +10:00
mmu.h powerpc: Add POWER10 architected mode 2020-06-02 20:59:20 +10:00
mmzone.h
module.h powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
mpc5xxx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
mpc6xx.h
mpc52xx_psc.h
mpc52xx.h powerpc/52xx: Add missing functions prototypes 2018-05-25 12:04:42 +10:00
mpc85xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
mpc5121.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 449 2019-06-05 17:37:18 +02:00
mpc8260.h
mpic_msgr.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
mpic_timer.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mpic.h powerpc/msi: Fix compile error on mpc83xx 2018-10-21 19:32:07 +11:00
msi_bitmap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
nmi.h powerpc/64s: Fix HV NMI vs HV interrupt recoverability test 2019-02-26 23:28:24 +11:00
nvram.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ohare.h
opal-api.h powerpc/powernv: Add explicit fast-reboot support 2020-03-04 22:44:27 +11:00
opal.h powerpc/powernv: Add OPAL API interface to access secure variable 2019-11-13 00:33:22 +11:00
oprofile_impl.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
paca.h powerpc/rtas: Implement reentrant rtas call 2020-06-02 20:59:08 +10:00
page_32.h powerpc/32: Add warning on misaligned copy_page() or clear_page() 2019-08-20 21:22:15 +10:00
page_64.h mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS 2020-04-10 15:36:21 -07:00
page.h powerpc: Remove _ALIGN_UP(), _ALIGN_DOWN() and _ALIGN() 2020-05-11 23:15:16 +10:00
parport.h
pasemi_dma.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
pci-bridge.h powerpc: add an ioremap_phb helper 2020-06-02 10:59:10 -07:00
pci.h powerpc/pci: Remove pcibios_setup_bus_devices() 2020-01-06 16:25:29 +11:00
percpu.h
perf_event_fsl_emb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
perf_event_server.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
perf_event.h powerpc: Rename current_stack_pointer() to current_stack_frame() 2020-03-04 22:44:28 +11:00
pgalloc.h mm: remove quicklist page table caches 2019-09-24 15:54:09 -07:00
pgtable-be-types.h powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES 2019-05-03 01:20:23 +10:00
pgtable-types.h powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES 2019-05-03 01:20:23 +10:00
pgtable.h mm: consolidate pte_index() and pte_offset_*() definitions 2020-06-09 09:39:14 -07:00
pkeys.h mmap locking API: convert mmap_sem comments 2020-06-09 09:39:14 -07:00
plpar_wrappers.h powerpc/ptdump: drop non vital #ifdefs 2019-08-20 21:22:09 +10:00
pmac_feature.h
pmac_low_i2c.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
pmac_pfunc.h powerpc/powermac: Move pmac_pfunc_base_install prototype to header file 2018-05-25 12:04:41 +10:00
pmc.h powerpc/pmu: Set pmcregs_in_use in paca when running as LPAR 2019-07-15 12:41:26 +10:00
pmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
pnv-ocxl.h powerpc: Use the correct style for SPDX License Identifier 2019-07-03 15:19:36 +10:00
pnv-pci.h powerpc/powernv/ioda: Find opencapi slot for a device node 2020-01-23 21:31:17 +11:00
powernv.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
ppc_asm.h powerpc/32s: get rid of CPU_FTR_601 feature 2019-08-28 23:19:33 +10:00
ppc-opcode.h powerpc/64/signal: Balance return predictor stack in signal trampoline 2020-07-15 11:08:27 +10:00
ppc-pci.h powerpc/eeh: Convert log messages to eeh_edev_* macros 2019-08-22 23:12:47 +10:00
ppc4xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02:00
probes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
processor.h powerpc/64s: Don't set FSCR bits in INIT_THREAD 2020-06-02 20:59:18 +10:00
prom.h powerpc: Add POWER10 architected mode 2020-06-02 20:59:20 +10:00
ps3.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
ps3av.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
ps3gpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
ps3stor.h powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
pte-walk.h powerpc/book3s: Use config independent helpers for page table walk 2019-07-05 00:43:50 +10:00
ptrace.h powerpc: Use trap metadata to prevent double restart rather than zeroing trap 2020-05-15 11:58:54 +10:00
reg_8xx.h powerpc/hw_breakpoints: Rewrite 8xx breakpoints to allow any address range size. 2020-01-23 21:31:14 +11:00
reg_a2.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
reg_booke.h powerpc/40x: Remove support for IBM 403GCX 2020-05-28 23:24:35 +10:00
reg_fsl_emb.h powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
reg.h powerpc/dt_cpu_ftrs: Add MMA feature 2020-06-02 20:59:20 +10:00
rheap.h powerpc: Add missing prototype 2018-05-25 12:04:43 +10:00
rio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtas-types.h powerpc/rtas: Move type/struct definitions from rtas.h into rtas-types.h 2020-06-02 20:59:08 +10:00
rtas.h powerpc/rtas: Implement reentrant rtas call 2020-06-02 20:59:08 +10:00
runlatch.h
seccomp.h
sections.h maccess: make get_kernel_nofault() check for minimal type compatibility 2020-06-18 12:10:37 -07:00
secure_boot.h powerpc: Detect the trusted boot state of the system 2019-11-12 12:25:49 +11:00
security_features.h powerpc updates for 5.5 2019-11-30 14:35:43 -08:00
secvar.h powerpc/powernv: Add OPAL API interface to access secure variable 2019-11-13 00:33:22 +11:00
serial.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
setjmp.h powerpc: Make setjmp/longjmp signature standard 2020-04-01 14:30:51 +11:00
setup.h powerpc/fsl: Add nospectre_v2 command line argument 2018-12-20 22:59:03 +11:00
sfp-machine.h powerpc/math-emu: Update macros from GCC 2018-12-04 19:45:01 +11:00
shmparam.h
signal.h powerpc/64/sycall: Implement syscall entry/exit logic in C 2020-04-01 13:42:13 +11:00
slice.h powerpc/8xx: MM_SLICE is not needed anymore 2020-05-26 22:22:21 +10:00
smp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
smu.h
sparsemem.h powerpc/mm: thread pgprot_t through create_section_mapping() 2020-04-10 15:36:21 -07:00
spinlock_types.h
spinlock.h powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +10:00
spu_csa.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
spu_info.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
spu_priv1.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
spu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 153 2019-05-30 11:26:32 -07:00
sstep.h powerpc/watchpoint: Prepare handler to handle more than one watchpoint 2020-05-19 00:14:37 +10:00
stackprotector.h powerpc/64: add stack protector support 2018-10-03 15:40:03 +10:00
stacktrace.h powerpc: Add show_user_instructions() 2018-08-08 00:32:30 +10:00
string.h powerpc/memcpy: Add memcpy_mcsafe for pmem 2019-08-21 22:23:48 +10:00
svm.h powerpc/pseries/svm: Use shared memory for Debug Trace Log (DTL) 2019-08-30 09:55:40 +10:00
swab.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
swiotlb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
switch_to.h powerpc: Use mm_context vas_windows counter to issue CP_ABORT 2020-04-20 16:53:01 +10:00
synch.h powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
syscall.h powerpc: trap_is_syscall() helper to hide syscall trap number 2020-05-15 11:58:54 +10:00
syscalls.h powerpc/syscalls: switch rtas(2) to SYSCALL_DEFINE 2018-05-10 23:25:14 +10:00
task_size_32.h powerpc: Avoid circular header inclusion in mmu-hash.h 2019-02-23 22:31:39 +11:00
task_size_64.h powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES 2019-05-03 01:20:23 +10:00
tce.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
termios.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
thread_info.h powerpc/64: make buildable without CONFIG_COMPAT 2020-04-03 00:10:00 +11:00
time.h powerpc/40x: Remove support for IBM 403GCX 2020-05-28 23:24:35 +10:00
timex.h powerpc/32s: get rid of CPU_FTR_601 feature 2019-08-28 23:19:33 +10:00
tlb.h mm: introduce include/linux/pgtable.h 2020-06-09 09:39:13 -07:00
tlbflush.h powerpc: split asm/tlbflush.h 2018-07-30 22:48:21 +10:00
tm.h powerpc: Export tm_enable()/tm_disable/tm_abort() APIs 2018-05-24 16:04:02 +10:00
topology.h powerpc/numa: Remove late request for home node associativity 2020-03-04 22:44:31 +11:00
trace_clock.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
trace.h powerpc: Add doorbell tracepoints 2019-05-01 16:45:05 +10:00
tsi108_irq.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
tsi108_pci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
tsi108.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
types.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
uaccess.h Merge branch 'topic/uaccess-ppc' into next 2020-05-20 23:37:33 +10:00
udbg.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
uic.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ultravisor-api.h KVM: PPC: Book3S HV: Support reset of secure guest 2019-11-28 17:02:31 +11:00
ultravisor.h KVM: PPC: Book3S HV: Support reset of secure guest 2019-11-28 17:02:31 +11:00
unaligned.h
uninorth.h
unistd.h powerpc: Add back __ARCH_WANT_SYS_LLSEEK macro 2020-04-03 00:09:59 +11:00
uprobes.h powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
user.h powerpc/aout: Fix struct user definition to use user_pt_regs 2018-10-19 15:09:04 +11:00
vas.h crypto/nx: Remove 'pid' in vas_tx_win_attr struct 2020-04-20 16:53:14 +10:00
vdso_datapage.h powerpc/vdso32: Don't read cache line size from the datapage on PPC32. 2020-01-23 21:31:15 +11:00
vdso.h powerpc/vdso: remove deprecated VDS64_HAS_DESCRIPTORS references 2020-03-13 21:13:06 +11:00
vermagic.h arch: split MODULE_ARCH_VERMAGIC definitions out to <asm/vermagic.h> 2020-04-23 10:50:26 +09:00
vga.h
vio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
vmalloc.h mm/vmalloc: Add empty <asm/vmalloc.h> headers and use them from <linux/vmalloc.h> 2019-12-10 10:12:55 +01:00
word-at-a-time.h
xics.h
xive-regs.h powerpc/xive: Enforce load-after-store ordering when StoreEOI is active 2020-05-07 22:58:31 +10:00
xive.h powerpc/xive: Define xive_native_alloc_irq_on_chip() 2020-04-20 16:52:59 +10:00
xmon.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
xor_altivec.h powerpc/altivec: Add missing prototypes for altivec 2018-05-25 12:04:38 +10:00
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00