]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/pseries, ps3: panic flush kernel messages before halting system
authorNicholas Piggin <npiggin@gmail.com>
Sat, 23 Dec 2017 16:49:23 +0000 (02:49 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 22 Jan 2018 00:44:24 +0000 (11:44 +1100)
commit870b96cbf032ff9c5ea8a38b7e71c9a04f6b2e27
tree630cbacd918fbae3b2b920fe44383ef5593e3e57
parentfa0367bc2c6d7827e2f652109bbaa6543d971142
powerpc/pseries, ps3: panic flush kernel messages before halting system

Platforms with a panic handler that halts the system can have problems
getting kernel messages out, because the panic notifiers are called
before kernel/panic.c does its flushing of printk buffers an console
etc.

This was attempted to be solved with commit 7cdd7e95c62c ("powerpc: Do
not call ppc_md.panic in fadump panic notifier"), but that wasn't the
right approach and caused other problems, and was reverted by commit
5d039ddae711.

Instead, the powernv shutdown paths have already had a similar
problem, fixed by taking the message flushing sequence from
kernel/panic.c. That's a little bit ugly, but while we have the code
duplicated, it will work for this case as well. So have ppc panic
handlers do the same flushing before they terminate.

Without this patch, a qemu pseries_le_defconfig guest stops silently
when issued the nmi command when xmon is off and no crash dumpers
enabled. Afterwards, an oops is printed by each CPU as expected.

Fixes: 5d039ddae711 ("Revert "powerpc: Do not call ppc_md.panic in fadump panic notifier"")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/bug.h
arch/powerpc/kernel/traps.c
arch/powerpc/platforms/powernv/opal.c
arch/powerpc/platforms/ps3/setup.c
arch/powerpc/platforms/pseries/setup.c