Don't enable interrupts for a kernel breakpoint or trace trap. Otherwise,

this negates the explicit disabling of interrupts when entering the
debugger in Debugger().
This commit is contained in:
jhb 2001-02-08 00:10:07 +00:00
parent 76fd957bd1
commit eeffb1cfff
3 changed files with 21 additions and 18 deletions

View File

@ -254,18 +254,19 @@ trap(frame)
printf(
"pid %ld (%s): trap %d with interrupts disabled\n",
(long)curproc->p_pid, curproc->p_comm, type);
else if (type != T_BPTFLT && type != T_TRCTRAP)
else if (type != T_BPTFLT && type != T_TRCTRAP) {
/*
* XXX not quite right, since this may be for a
* multiple fault in user mode.
*/
printf("kernel trap %d with interrupts disabled\n",
type);
/*
* We should walk p_heldmtx here and see if any are
* spin mutexes, and not do this if so.
*/
enable_intr();
/*
* We should walk p_heldmtx here and see if any are
* spin mutexes, and not do this if so.
*/
enable_intr();
}
}
eva = 0;

View File

@ -254,18 +254,19 @@ trap(frame)
printf(
"pid %ld (%s): trap %d with interrupts disabled\n",
(long)curproc->p_pid, curproc->p_comm, type);
else if (type != T_BPTFLT && type != T_TRCTRAP)
else if (type != T_BPTFLT && type != T_TRCTRAP) {
/*
* XXX not quite right, since this may be for a
* multiple fault in user mode.
*/
printf("kernel trap %d with interrupts disabled\n",
type);
/*
* We should walk p_heldmtx here and see if any are
* spin mutexes, and not do this if so.
*/
enable_intr();
/*
* We should walk p_heldmtx here and see if any are
* spin mutexes, and not do this if so.
*/
enable_intr();
}
}
eva = 0;

View File

@ -254,18 +254,19 @@ trap(frame)
printf(
"pid %ld (%s): trap %d with interrupts disabled\n",
(long)curproc->p_pid, curproc->p_comm, type);
else if (type != T_BPTFLT && type != T_TRCTRAP)
else if (type != T_BPTFLT && type != T_TRCTRAP) {
/*
* XXX not quite right, since this may be for a
* multiple fault in user mode.
*/
printf("kernel trap %d with interrupts disabled\n",
type);
/*
* We should walk p_heldmtx here and see if any are
* spin mutexes, and not do this if so.
*/
enable_intr();
/*
* We should walk p_heldmtx here and see if any are
* spin mutexes, and not do this if so.
*/
enable_intr();
}
}
eva = 0;