X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fppc64%2Fkernel%2Ftraps.c;h=7c1594d0c90d05e055de42874af08605aec5b437;hb=333b49614bac1801f614128fdcdb6346b383a0df;hp=82d9b8b24e6187fcd639df305e4bed6da5ade5bd;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/arch/ppc64/kernel/traps.c b/arch/ppc64/kernel/traps.c index 82d9b8b24..7c1594d0c 100644 --- a/arch/ppc64/kernel/traps.c +++ b/arch/ppc64/kernel/traps.c @@ -44,6 +44,7 @@ extern int fwnmi_active; #ifdef CONFIG_DEBUGGER int (*__debugger)(struct pt_regs *regs); +int (*__debugger_ipi)(struct pt_regs *regs); int (*__debugger_bpt)(struct pt_regs *regs); int (*__debugger_sstep)(struct pt_regs *regs); int (*__debugger_iabr_match)(struct pt_regs *regs); @@ -51,6 +52,7 @@ int (*__debugger_dabr_match)(struct pt_regs *regs); int (*__debugger_fault_handler)(struct pt_regs *regs); EXPORT_SYMBOL(__debugger); +EXPORT_SYMBOL(__debugger_ipi); EXPORT_SYMBOL(__debugger_bpt); EXPORT_SYMBOL(__debugger_sstep); EXPORT_SYMBOL(__debugger_iabr_match); @@ -69,9 +71,6 @@ int die(const char *str, struct pt_regs *regs, long err) static int die_counter; int nl = 0; - if (debugger_fault_handler(regs)) - return 1; - if (debugger(regs)) return 1; @@ -266,6 +265,8 @@ MachineCheckException(struct pt_regs *regs) } #endif + if (debugger_fault_handler(regs)) + return; die("Machine check", regs, 0); /* Must die if the interrupt is not recoverable */