From 954537138cf7b2ba7a55ad8f2b68fd00751b3ef1 Mon Sep 17 00:00:00 2001 From: Dave Kleikamp Date: Thu, 4 Feb 2016 10:43:48 -0600 Subject: [PATCH] sparc64: call crash_kexec() directly from die_if_kernel() A direct call to crash_kexec() here allows the crashing register state to be saved to the PT_NOTE. When called from panic(), a new register state is created which is less useful. Signed-off-by: Dave Kleikamp --- arch/sparc/kernel/traps_64.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c index d21cd625c0de..6202f71767f5 100644 --- a/arch/sparc/kernel/traps_64.c +++ b/arch/sparc/kernel/traps_64.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -2386,6 +2387,8 @@ static inline struct reg_window *kernel_stack_up(struct reg_window *rw) return (struct reg_window *) (fp + STACK_BIAS); } +static int crashing_cpu; + void __noreturn die_if_kernel(char *str, struct pt_regs *regs) { static int die_counter; @@ -2427,6 +2430,8 @@ void __noreturn die_if_kernel(char *str, struct pt_regs *regs) } user_instruction_dump ((unsigned int __user *) regs->tpc); } + crashing_cpu = smp_processor_id(); + crash_kexec(regs); if (panic_on_oops) panic("Fatal exception"); if (regs->tstate & TSTATE_PRIV) -- 2.51.0