ARM: kexec: record parent context registers for non-crash CPUs
authorRussell King <rmk+kernel@armlinux.org.uk>
Wed, 11 Apr 2018 18:35:19 +0000 (19:35 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Sat, 19 May 2018 10:35:56 +0000 (11:35 +0100)
How we got to machine_crash_nonpanic_core() (iow, from an IPI, etc) is
not interesting for debugging a crash.  The more interesting context
is the parent context prior to the IPI being received.

Record the parent context register state rather than the register state
in machine_crash_nonpanic_core(), which is more relevant to the failing
condition.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/kernel/machine_kexec.c

index c153184319866a3334d9c6c951dfaaca514dfd9c..dd2eb5f76b9f0a7d64f50169dd0d04a402b2ae67 100644 (file)
@@ -83,7 +83,7 @@ void machine_crash_nonpanic_core(void *unused)
 {
        struct pt_regs regs;
 
-       crash_setup_regs(&regs, NULL);
+       crash_setup_regs(&regs, get_irq_regs());
        printk(KERN_DEBUG "CPU %u will stop doing anything useful since another CPU has crashed\n",
               smp_processor_id());
        crash_save_cpu(&regs, smp_processor_id());