linux/arch/powerpc
Nicholas Piggin d7b14c5c04 powerpc/pseries/ras: fwnmi sreset should not interlock
PAPR does not specify that fwnmi sreset should be interlocked, and
PowerVM (and therefore now QEMU) do not require it.

These "ibm,nmi-interlock" calls are ignored by firmware, but there
is a possibility that the sreset could have interrupted a machine
check and release the machine check's interlock too early, corrupting
it if another machine check came in.

This is an extremely rare case, but it should be fixed for clarity
and reducing the code executed in the sreset path. Firmware also
does not provide error information for the sreset case to look at, so
remove that comment.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Use __be64 to silence some sparse warnings]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200508043408.886394-9-npiggin@gmail.com
2020-05-19 00:10:05 +10:00
..
boot powerpc/5200: update contact email 2020-05-11 23:15:14 +10:00
configs powerpc updates for 5.7 #2 2020-04-09 11:01:42 -07:00
crypto crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN 2020-01-09 11:30:53 +08:00
include powerpc/pseries/ras: Avoid calling rtas_token() in NMI paths 2020-05-18 21:58:45 +10:00
kernel powerpc/64s/exceptions: Machine check reconcile irq state 2020-05-18 21:58:44 +10:00
kexec powerpc updates for 5.7 2020-04-05 11:12:59 -07:00
kvm powerpc: Replace _ALIGN_UP() by ALIGN() 2020-05-11 23:15:15 +10:00
lib powerpc/64/sstep: Ifdef the deprecated fast endian switch syscall 2020-04-01 13:42:13 +11:00
math-emu treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mm powerpc/mm: Replace zero-length array with flexible-array 2020-05-15 11:58:54 +10:00
net treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
oprofile powerpc updates for 5.6 2020-02-04 13:06:46 +00:00
perf powerpc/perf/callchain: Use __get_user_pages_fast in read_user_stack_slow 2020-05-05 21:20:14 +10:00
platforms powerpc/pseries/ras: fwnmi sreset should not interlock 2020-05-19 00:10:05 +10:00
purgatory .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
sysdev powerpc/xive: Define xive_native_alloc_irq_on_chip() 2020-04-20 16:52:59 +10:00
tools powerpc: Do not consider weak unresolved symbol relocations as bad 2020-01-31 20:17:22 +11:00
xmon powerpc: trap_is_syscall() helper to hide syscall trap number 2020-05-15 11:58:54 +10:00
Kbuild powerpc/kexec: Move kexec files into a dedicated subdir. 2019-11-21 15:41:34 +11:00
Kconfig powerpc/kasan: Fix stack overflow by increasing THREAD_SHIFT 2020-05-11 23:15:16 +10:00
Kconfig.debug powerpc/ptdump: Only enable PPC_CHECK_WX with STRICT_KERNEL_RWX 2020-01-23 21:31:13 +11:00
Makefile powerpc: Suppress .eh_frame generation 2020-04-01 14:30:51 +11:00
Makefile.postlink powerpc: Do not consider weak unresolved symbol relocations as bad 2020-01-31 20:17:22 +11:00