summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2001-08-13 13:22:50 +0000
committerbde <bde@FreeBSD.org>2001-08-13 13:22:50 +0000
commit2921a0c6f2f53f032fdfa53eeea25429cdf5fccd (patch)
tree875ba947acd69d4e0f8e235d8fb57a608cc570b2 /sys/i386
parentbde6e6cc5a5b4bbb6ac0c999b4d6b5c4a798fb53 (diff)
downloadFreeBSD-src-2921a0c6f2f53f032fdfa53eeea25429cdf5fccd.zip
FreeBSD-src-2921a0c6f2f53f032fdfa53eeea25429cdf5fccd.tar.gz
Use interrupt gates instead of trap gates for breakpoint and trace
traps, so that ddb can keep control (almost) no matter how it is entered. This breaks time-critical interrupts while the system is stopped in ddb, but I haven't noticed any significant problems except that applications become confused about the time. Lost time will be adjusted for later. Anyway, the half-baked disabling of interrupts in Debugger() gives the same problems for the usual way of entering ddb.
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/machdep.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index 31b954a..724eb4a 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -1888,9 +1888,9 @@ init386(first)
for (x = 0; x < NIDT; x++)
setidt(x, &IDTVEC(rsvd), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
setidt(0, &IDTVEC(div), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
- setidt(1, &IDTVEC(dbg), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
+ setidt(1, &IDTVEC(dbg), SDT_SYS386IGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
setidt(2, &IDTVEC(nmi), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
- setidt(3, &IDTVEC(bpt), SDT_SYS386TGT, SEL_UPL, GSEL(GCODE_SEL, SEL_KPL));
+ setidt(3, &IDTVEC(bpt), SDT_SYS386IGT, SEL_UPL, GSEL(GCODE_SEL, SEL_KPL));
setidt(4, &IDTVEC(ofl), SDT_SYS386TGT, SEL_UPL, GSEL(GCODE_SEL, SEL_KPL));
setidt(5, &IDTVEC(bnd), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
setidt(6, &IDTVEC(ill), SDT_SYS386TGT, SEL_KPL, GSEL(GCODE_SEL, SEL_KPL));
OpenPOWER on IntegriCloud