summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/apic_vector.s10
1 files changed, 4 insertions, 6 deletions
diff --git a/sys/i386/i386/apic_vector.s b/sys/i386/i386/apic_vector.s
index 100ce90..86e78c4 100644
--- a/sys/i386/i386/apic_vector.s
+++ b/sys/i386/i386/apic_vector.s
@@ -60,18 +60,16 @@ IDTVEC(vec_name) ; \
FAKE_MCOUNT(TF_EIP(%esp)) ; \
movl lapic, %edx ; /* pointer to local APIC */ \
movl LA_ISR + 16 * (index)(%edx), %eax ; /* load ISR */ \
- bsrl %eax, %eax ; /* index of highset set bit in ISR */ \
- jz 2f ; \
+ bsrl %eax, %eax ; /* index of highest set bit in ISR */ \
+ jz 1f ; \
addl $(32 * index),%eax ; \
-1: ; \
pushl %esp ; \
pushl %eax ; /* pass the IRQ */ \
call lapic_handle_intr ; \
addl $8, %esp ; /* discard parameter */ \
+1: ; \
MEXITCOUNT ; \
- jmp doreti ; \
-2: movl $-1, %eax ; /* send a vector of -1 */ \
- jmp 1b
+ jmp doreti
/*
* Handle "spurious INTerrupts".
OpenPOWER on IntegriCloud