Commit cbcb24c3 authored by Paul Mackerras's avatar Paul Mackerras

PPC32: fix handling of machine checks.

After a machine check that is handled by a debugger or by sending a
signal to a user task, set MSR.RI again.
parent ab007fa6
...@@ -123,6 +123,7 @@ MachineCheckException(struct pt_regs *regs) ...@@ -123,6 +123,7 @@ MachineCheckException(struct pt_regs *regs)
unsigned long msr = regs->msr; unsigned long msr = regs->msr;
if (user_mode(regs)) { if (user_mode(regs)) {
regs->msr |= MSR_RI;
_exception(SIGSEGV, regs); _exception(SIGSEGV, regs);
return; return;
} }
...@@ -134,6 +135,7 @@ MachineCheckException(struct pt_regs *regs) ...@@ -134,6 +135,7 @@ MachineCheckException(struct pt_regs *regs)
#endif #endif
if (debugger_fault_handler) { if (debugger_fault_handler) {
debugger_fault_handler(regs); debugger_fault_handler(regs);
regs->msr |= MSR_RI;
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment