linux/arch/powerpc/platforms
Nicholas Piggin 21a741eb75 powerpc/pseries: Fix scv instruction crash with kexec
kexec on pseries disables AIL (reloc_on_exc), required for scv
instruction support, before other CPUs have been shut down. This means
they can execute scv instructions after AIL is disabled, which causes an
interrupt at an unexpected entry location that crashes the kernel.

Change the kexec sequence to disable AIL after other CPUs have been
brought down.

As a refresher, the real-mode scv interrupt vector is 0x17000, and the
fixed-location head code probably couldn't easily deal with implementing
such high addresses so it was just decided not to support that interrupt
at all.

Fixes: 7fa95f9ada ("powerpc/64s: system call support for scv/rfscv instructions")
Cc: stable@vger.kernel.org # v5.9+
Reported-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Closes: https://lore.kernel.org/3b4b2943-49ad-4619-b195-bc416f1d1409@linux.ibm.com
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Tested-by: Gautam Menghani <gautam@linux.ibm.com>
Tested-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Link: https://msgid.link/20240625134047.298759-1-npiggin@gmail.com
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2024-06-28 22:05:44 +10:00
..
4xx powerpc: Use NULL instead of 0 for null pointers 2023-10-19 17:12:47 +11:00
8xx powerpc: Untangle fixmap.h and pgtable.h and mmu.h 2023-10-19 17:12:44 +11:00
40x powerpc/machdep: Define 'compatibles' property in ppc_md and use it 2024-03-03 22:20:29 +11:00
44x powerpc/4xx: Fix warp_gpio_leds build failure 2024-03-07 00:13:28 +11:00
52xx powerpc: rename SPRN_HID2 define to SPRN_HID2_750FX 2024-05-08 00:25:00 +10:00
82xx powerpc/82xx: Select FSL_SOC 2023-09-18 12:23:48 +10:00
83xx powerpc: rename SPRN_HID2 define to SPRN_HID2_750FX 2024-05-08 00:25:00 +10:00
85xx powerpc/85xx: fix compile error without CONFIG_CRASH_DUMP 2024-05-10 22:36:05 +10:00
86xx powerpc/86xx: Drop unused CONFIG_MPC8610 2023-12-29 15:23:00 +11:00
512x powerpc: Fix typos 2024-05-08 00:21:30 +10:00
amigaone powerpc/amigaone: Make several functions static 2024-03-07 00:13:28 +11:00
book3s powerpc/vas: Limit open window failure messages in log bufffer 2023-10-20 17:10:03 +11:00
cell powerpc: Fix typos 2024-05-08 00:21:30 +10:00
chrp powerpc: Make generic_calibrate_decr() the default 2023-03-16 08:56:48 +11:00
embedded6xx powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc. 2024-03-07 00:13:28 +11:00
maple powerpc: Fix typos 2024-05-08 00:21:30 +10:00
microwatt powerpc: Make generic_calibrate_decr() the default 2023-03-16 08:56:48 +11:00
pasemi powerpc: Stop using of_root 2024-03-03 22:20:29 +11:00
powermac powerpc: Fix typos 2024-05-08 00:21:30 +10:00
powernv Driver core changes for 6.10-rc1 2024-05-22 12:13:40 -07:00
ps3 The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
pseries powerpc/pseries: Fix scv instruction crash with kexec 2024-06-28 22:05:44 +10:00
fsl_uli1575.c powerpc/fsl_uli1575: Mark uli_exclude_device() as static 2023-04-20 10:20:50 +10:00
Kconfig powerpc/82xx: Remove CONFIG_8260 and CONFIG_8272 2023-08-18 17:03:14 +10:00
Kconfig.cputype powerpc updates for 6.6 2023-08-31 12:43:10 -07:00
Makefile