diff options
author | dillon <dillon@FreeBSD.org> | 2000-03-29 06:15:43 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2000-03-29 06:15:43 +0000 |
commit | cccdb366d9a69e17a36d6d01316a4d121537cc37 (patch) | |
tree | cefbc21bfdfd8240e69ffe530637274f3e64bf26 /sys/i386/isa/ipl.s | |
parent | 6a7dfc7767e1d130ee1db535b5a7e3633ba5409d (diff) | |
download | FreeBSD-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.s | 6 |
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 |