diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-07-16 20:21:21 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-07-16 20:21:21 +0000 |
commit | e0d9d1132e264ebd78135789336e0de2b6dafad7 (patch) | |
tree | e76ef915d5cb905512550b1cdfdbba2629d3bfde | |
parent | 2942f39fb8897d168dd496755ae5552acd4755c2 (diff) |
Do not reenabled interrupts when processing a ddb trap, for bad things may
happen; from NetBSD
-rw-r--r-- | sys/arch/mips64/mips64/trap.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/arch/mips64/mips64/trap.c b/sys/arch/mips64/mips64/trap.c index 78cafb30c45..23bf0317870 100644 --- a/sys/arch/mips64/mips64/trap.c +++ b/sys/arch/mips64/mips64/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.36 2007/05/25 20:47:19 miod Exp $ */ +/* $OpenBSD: trap.c,v 1.37 2007/07/16 20:21:20 miod Exp $ */ /* tracked to 1.23 */ /* @@ -199,12 +199,13 @@ trap(trapframe) * If it was off disable all (splhigh) so we don't accidently * enable it when doing a spllower(). */ -/*XXX do in locore? */ if (trapframe->sr & SR_INT_ENAB) { + if (type != T_BREAK) { #ifndef IMASK_EXTERNAL - updateimask(trapframe->cpl); + updateimask(trapframe->cpl); #endif - enableintr(); + enableintr(); + } } else splhigh(); |