Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 33382
b: refs/heads/master
c: eac8392
h: refs/heads/master
v: v3
  • Loading branch information
David Wilder authored and Paul Mackerras committed Aug 17, 2006
1 parent 78ea8ba commit acda137
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 81b73dd92b97423b8f5324a59044da478c04f4c4
refs/heads/master: eac8392f9591b359847b8a6abb75ca60967bcecd
13 changes: 13 additions & 0 deletions trunk/arch/powerpc/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,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");
Expand Down

0 comments on commit acda137

Please sign in to comment.