diff options
Diffstat (limited to 'sys/arch/i386/isa')
-rw-r--r-- | sys/arch/i386/isa/icu.s | 14 |
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) |