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:
ups 2005-06-25 22:14:42 +00:00
parent f185aed84f
commit e8e35b1e1f
2 changed files with 18 additions and 4 deletions

View File

@ -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)

View File

@ -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)