mirror_ubuntu-kernels/arch/powerpc/include/asm
Michael Ellerman 7ffa8b7dc1 powerpc/64: Don't initialise init_task->thread.regs
Aneesh increased the size of struct pt_regs by 16 bytes and started
seeing this WARN_ON:

  smp: Bringing up secondary CPUs ...
  ------------[ cut here ]------------
  WARNING: CPU: 0 PID: 0 at arch/powerpc/kernel/process.c:455 giveup_all+0xb4/0x110
  Modules linked in:
  CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.7.0-rc2-gcc-8.2.0-1.g8f6a41f-default+ #318
  NIP:  c00000000001a2b4 LR: c00000000001a29c CTR: c0000000031d0000
  REGS: c0000000026d3980 TRAP: 0700   Not tainted  (5.7.0-rc2-gcc-8.2.0-1.g8f6a41f-default+)
  MSR:  800000000282b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE>  CR: 48048224  XER: 00000000
  CFAR: c000000000019cc8 IRQMASK: 1
  GPR00: c00000000001a264 c0000000026d3c20 c0000000026d7200 800000000280b033
  GPR04: 0000000000000001 0000000000000000 0000000000000077 30206d7372203164
  GPR08: 0000000000002000 0000000002002000 800000000280b033 3230303030303030
  GPR12: 0000000000008800 c0000000031d0000 0000000000800050 0000000002000066
  GPR16: 000000000309a1a0 000000000309a4b0 000000000309a2d8 000000000309a890
  GPR20: 00000000030d0098 c00000000264da40 00000000fd620000 c0000000ff798080
  GPR24: c00000000264edf0 c0000001007469f0 00000000fd620000 c0000000020e5e90
  GPR28: c00000000264edf0 c00000000264d200 000000001db60000 c00000000264d200
  NIP [c00000000001a2b4] giveup_all+0xb4/0x110
  LR [c00000000001a29c] giveup_all+0x9c/0x110
  Call Trace:
  [c0000000026d3c20] [c00000000001a264] giveup_all+0x64/0x110 (unreliable)
  [c0000000026d3c90] [c00000000001ae34] __switch_to+0x104/0x480
  [c0000000026d3cf0] [c000000000e0b8a0] __schedule+0x320/0x970
  [c0000000026d3dd0] [c000000000e0c518] schedule_idle+0x38/0x70
  [c0000000026d3df0] [c00000000019c7c8] do_idle+0x248/0x3f0
  [c0000000026d3e70] [c00000000019cbb8] cpu_startup_entry+0x38/0x40
  [c0000000026d3ea0] [c000000000011bb0] rest_init+0xe0/0xf8
  [c0000000026d3ed0] [c000000002004820] start_kernel+0x990/0x9e0
  [c0000000026d3f90] [c00000000000c49c] start_here_common+0x1c/0x400

Which was unexpected. The warning is checking the thread.regs->msr
value of the task we are switching from:

  usermsr = tsk->thread.regs->msr;
  ...
  WARN_ON((usermsr & MSR_VSX) && !((usermsr & MSR_FP) && (usermsr & MSR_VEC)));

ie. if MSR_VSX is set then both of MSR_FP and MSR_VEC are also set.

Dumping tsk->thread.regs->msr we see that it's: 0x1db60000

Which is not a normal looking MSR, in fact the only valid bit is
MSR_VSX, all the other bits are reserved in the current definition of
the MSR.

We can see from the oops that it was swapper/0 that we were switching
from when we hit the warning, ie. init_task. So its thread.regs points
to the base (high addresses) in init_stack.

Dumping the content of init_task->thread.regs, with the members of
pt_regs annotated (the 16 bytes larger version), we see:

  0000000000000000 c000000002780080    gpr[0]     gpr[1]
  0000000000000000 c000000002666008    gpr[2]     gpr[3]
  c0000000026d3ed0 0000000000000078    gpr[4]     gpr[5]
  c000000000011b68 c000000002780080    gpr[6]     gpr[7]
  0000000000000000 0000000000000000    gpr[8]     gpr[9]
  c0000000026d3f90 0000800000002200    gpr[10]    gpr[11]
  c000000002004820 c0000000026d7200    gpr[12]    gpr[13]
  000000001db60000 c0000000010aabe8    gpr[14]    gpr[15]
  c0000000010aabe8 c0000000010aabe8    gpr[16]    gpr[17]
  c00000000294d598 0000000000000000    gpr[18]    gpr[19]
  0000000000000000 0000000000001ff8    gpr[20]    gpr[21]
  0000000000000000 c00000000206d608    gpr[22]    gpr[23]
  c00000000278e0cc 0000000000000000    gpr[24]    gpr[25]
  000000002fff0000 c000000000000000    gpr[26]    gpr[27]
  0000000002000000 0000000000000028    gpr[28]    gpr[29]
  000000001db60000 0000000004750000    gpr[30]    gpr[31]
  0000000002000000 000000001db60000    nip        msr
  0000000000000000 0000000000000000    orig_r3    ctr
  c00000000000c49c 0000000000000000    link       xer
  0000000000000000 0000000000000000    ccr        softe
  0000000000000000 0000000000000000    trap       dar
  0000000000000000 0000000000000000    dsisr      result
  0000000000000000 0000000000000000    ppr        kuap
  0000000000000000 0000000000000000    pad[2]     pad[3]

This looks suspiciously like stack frames, not a pt_regs. If we look
closely we can see return addresses from the stack trace above,
c000000002004820 (start_kernel) and c00000000000c49c (start_here_common).

init_task->thread.regs is setup at build time in processor.h:

  #define INIT_THREAD  { \
  	.ksp = INIT_SP, \
  	.regs = (struct pt_regs *)INIT_SP - 1, /* XXX bogus, I think */ \

The early boot code where we setup the initial stack is:

  LOAD_REG_ADDR(r3,init_thread_union)

  /* set up a stack pointer */
  LOAD_REG_IMMEDIATE(r1,THREAD_SIZE)
  add	r1,r3,r1
  li	r0,0
  stdu	r0,-STACK_FRAME_OVERHEAD(r1)

Which creates a stack frame of size 112 bytes (STACK_FRAME_OVERHEAD).
Which is far too small to contain a pt_regs.

So the result is init_task->thread.regs is pointing at some stack
frames on the init stack, not at a pt_regs.

We have gotten away with this for so long because with pt_regs at its
current size the MSR happens to point into the first frame, at a
location that is not written to by the early asm. With the 16 byte
expansion the MSR falls into the second frame, which is used by the
compiler, and collides with a saved register that tends to be
non-zero.

As far as I can see this has been wrong since the original merge of
64-bit ppc support, back in 2002.

Conceptually swapper should have no regs, it never entered from
userspace, and in fact that's what we do on 32-bit. It's also
presumably what the "bogus" comment is referring to.

So I think the right fix is to just not-initialise regs at all. I'm
slightly worried this will break some code that isn't prepared for a
NULL regs, but we'll have to see.

Remove the comment in head_64.S which refers to us setting up the
regs (even though we never did), and is otherwise not really accurate
any more.

Reported-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200428123130.73078-1-mpe@ellerman.id.au
2020-05-15 11:58:54 +10:00
..
book3s powerpc: Replace _ALIGN() by ALIGN() 2020-05-11 23:15:16 +10:00
nohash powerpc: Replace _ALIGN() by ALIGN() 2020-05-11 23:15:16 +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-405.h powerpc/405: move PPC405_ERR77 in asm-405.h 2018-07-30 22:48:13 +10: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 locking/atomic, powerpc: Use s64 for atomic64 2019-06-03 12:32:56 +02:00
backlight.h
barrier.h powerpc: Remove comment about read_barrier_depends() 2020-01-24 10:33:52 -08:00
bitops.h powerpc: support KASAN instrumentation of bitops 2019-11-07 13:15:40 +11: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: Prefer __section and __printf from compiler_attributes.h 2020-03-27 00:16:32 +11:00
cacheflush.h powerpc/64: Avoid isync in flush_dcache_range() 2020-03-27 17:37:07 +11: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: move ASM_CONST and stringify_in_c() into asm-const.h 2018-07-30 22:48:16 +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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07: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
cpm1.h
cpm2.h
cpm.h soc: fsl: move cpm.h from powerpc/include/asm to include/soc/fsl 2019-12-09 13:54:34 -06:00
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/mm: Remove kvm radix prefetch workaround for Power9 DD2.2 2020-01-26 00:11:37 +11: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: declare set_breakpoint() static 2018-07-30 22:48:18 +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/pseries: Avoid NULL pointer dereference when drmem is unavailable 2020-02-19 22:46:11 +11: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 powerpc/epapr: Move register keyword at the beginning of declaration 2018-03-13 15:50:32 +11:00
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/iommu: Separate FW_FEATURE_MULTITCE to put/stuff features 2020-01-06 16:25:30 +11:00
fixmap.h powerpc/83xx: map IMMR with a BAT. 2019-11-19 19:38:38 +11:00
floppy.h
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/ftrace: Enable HAVE_FUNCTION_GRAPH_RET_ADDR_PTR 2019-09-18 12:24:55 +10:00
futex.h futex: arch_futex_atomic_op_inuser() calling conventions change 2020-03-27 23:58:51 -04: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 powerpc: remove unnecessary inclusion of asm/tlbflush.h 2018-07-30 22:48:20 +10:00
hmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
hugetlb.h powerpc/mm: move FSL_BOOK3 version of update_mmu_cache() 2019-08-20 21:22:14 +10: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 powerpc/hw_breakpoints: Rewrite 8xx breakpoints to allow any address range size. 2020-01-23 21:31:14 +11:00
hw_irq.h powerpc/64s: Implement interrupt exit logic in C 2020-04-01 13:42:14 +11: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
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 remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01: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 powerpc: Add missing prototype for arch_irq_work_raise() 2018-03-13 15:50:37 +11:00
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/32: Add support of KASAN_VMALLOC 2020-01-27 22:37:33 +11: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
kup.h powerpc: Implement user_access_save() and user_access_restore() 2020-01-28 23:14:44 +11: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/kvm/book3s: Use pte_present instead of opencoding _PAGE_PRESENT check 2020-05-05 21:20:16 +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 powerpc/kvm/book3s: Use kvm helpers to walk shadow or secondary table 2020-05-05 21:20:15 +10: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 powerpc updates for 5.7 2020-04-05 11:12:59 -07: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: Book3S HV: Add a capability for enabling secure guests 2020-03-26 11:09:04 +11: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 membarrier: Provide GLOBAL_EXPEDITED command 2018-02-05 21:34:31 +01:00
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/pkeys: Avoid using lockless page table walk 2020-05-05 21:20:13 +10:00
mmzone.h
module.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -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 updates for 5.3 2019-07-13 16:08:36 -07: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/pcidn: Make VF pci_dn management CONFIG_PCI_IOV specific 2020-01-23 21:31:19 +11: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 powerpc/32: Fix missing NULL pmd check in virt_to_kpte() 2020-03-13 21:13:05 +11:00
pkeys.h powerpc/pkeys: make protection key 0 less special 2018-07-24 21:43:24 +10: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
ppc4xx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 40 2019-05-24 17:27:12 +02: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 updates for 5.3 2019-07-13 16:08:36 -07:00
ppc-pci.h powerpc/eeh: Convert log messages to eeh_edev_* macros 2019-08-22 23:12:47 +10:00
probes.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
processor.h powerpc/64: Don't initialise init_task->thread.regs 2020-05-15 11:58:54 +10:00
prom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
reg_fsl_emb.h powerpc: clean the inclusion of stringify.h 2018-07-30 22:48:17 +10:00
reg.h powerpc: Add current_stack_pointer as a register global 2020-03-04 22:44:28 +11: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.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
runlatch.h
seccomp.h
sections.h powerpc: Define arch_is_kernel_initmem_freed() for lockdep 2019-11-27 18:41:26 +11: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/mm: define get_slice_psize() all the time 2019-05-03 01:20:23 +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/spinlocks: Include correct header for static key 2019-12-30 21:20:41 +11: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07: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/64/sycall: Implement syscall entry/exit logic in C 2020-04-01 13:42:13 +11:00
timex.h powerpc/32s: get rid of CPU_FTR_601 feature 2019-08-28 23:19:33 +10:00
tlb.h mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush 2020-02-04 03:05:26 +00: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 powerpc: Implement user_access_save() and user_access_restore() 2020-01-28 23:14:44 +11: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07: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
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
xilinx_intc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
xilinx_pci.h
xive-regs.h powerpc/xive: Discard ESB load value when interrupt is invalid 2020-01-22 20:31:41 +11: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