summaryrefslogtreecommitdiff
path: root/sys/arch/i386/isa
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386/isa')
-rw-r--r--sys/arch/i386/isa/icu.s14
1 files changed, 6 insertions, 8 deletions
diff --git a/sys/arch/i386/isa/icu.s b/sys/arch/i386/isa/icu.s
index 567695b776e..87c4bdd074a 100644
--- a/sys/arch/i386/isa/icu.s
+++ b/sys/arch/i386/isa/icu.s
@@ -1,4 +1,4 @@
-/* $OpenBSD: icu.s,v 1.25 2007/05/25 21:27:15 krw Exp $ */
+/* $OpenBSD: icu.s,v 1.26 2008/04/25 19:50:08 kettenis Exp $ */
/* $NetBSD: icu.s,v 1.45 1996/01/07 03:59:34 mycroft Exp $ */
/*-
@@ -33,11 +33,9 @@
#include <net/netisr.h>
.data
- .globl _C_LABEL(imen),_C_LABEL(ipending),_C_LABEL(netisr)
+ .globl _C_LABEL(imen),_C_LABEL(netisr)
_C_LABEL(imen):
.long 0xffff # interrupt mask enable (all off)
-_C_LABEL(ipending):
- .long 0 # interrupts pending
_C_LABEL(netisr):
.long 0 # scheduling bits for network
@@ -60,11 +58,11 @@ IDTVEC(spllower)
shrl $4,%eax # find its mask.
movl _C_LABEL(iunmask)(,%eax,4),%eax
cli
- andl _C_LABEL(ipending),%eax # any non-masked bits left?
+ andl CPUVAR(IPENDING),%eax # any non-masked bits left?
jz 2f
sti
bsfl %eax,%eax
- btrl %eax,_C_LABEL(ipending)
+ btrl %eax,CPUVAR(IPENDING)
jnc 1b
jmp *_C_LABEL(Xrecurse)(,%eax,4)
2: movl %ebx,CPL
@@ -89,11 +87,11 @@ IDTVEC(doreti)
shrl $4,%eax
movl _C_LABEL(iunmask)(,%eax,4),%eax
cli
- andl _C_LABEL(ipending),%eax
+ andl CPUVAR(IPENDING),%eax
jz 2f
sti
bsfl %eax,%eax # slow, but not worth optimizing
- btrl %eax,_C_LABEL(ipending)
+ btrl %eax,CPUVAR(IPENDING)
jnc 1b # some intr cleared the in-memory bit
cli
jmp *_C_LABEL(Xresume)(,%eax,4)