linux/arch/powerpc
Nicholas Piggin 15b4dd7981 powerpc/64s: return more carefully from sreset NMI
System Reset, being an NMI, must return more carefully than other
interrupts. It has traditionally returned via the nromal return
from exception path, but that has a number of problems.

- r13 does not get restored if returning to kernel. This is for
  interrupts which may cause a context switch, which sreset will
  never do. Interrupting OPAL (which uses a different r13) is one
  place where this causes breakage.

- It may cause several other problems returning to kernel with
  preempt or TIF_EMULATE_STACK_STORE if it hits at the wrong time.

It's safer just to have a simple restore and return, like machine
check which is the other NMI.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-04-01 00:47:45 +11:00
..
boot powerpc/wii.dts: Add drive slot LED 2018-04-01 00:47:41 +11:00
configs powerpc updates for 4.16 2018-02-02 10:01:04 -08:00
crypto crypto: hash - annotate algorithms taking optional key 2018-01-12 23:03:35 +11:00
include Merge branch 'topic/paca' into next 2018-03-31 09:09:36 +11:00
kernel powerpc/64s: return more carefully from sreset NMI 2018-04-01 00:47:45 +11:00
kvm powerpc/kvm: Fix guest boot failure on Power9 since DAWR changes 2018-04-01 00:47:13 +11:00
lib powerpc/rfi-flush: Differentiate enabled and patched flush types 2018-03-27 19:25:14 +11:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm powerpc/mm/32: Remove the reserved memory hack 2018-04-01 00:47:44 +11:00
net powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access 2018-02-22 14:36:08 +11:00
oprofile powerpc: Use sizeof(*foo) rather than sizeof(struct foo) 2018-03-20 16:47:53 +11:00
perf powerpc/perf: Add blacklisted events for Power9 DD2.2 2018-03-27 19:25:11 +11:00
platforms powerpc/wii: Don't rely on the reserved memory hack 2018-04-01 00:47:43 +11:00
purgatory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sysdev Merge branch 'topic/paca' into next 2018-03-31 09:09:36 +11:00
tools License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xmon Merge branch 'topic/paca' into next 2018-03-31 09:09:36 +11:00
Kconfig Merge branch 'linus' into sched/urgent, to resolve conflicts 2018-02-06 21:12:31 +01:00
Kconfig.debug powerpc: Add new kconfig CONFIG_PPC_IRQ_SOFT_MASK_DEBUG 2018-01-19 22:37:03 +11:00
Makefile powerpc: Keep const vars out of writable .sdata 2018-03-06 09:21:21 +11:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00