summaryrefslogtreecommitdiffstats
path: root/arch/ppc
diff options
context:
space:
mode:
authorAlexander Nyberg <alexn@telia.com>2005-06-25 14:58:26 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-25 16:24:54 -0700
commit6e274d144302068a00794ec22e73520c0615cb6f (patch)
treef7ea59ea47d3c5676fbac8d39e8deaa1f94146ae /arch/ppc
parent86b1ae38c0a62409dc862a28e3f08920f55f944b (diff)
downloadblackbird-op-linux-6e274d144302068a00794ec22e73520c0615cb6f.tar.gz
blackbird-op-linux-6e274d144302068a00794ec22e73520c0615cb6f.zip
[PATCH] kdump: Use real pt_regs from exception
Makes kexec_crashdump() take a pt_regs * as an argument. This allows to get exact register state at the point of the crash. If we come from direct panic assertion NULL will be passed and the current registers saved before crashdump. This hooks into two places: die(): check the conditions under which we will panic when calling do_exit and go there directly with the pt_regs that caused the fatal fault. die_nmi(): If we receive an NMI lockup while in the kernel use the pt_regs and go directly to crash_kexec(). We're probably nested up badly at this point so this might be the only chance to escape with proper information. Signed-off-by: Alexander Nyberg <alexn@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc')
-rw-r--r--arch/ppc/kernel/machine_kexec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ppc/kernel/machine_kexec.c b/arch/ppc/kernel/machine_kexec.c
index 435ad9ea0a83..b82535357d6d 100644
--- a/arch/ppc/kernel/machine_kexec.c
+++ b/arch/ppc/kernel/machine_kexec.c
@@ -34,7 +34,7 @@ void machine_shutdown(void)
}
}
-void machine_crash_shutdown(void)
+void machine_crash_shutdown(struct pt_regs *regs)
{
if (ppc_md.machine_crash_shutdown) {
ppc_md.machine_crash_shutdown();
OpenPOWER on IntegriCloud