linux/arch/powerpc/include/asm
Christophe Leroy ef486bf448 powerpc/32s: Fix random crashes by adding isync() after locking/unlocking KUEP
Commit b5efec00b6 ("powerpc/32s: Move KUEP locking/unlocking in C")
removed the 'isync' instruction after adding/removing NX bit in user
segments. The reasoning behind this change was that when setting the
NX bit we don't mind it taking effect with delay as the kernel never
executes text from userspace, and when clearing the NX bit this is
to return to userspace and then the 'rfi' should synchronise the
context.

However, it looks like on book3s/32 having a hash page table, at least
on the G3 processor, we get an unexpected fault from userspace, then
this is followed by something wrong in the verification of MSR_PR
at end of another interrupt.

This is fixed by adding back the removed isync() following update
of NX bit in user segment registers. Only do it for cores with an
hash table, as 603 cores don't exhibit that problem and the two isync
increase ./null_syscall selftest by 6 cycles on an MPC 832x.

First problem: unexpected WARN_ON() for mysterious PROTFAULT

  WARNING: CPU: 0 PID: 1660 at arch/powerpc/mm/fault.c:354 do_page_fault+0x6c/0x5b0
  Modules linked in:
  CPU: 0 PID: 1660 Comm: Xorg Not tainted 5.13.0-pmac-00028-gb3c15b60339a #40
  NIP:  c001b5c8 LR: c001b6f8 CTR: 00000000
  REGS: e2d09e40 TRAP: 0700   Not tainted  (5.13.0-pmac-00028-gb3c15b60339a)
  MSR:  00021032 <ME,IR,DR,RI>  CR: 42d04f30  XER: 20000000
  GPR00: c000424c e2d09f00 c301b680 e2d09f40 0000001e 42000000 00cba028 00000000
  GPR08: 08000000 48000010 c301b680 e2d09f30 22d09f30 00c1fff0 00cba000 a7b7ba4c
  GPR16: 00000031 00000000 00000000 00000000 00000000 00000000 a7b7b0d0 00c5c010
  GPR24: a7b7b64c a7b7d2f0 00000004 00000000 c1efa6c0 00cba02c 00000300 e2d09f40
  NIP [c001b5c8] do_page_fault+0x6c/0x5b0
  LR [c001b6f8] do_page_fault+0x19c/0x5b0
  Call Trace:
  [e2d09f00] [e2d09f04] 0xe2d09f04 (unreliable)
  [e2d09f30] [c000424c] DataAccess_virt+0xd4/0xe4
  --- interrupt: 300 at 0xa7a261dc
  NIP:  a7a261dc LR: a7a253bc CTR: 00000000
  REGS: e2d09f40 TRAP: 0300   Not tainted  (5.13.0-pmac-00028-gb3c15b60339a)
  MSR:  0000d032 <EE,PR,ME,IR,DR,RI>  CR: 228428e2  XER: 20000000
  DAR: 00cba02c DSISR: 42000000
  GPR00: a7a27448 afa6b0e0 a74c35c0 a7b7b614 0000001e a7b7b614 00cba028 00000000
  GPR08: 00020fd9 00000031 00cb9ff8 a7a273b0 220028e2 00c1fff0 00cba000 a7b7ba4c
  GPR16: 00000031 00000000 00000000 00000000 00000000 00000000 a7b7b0d0 00c5c010
  GPR24: a7b7b64c a7b7d2f0 00000004 00000002 0000001e a7b7b614 a7b7aff4 00000030
  NIP [a7a261dc] 0xa7a261dc
  LR [a7a253bc] 0xa7a253bc
  --- interrupt: 300
  Instruction dump:
  7c4a1378 810300a0 75278410 83820298 83a300a4 553b018c 551e0036 4082038c
  2e1b0000 40920228 75280800 41820220 <0fe00000> 3b600000 41920214 81420594

Second problem: MSR PR is seen unset allthough the interrupt frame shows it set

  kernel BUG at arch/powerpc/kernel/interrupt.c:458!
  Oops: Exception in kernel mode, sig: 5 [#1]
  BE PAGE_SIZE=4K MMU=Hash SMP NR_CPUS=2 PowerMac
  Modules linked in:
  CPU: 0 PID: 1660 Comm: Xorg Tainted: G        W         5.13.0-pmac-00028-gb3c15b60339a #40
  NIP:  c0011434 LR: c001629c CTR: 00000000
  REGS: e2d09e70 TRAP: 0700   Tainted: G        W          (5.13.0-pmac-00028-gb3c15b60339a)
  MSR:  00029032 <EE,ME,IR,DR,RI>  CR: 42d09f30  XER: 00000000
  GPR00: 00000000 e2d09f30 c301b680 e2d09f40 83440000 c44d0e68 e2d09e8c 00000000
  GPR08: 00000002 00dc228a 00004000 e2d09f30 22d09f30 00c1fff0 afa6ceb4 00c26144
  GPR16: 00c25fb8 00c26140 afa6ceb8 90000000 00c944d8 0000001c 00000000 00200000
  GPR24: 00000000 000001fb afa6d1b4 00000001 00000000 a539a2a0 a530fd80 00000089
  NIP [c0011434] interrupt_exit_kernel_prepare+0x10/0x70
  LR [c001629c] interrupt_return+0x9c/0x144
  Call Trace:
  [e2d09f30] [c000424c] DataAccess_virt+0xd4/0xe4 (unreliable)
  --- interrupt: 300 at 0xa09be008
  NIP:  a09be008 LR: a09bdfe8 CTR: a09bdfc0
  REGS: e2d09f40 TRAP: 0300   Tainted: G        W          (5.13.0-pmac-00028-gb3c15b60339a)
  MSR:  0000d032 <EE,PR,ME,IR,DR,RI>  CR: 420028e2  XER: 20000000
  DAR: a539a308 DSISR: 0a000000
  GPR00: a7b90d50 afa6b2d0 a74c35c0 a0a8b690 a0a8b698 a5365d70 a4fa82a8 00000004
  GPR08: 00000000 a09bdfc0 00000000 a5360000 a09bde7c 00c1fff0 afa6ceb4 00c26144
  GPR16: 00c25fb8 00c26140 afa6ceb8 90000000 00c944d8 0000001c 00000000 00200000
  GPR24: 00000000 000001fb afa6d1b4 00000001 00000000 a539a2a0 a530fd80 00000089
  NIP [a09be008] 0xa09be008
  LR [a09bdfe8] 0xa09bdfe8
  --- interrupt: 300
  Instruction dump:
  80010024 83e1001c 7c0803a6 4bffff80 3bc00800 4bffffd0 486b42fd 4bffffcc
  81430084 71480002 41820038 554a0462 <0f0a0000> 80620060 74630001 40820034

Fixes: b5efec00b6 ("powerpc/32s: Move KUEP locking/unlocking in C")
Cc: stable@vger.kernel.org # v5.13+
Reported-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/4856f5574906e2aec0522be17bf3848a22b2cd0b.1629269345.git.christophe.leroy@csgroup.eu
2021-08-19 09:41:54 +10:00
..
book3s powerpc/32s: Fix random crashes by adding isync() after locking/unlocking KUEP 2021-08-19 09:41:54 +10:00
nohash mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t * 2021-07-08 11:48:22 -07:00
vdso powerpc/vdso: Add support for time namespaces 2021-04-14 23:04:44 +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
asm-const.h powerpc/uaccess: Don't use "m<>" constraint with GCC 4.9 2020-10-22 14:26:09 +11:00
asm-offsets.h
asm-prototypes.h powerpc/64: use interrupt restart table to speed up return from interrupt 2021-06-25 00:06:56 +10: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: move to ARCH_ATOMIC 2021-05-26 13:20:52 +02:00
backlight.h
barrier.h powerpc/barrier: Avoid collision with clang's __lwsync macro 2021-06-10 21:44:57 +10:00
bitops.h powerpc/bitops: Fix possible undefined behaviour with fls() and fls64() 2020-11-19 14:50:13 +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: clean up do_page_fault 2021-04-14 23:04:44 +10:00
bugs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
cache.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cacheflush.h powerpc/mem: Inline flush_dcache_page() 2021-04-14 23:04:19 +10: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 powerpc: Force inlining of csum_add() 2021-06-16 00:16:47 +10:00
clocksource.h powerpc/vdso: Prepare for switching VDSO to generic C implementation. 2020-12-04 01:01:10 +11:00
cmpxchg.h locking/atomic: powerpc: move to ARCH_ATOMIC 2021-05-26 13:20:52 +02:00
code-patching-asm.h
code-patching.h powerpc: Don't use 'struct ppc_inst' to reference instruction location 2021-06-17 00:09:00 +10:00
compat.h compat: lift compat_s64 and compat_u64 to <asm-generic/compat.h> 2020-09-17 13:00:46 -04: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 powerpc/8xx: Fix early debug when SMC1 is relocated 2020-12-09 17:00:54 +11:00
cpm2.h powerpc: Spelling/typo fixes 2021-04-08 21:17:42 +10:00
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 powerpc: Force inlining of cpu_has_feature() to avoid build failure 2021-03-14 20:32:24 +11:00
cpu_setup_power.h powerpc/64s: Convert some cpu_setup() and cpu_restore() functions to C 2020-11-19 14:49:56 +11:00
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 arch: powerpc: Stop building and using oprofile 2021-01-29 10:05:51 +05:30
cputhreads.h KVM: PPC: Book3S HV: Fix TLB management on SMT8 POWER9 and POWER10 processors 2021-06-21 09:22:34 +10:00
cputime.h powerpc/64: move account_stolen_time into its own function 2021-02-09 00:10:49 +11:00
crashdump-ppc64.h powerpc/kexec_file: Setup backup region for kdump kernel 2020-07-29 23:47:54 +10:00
current.h powerpc/64: allow compiler to cache 'current' 2019-08-20 21:22:15 +10:00
dbdma.h
dbell.h powerpc: Inline doorbell sending functions 2020-07-29 21:02:09 +10: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 powerpc/4xx: Fix build errors from mfdcr() 2021-03-01 12:33:31 +11: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: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +11:00
debugfs.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
delay.h powerpc/time: Avoid using get_tbl() and get_tbu() internally 2020-10-08 21:17:15 +11:00
device.h IOMMU Updates for Linux v5.9 2020-08-11 14:13:24 -07:00
disassemble.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
dma-direct.h dma-direct: rename and cleanup __phys_to_dma 2020-09-11 09:14:43 +02:00
dma.h powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
drmem.h powerpc/drmem: Make lmb_size 64 bit 2020-10-08 12:50:52 +11:00
dt_cpu_ftrs.h
dtl.h powerpc64: Break asm/percpu.h vs spinlock_types.h dependency 2020-07-10 12:00:01 +02: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: Delete eeh_pe->config_addr 2020-10-07 22:34:47 +11:00
ehv_pic.h
elf.h powerpc: Remove ucache_bsize 2020-12-05 21:49:52 +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_hcalls.h: delete duplicated words 2020-07-27 00:01:31 +10:00
exception-64e.h powerpc/64e: Drop dead BOOK3E_MMU_TLB_STATS code 2020-07-29 21:08:12 +10:00
exception-64s.h KVM: PPC: Book3S 64: Move hcall early register setup to KVM 2021-06-10 22:12:12 +10: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 powerpc/64s: fix scv entry fallback flush vs interrupt 2021-01-20 15:58:19 +11:00
firmware.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
fixmap.h powerpc/64: Fix the definition of the fixmap area 2021-04-22 20:59:15 +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 iommu/fsl_pamu: replace DOMAIN_ATTR_FSL_PAMU_STASH with a direct call 2021-04-07 10:56:52 +02:00
fsl_pm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ftrace.h tracing: Fix various typos in comments 2021-03-23 14:08:18 -04:00
futex.h powerpc/futex: Switch to user_access block 2021-03-26 23:19:43 +11:00
grackle.h
hardirq.h powerpc/64s: Move HMI IRQ stat from percpu variable to paca. 2020-07-29 23:47:53 +10:00
head-64.h powerpc/64: move interrupt return asm to interrupt_64.S 2021-06-25 00:06:55 +10:00
heathrow.h
highmem.h powerpc/mm/highmem: use __set_pte_at() for kmap_local() 2021-01-24 10:34:53 -08:00
hmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 114 2019-05-24 17:39:01 +02:00
hugetlb.h powerpc/mm: Enable compound page check for both THP and HugeTLB 2021-02-11 23:35:06 +11:00
hvcall.h Merge branch 'topic/ppc-kvm' into next 2021-06-23 00:19:08 +10:00
hvconsole.h powerpc/pseries: Move hvc_vio_init_early() prototype to shared location 2021-03-24 14:09:30 +11:00
hvcserver.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
hvsi.h
hw_breakpoint.h powerpc/watchpoint: Fix exception handling for CONFIG_HAVE_HW_BREAKPOINT=N 2020-09-15 22:13:20 +10:00
hw_irq.h powerpc/64: use interrupt restart table to speed up return from interrupt 2021-06-25 00:06:56 +10:00
hydra.h powerpc/chrp: Make hydra_init() static 2021-03-24 14:09:29 +11:00
i8259.h
ibmebus.h
icswx.h powerpc/nx: Don't pack struct coprocessor_request_block 2020-08-25 01:31:33 +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
imc-pmu.h powerpc/perf: Add kernel support for new MSR[HV PR] bits in trace-imc 2020-07-16 13:12:46 +10:00
immap_cpm2.h
inst.h powerpc/inst: Refactor PPC32 and PPC64 versions 2021-06-17 00:09:06 +10:00
interrupt.h powerpc/interrupt: Fix OOPS by not calling do_IRQ() from timer_interrupt() 2021-08-12 22:21: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: remove xlate_dev_kmem_ptr() 2021-05-07 00:26:34 -07:00
iommu.h dma-mapping: split <linux/dma-mapping.h> 2020-10-06 07:07:03 +02: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 powerpc/interrupt: Fix OOPS by not calling do_IRQ() from timer_interrupt() 2021-08-12 22:21:57 +10:00
irqflags.h
isa-bridge.h
jump_label.h powerpc: Fix initrd corruption with relative jump labels 2021-06-15 23:35:57 +10:00
kasan.h powerpc/kasan: Fix shadow start address with modules 2021-04-25 21:29:04 +10:00
Kbuild powerpc/syscalls: switch to generic syscalltbl.sh 2021-04-14 23:04:16 +10:00
kdebug.h
kdump.h
kexec_ranges.h powerpc/kexec_file: Avoid stomping memory used by special regions 2020-07-29 23:47:53 +10:00
kexec.h powerpc/kexec_file: Restore FDT size estimation for kdump kernel 2021-03-11 09:53:38 -07:00
keylargo.h
kfence.h powerpc: Enable KFENCE for PPC32 2021-03-24 14:09:30 +11:00
kgdb.h
kprobes.h powerpc: Add prefixed instructions to instruction data type 2020-05-19 00:10:39 +10:00
kup.h powerpc/kuap: Force inlining of all first level KUAP helpers. 2021-06-17 00:09:09 +10:00
kvm_asm.h KVM: PPC: Book3S HV P9: implement hash host / hash guest support 2021-06-10 22:12:15 +10: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 KVM: PPC: Book3S HV P9: inline kvmhv_load_hv_regs_and_go into __kvmhv_vcpu_entry_p9 2021-06-10 22:12:13 +10:00
kvm_book3s_asm.h KVM: PPC: Book3S HV: Remove support for running HPT guest on RPT host without mixed mode support 2021-02-10 14:31:08 +11:00
kvm_book3s_uvmem.h KVM: PPC: Book3S HV: Migrate hot plugged memory 2020-07-28 12:34:52 +10:00
kvm_book3s.h KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE 2021-06-22 23:35:37 +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 powerpc: Inline doorbell sending functions 2020-07-29 21:02:09 +10:00
kvm_fpu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
kvm_guest.h powerpc: Fix is_kvm_guest() / kvm_para_available() 2021-06-25 14:47:19 +10:00
kvm_host.h KVM: stats: Separate generic stats from architecture specific ones 2021-06-24 11:47:56 -04:00
kvm_para.h powerpc: Reintroduce is_kvm_guest() as a fast-path check 2020-12-04 01:01:22 +11:00
kvm_ppc.h KVM: PPC: Book3S HV: Remove virt mode checks from real mode handlers 2021-06-10 22:12:14 +10:00
libata-portmap.h
linkage.h
livepatch.h powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
local.h powerpc: Add const qual to local_read() parameter 2019-11-24 15:06:33 -08:00
lppaca.h powerpc64: Break asm/percpu.h vs spinlock_types.h dependency 2020-07-10 12:00:01 +02:00
lv1call.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 167 2019-05-30 11:26:39 -07:00
machdep.h powerpc/pci: Add ppc_md.discover_phbs() 2021-02-03 09:46:36 +11: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/mce: Remove per cpu variables from MCE handlers 2021-01-31 22:35:49 +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
mman.h powerpc/64s: Disallow PROT_SAO in LPARs by default 2020-08-24 14:12:54 +10:00
mmiowb.h arch: Remove dummy mmiowb() definitions from arch code 2019-04-08 12:09:27 +01:00
mmu_context.h Merge branch 'topic/ppc-kvm' into next 2021-06-23 00:19:08 +10:00
mmu.h powerpc/modules: Make module_alloc() Strict Module RWX aware 2021-06-21 21:13:20 +10:00
mmzone.h mm: replace CONFIG_NEED_MULTIPLE_NODES with CONFIG_NUMA 2021-06-29 10:53:55 -07:00
module.h powerpc updates for 5.8 2020-06-05 12:39:30 -07:00
module.lds.h kbuild: preprocess module linker script 2020-09-25 00:36:41 +09: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
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
msi_bitmap.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
nmi.h powerpc: convert interrupt handlers to use wrappers 2021-02-09 00:02:12 +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/xive: Remove P9 DD1 flag XIVE_IRQ_FLAG_EOI_FW 2020-12-11 09:53:10 +11:00
opal.h powerpc/powernv: remove the nvlink support 2021-05-02 23:35:32 +10:00
paca.h powerpc/64: use interrupt restart table to speed up return from interrupt 2021-06-25 00:06:56 +10:00
page_32.h powerpc/32s: Cleanup around PTE_FLAGS_OFFSET in hash_low.S 2020-12-09 23:48:14 +11: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/32: Set user/kernel boundary at TASK_SIZE instead of PAGE_OFFSET 2020-07-27 00:01:30 +10:00
paravirt.h powerpc/pseries: Fix hcall tracing recursion in pv queued spinlocks 2021-05-12 11:07:38 +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/powernv: remove the nvlink support 2021-05-02 23:35:32 +10:00
pci.h powerpc/powernv: remove the nvlink support 2021-05-02 23:35:32 +10:00
percpu.h powerpc: Fix circular dependency between percpu.h and mmu.h 2020-08-04 23:15:59 +10:00
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 powerpc/perf: Expose processor pipeline stage cycles using PERF_SAMPLE_WEIGHT_STRUCT 2021-04-20 14:22:23 +10:00
perf_event.h powerpc/perf: Expose Performance Monitor Counter SPR's as part of extended regs 2021-02-09 01:09:44 +11:00
pgalloc.h mm/thp: define default pmd_pgtable() 2021-07-01 11:06:03 -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 updates for 5.14 2021-07-02 12:54:34 -07:00
pkeys.h powerpc/pkeys: Remove unused code 2021-02-09 01:09:44 +11:00
plpar_wrappers.h powerpc/pseries: use notrace hcall variant for H_CEDE idle 2021-05-12 11:07:38 +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
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 ocxl: Initiate a TLB invalidate command 2020-12-04 01:01:30 +11: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/64s: add a table of implicit soft-masked addresses 2021-06-30 22:21:20 +10:00
ppc-opcode.h powerpc/optprobes: use PPC_RAW_ macros 2021-06-17 00:09:07 +10:00
ppc-pci.h powerpc/pci: Remove unimplemented prototypes 2021-02-11 23:35:36 +11:00
probes.h powerpc/64s: avoid reloading (H)SRR registers if they are still valid 2021-06-25 00:06:55 +10:00
processor.h powerpc/64: drop redundant defination of spin_until_cond 2021-06-17 00:09:11 +10:00
prom.h powerpc: Add POWER10 architected mode 2020-06-02 20:59:20 +10:00
ps3.h powerpc/ps3: Add dma_mask to ps3_dma_region 2021-06-10 21:44:58 +10: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: Fix reverse map real-mode address lookup with huge vmalloc 2021-05-28 22:54:27 +10:00
ptrace.h powerpc/32: Fix critical and debug interrupts on BOOKE 2021-08-07 08:53:59 +10:00
qspinlock_paravirt.h powerpc/pseries: Implement paravirt qspinlocks for SPLPAR 2020-07-27 00:01:29 +10:00
qspinlock.h locking/atomic: powerpc: move to ARCH_ATOMIC 2021-05-26 13:20:52 +02: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/32: Handle bookE debugging in C in syscall entry/exit 2021-02-11 23:35:12 +11:00
reg_fsl_emb.h
reg.h powerpc: Move update_power8_hid0() into its only user 2021-06-17 00:09:11 +10:00
rheap.h
rio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
rtas-types.h powerpc/rtas: remove unused rtas_suspend_me_data 2020-12-08 21:41:02 +11:00
rtas.h powerpc/rtas: rename RTAS_RMOBUF_MAX to RTAS_USER_REGION_SIZE 2021-04-14 23:04:16 +10:00
runlatch.h
seccomp.h powerpc: Enable seccomp architecture tracking 2020-11-20 11:16:35 -08:00
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/security: Add a security feature for STF barrier 2021-06-21 21:13:19 +10: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
set_memory.h powerpc/mm: implement set_memory_attr() 2021-06-21 21:13:21 +10:00
setjmp.h powerpc: Make setjmp/longjmp signature standard 2020-04-01 14:30:51 +11:00
setup.h powerpc: Remove klimit 2021-06-25 00:07:10 +10:00
sfp-machine.h
shmparam.h
signal.h powerpc/64/sycall: Implement syscall entry/exit logic in C 2020-04-01 13:42:13 +11:00
simple_spinlock_types.h powerpc: Move spinlock implementation to simple_spinlock 2020-07-26 23:34:26 +10:00
simple_spinlock.h powerpc/spinlock: Unserialize spin_is_locked 2021-03-26 23:19:43 +11:00
slice.h powerpc/8xx: MM_SLICE is not needed anymore 2020-05-26 22:22:21 +10:00
smp.h powerpc/smp: Cache CPU to chip lookup 2021-04-17 10:40:51 +10:00
smu.h powerpc/smu.h: delete duplicated word 2020-07-27 00:01:32 +10:00
sparsemem.h mm: fix phys_to_target_node() and memory_add_physaddr_to_nid() exports 2020-11-22 10:48:22 -08:00
spinlock_types.h powerpc/64s: Implement queued spinlocks and rwlocks 2020-07-27 00:01:23 +10:00
spinlock.h powerpc/spinlock: Define smp_mb__after_spinlock only once 2021-03-26 23:19:43 +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 arch: powerpc: Stop building and using oprofile 2021-01-29 10:05:51 +05:30
sstep.h powerpc/kprobes: Roll IS_RFI() macro into IS_RFID() 2021-06-25 14:47:18 +10:00
stackprotector.h
stacktrace.h
string.h x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}() 2020-10-06 11:18:04 +02:00
svm.h powerpc/pseries/svm: Allocate SWIOTLB buffer anywhere in memory 2020-09-14 23:07:14 +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: Fix missing declaration of [en/dis]able_kernel_vsx() 2021-03-10 11:15:00 +11:00
synch.h powerpc/64s: Add cp_abort after tlbiel to invalidate copy-buffer address 2020-10-06 23:22:23 +11:00
syscall.h powerpc/64s/syscall: Fix ptrace syscall info with scv syscalls 2021-05-21 00:58:56 +10:00
syscalls.h
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/64s: power4 nap fixup in C 2021-04-08 21:17:45 +10:00
time.h KVM: PPC: Book3S HV P9: Reduce irq_work vs guest decrementer races 2021-06-10 22:12:13 +10:00
timex.h powerpc/time: Move timebase functions into new asm/vdso/timebase.h 2020-12-04 01:01:10 +11:00
tlb.h mm/mremap: allow arch runtime override 2021-07-08 11:48:23 -07:00
tlbflush.h
tm.h
topology.h Revert "powerpc/topology: Update topology_core_cpumask" 2021-04-17 10:40:51 +10: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/uaccess: Fix __get_user() with CONFIG_CC_HAS_ASM_GOTO_OUTPUT 2021-05-12 11:07:39 +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
uninorth.h
unistd.h powerpc/syscalls: Use sys_old_select() in ppc_select() 2021-03-26 23:19:42 +11:00
uprobes.h powerpc: Don't use 'struct ppc_inst' to reference instruction location 2021-06-17 00:09:00 +10:00
user.h
vas.h powerpc/pseries/vas: Integrate API with open/close windows 2021-06-20 21:58:57 +10:00
vdso_datapage.h powerpc/vdso: Add support for time namespaces 2021-04-14 23:04:44 +10:00
vdso.h powerpc/vdso: Cleanup vdso.h 2020-12-04 01:01:19 +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 powerpc/pseries: Add shutdown() to vio_driver and vio_bus 2021-04-20 14:22:24 +10:00
vmalloc.h mm/vmalloc: provide fallback arch huge vmap support functions 2021-04-30 11:20:40 -07:00
word-at-a-time.h
xics.h powerpc/xics: Add a native ICS backend for microwatt 2021-06-21 21:15:58 +10:00
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: Simplify the dump of XIVE interrupts under xmon 2021-04-14 23:04:14 +10:00
xmon.h powerpc: remove unneeded semicolons 2021-02-09 00:10:50 +11:00
xor_altivec.h
xor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00