Disable the interrupts in trap_fatal before calling kdb_trap.
(required now that critical sections no longer block interrupts) Reviewed by: jhb@ Approved by: re (scottl) Tested by: kris@,glebius@
This commit is contained in:
parent
f185aed84f
commit
e8e35b1e1f
@ -648,8 +648,15 @@ trap_fatal(frame, eva)
|
||||
}
|
||||
|
||||
#ifdef KDB
|
||||
if ((debugger_on_panic || kdb_active) && kdb_trap(type, 0, frame))
|
||||
return;
|
||||
if (debugger_on_panic || kdb_active) {
|
||||
register_t rflags;
|
||||
rflags = intr_disable();
|
||||
if (kdb_trap(type, 0, frame)) {
|
||||
intr_restore(rflags);
|
||||
return;
|
||||
}
|
||||
intr_restore(rflags);
|
||||
}
|
||||
#endif
|
||||
printf("trap number = %d\n", type);
|
||||
if (type <= MAX_TRAP_MSG)
|
||||
|
@ -824,8 +824,15 @@ trap_fatal(frame, eva)
|
||||
}
|
||||
|
||||
#ifdef KDB
|
||||
if ((debugger_on_panic || kdb_active) && kdb_trap(type, 0, frame))
|
||||
return;
|
||||
if (debugger_on_panic || kdb_active) {
|
||||
register_t eflags;
|
||||
eflags = intr_disable();
|
||||
if (kdb_trap(type, 0, frame)) {
|
||||
intr_restore(eflags);
|
||||
return;
|
||||
}
|
||||
intr_restore(eflags);
|
||||
}
|
||||
#endif
|
||||
printf("trap number = %d\n", type);
|
||||
if (type <= MAX_TRAP_MSG)
|
||||
|
Loading…
x
Reference in New Issue
Block a user