summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/ipl.s
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2000-03-29 06:15:43 +0000
committerdillon <dillon@FreeBSD.org>2000-03-29 06:15:43 +0000
commitcccdb366d9a69e17a36d6d01316a4d121537cc37 (patch)
treecefbc21bfdfd8240e69ffe530637274f3e64bf26 /sys/i386/isa/ipl.s
parent6a7dfc7767e1d130ee1db535b5a7e3633ba5409d (diff)
downloadFreeBSD-src-cccdb366d9a69e17a36d6d01316a4d121537cc37.zip
FreeBSD-src-cccdb366d9a69e17a36d6d01316a4d121537cc37.tar.gz
The SMP cleanup commit broke need_resched, this fixes that and also
removed unncessary MPLOCKED and 'lock' prefixes from the interrupt nesting level, since (A) the MP lock is held at the time, and (B) since the neting level is restored prior to return any interrupted code will see a consistent value.
Diffstat (limited to 'sys/i386/isa/ipl.s')
-rw-r--r--sys/i386/isa/ipl.s6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/i386/isa/ipl.s b/sys/i386/isa/ipl.s
index 980257f..d4c0a0e 100644
--- a/sys/i386/isa/ipl.s
+++ b/sys/i386/isa/ipl.s
@@ -123,10 +123,10 @@ doreti_next2:
andl _ipending,%ecx /* set bit = unmasked pending INT */
jne doreti_unpend
movl %eax,_cpl
- MPLOCKED decb _intr_nesting_level
+ decb _intr_nesting_level
/* Check for ASTs that can be handled now. */
- cmpb $0,_astpending
+ cmpl $0,_astpending
je doreti_exit
testb $SEL_RPL_MASK,TF_CS(%esp)
jne doreti_ast
@@ -271,7 +271,7 @@ doreti_swi:
ALIGN_TEXT
doreti_ast:
- movl $0,_astpending
+ andl $~AST_PENDING,_astpending
sti
movl $T_ASTFLT,TF_TRAPNO(%esp)
call _trap
OpenPOWER on IntegriCloud