Don't forget to reenable interrupts after a breakpoint and trace traps from

user mode.  This goes with rev.1.468 of machdep.c which changed the gates
for these traps to interrupt gates.  Having the interrupts disabled for
these traps from user mode is just an unwanted side effect.

This fixes at least 1 case of "panic: absolutely cannot call
smp_ipi_shootdown with interrupts already disabled".  Too much code was
run with interrupts disabled, and it sometimes hit a sanity check.

Fix verified by:	deischen
This commit is contained in:
bde 2003-09-18 07:01:30 +00:00
parent 5954abfc5c
commit 8325eea972

View File

@ -274,6 +274,7 @@ trap(frame)
case T_BPTFLT: /* bpt instruction fault */
case T_TRCTRAP: /* trace trap */
enable_intr();
frame.tf_eflags &= ~PSL_T;
i = SIGTRAP;
break;