Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
This commit is contained in:
@@ -55,9 +55,6 @@
|
||||
|
||||
#ifdef CONFIG_PPC64 /* XXX */
|
||||
#define _IO_BASE pci_io_base
|
||||
#ifdef CONFIG_KEXEC
|
||||
cpumask_t cpus_in_sr = CPU_MASK_NONE;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DEBUGGER
|
||||
@@ -211,6 +208,19 @@ void system_reset_exception(struct pt_regs *regs)
|
||||
|
||||
die("System Reset", regs, SIGABRT);
|
||||
|
||||
/*
|
||||
* Some CPUs when released from the debugger will execute this path.
|
||||
* These CPUs entered the debugger via a soft-reset. If the CPU was
|
||||
* hung before entering the debugger it will return to the hung
|
||||
* state when exiting this function. This causes a problem in
|
||||
* kdump since the hung CPU(s) will not respond to the IPI sent
|
||||
* from kdump. To prevent the problem we call crash_kexec_secondary()
|
||||
* here. If a kdump had not been initiated or we exit the debugger
|
||||
* with the "exit and recover" command (x) crash_kexec_secondary()
|
||||
* will return after 5ms and the CPU returns to its previous state.
|
||||
*/
|
||||
crash_kexec_secondary(regs);
|
||||
|
||||
/* Must die if the interrupt is not recoverable */
|
||||
if (!(regs->msr & MSR_RI))
|
||||
panic("Unrecoverable System Reset");
|
||||
|
Reference in New Issue
Block a user