linux_dsm_epyc7002/arch/powerpc
Michael Ellerman 7b08729cb2 powerpc/64: Save stack pointer when we hard disable interrupts
A CPU that gets stuck with interrupts hard disable can be difficult to
debug, as on some platforms we have no way to interrupt the CPU to
find out what it's doing.

A stop-gap is to have the CPU save it's stack pointer (r1) in its paca
when it hard disables interrupts. That way if we can't interrupt it,
we can at least trace the stack based on where it last disabled
interrupts.

In some cases that will be total junk, but the stack trace code should
handle that. In the simple case of a CPU that disable interrupts and
then gets stuck in a loop, the stack trace should be informative.

We could clear the saved stack pointer when we enable interrupts, but
that loses information which could be useful if we have nothing else
to go on.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
2018-06-03 20:43:42 +10:00
..
boot Merge branch 'topic/kbuild' into next 2018-06-03 20:24:15 +10:00
configs powerpc/config: powernv_defconfig updates 2018-05-10 23:25:07 +10:00
crypto
include powerpc/64: Save stack pointer when we hard disable interrupts 2018-06-03 20:43:42 +10:00
kernel powerpc/64: Save stack pointer when we hard disable interrupts 2018-06-03 20:43:42 +10:00
kvm Merge branch 'topic/ppc-kvm' into next 2018-05-15 22:28:19 +10:00
lib powerpc/altivec: Add missing prototypes for altivec 2018-05-25 12:04:38 +10:00
math-emu
mm powerpc/mm/hash: hard disable irq in the SLB insert path 2018-06-03 20:40:38 +10:00
net
oprofile powerpc: Use sizeof(*foo) rather than sizeof(struct foo) 2018-03-20 16:47:53 +11:00
perf powerpc/perf: Unregister thread-imc if core-imc not supported 2018-06-03 20:43:37 +10:00
platforms powerpc/perf: Unregister thread-imc if core-imc not supported 2018-06-03 20:43:37 +10:00
purgatory
sysdev powerpc/xics: Add missing of_node_put() in error path 2018-06-03 20:43:35 +10:00
tools powerpc/kbuild: Use flags variables rather than overriding LD/CC/AS 2018-06-01 23:08:09 +10:00
xmon powerpc/64: Save stack pointer when we hard disable interrupts 2018-06-03 20:43:42 +10:00
Kconfig powerpc: always enable RTC_LIB 2018-06-03 20:43:33 +10:00
Kconfig.debug
Makefile powerpc/kbuild: Use flags variables rather than overriding LD/CC/AS 2018-06-01 23:08:09 +10:00
Makefile.postlink