|
@@ -24,6 +24,7 @@
|
|
#include <linux/interrupt.h>
|
|
#include <linux/interrupt.h>
|
|
#include <linux/irq.h>
|
|
#include <linux/irq.h>
|
|
#include <linux/bug.h>
|
|
#include <linux/bug.h>
|
|
|
|
+#include <linux/nmi.h>
|
|
|
|
|
|
#include <asm/ptrace.h>
|
|
#include <asm/ptrace.h>
|
|
#include <asm/string.h>
|
|
#include <asm/string.h>
|
|
@@ -374,6 +375,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
local_irq_save(flags);
|
|
local_irq_save(flags);
|
|
|
|
+ hard_irq_disable();
|
|
|
|
|
|
bp = in_breakpoint_table(regs->nip, &offset);
|
|
bp = in_breakpoint_table(regs->nip, &offset);
|
|
if (bp != NULL) {
|
|
if (bp != NULL) {
|
|
@@ -558,6 +560,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi)
|
|
#endif
|
|
#endif
|
|
insert_cpu_bpts();
|
|
insert_cpu_bpts();
|
|
|
|
|
|
|
|
+ touch_nmi_watchdog();
|
|
local_irq_restore(flags);
|
|
local_irq_restore(flags);
|
|
|
|
|
|
return cmd != 'X' && cmd != EOF;
|
|
return cmd != 'X' && cmd != EOF;
|