summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/apic_vector.s
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2000-12-14 04:16:16 +0000
committerjake <jake@FreeBSD.org>2000-12-14 04:16:16 +0000
commit7f0e1809c6f5c593e14c359baf544cfa862ca546 (patch)
treeaee46a407e0e03a0411a756a2dd81108a5a894f0 /sys/i386/isa/apic_vector.s
parentc8394629dce8024ccb9d10490623035b757c034b (diff)
downloadFreeBSD-src-7f0e1809c6f5c593e14c359baf544cfa862ca546.zip
FreeBSD-src-7f0e1809c6f5c593e14c359baf544cfa862ca546.tar.gz
Use _lapic+offset to access the local apic from assembly language
files, rather than the symbols in globals.s. The offsets are generated by genassym.
Diffstat (limited to 'sys/i386/isa/apic_vector.s')
-rw-r--r--sys/i386/isa/apic_vector.s32
1 files changed, 16 insertions, 16 deletions
diff --git a/sys/i386/isa/apic_vector.s b/sys/i386/isa/apic_vector.s
index a23ccff..988e5e6 100644
--- a/sys/i386/isa/apic_vector.s
+++ b/sys/i386/isa/apic_vector.s
@@ -52,7 +52,7 @@ IDTVEC(vec_name) ; \
pushl _intr_unit + (irq_num) * 4 ; \
call *_intr_handler + (irq_num) * 4 ; /* do the work ASAP */ \
addl $4, %esp ; \
- movl $0, lapic_eoi ; \
+ movl $0, _lapic+LA_EOI ; \
lock ; \
incl _cnt+V_INTR ; /* book-keeping can wait */ \
movl _intr_countp + (irq_num) * 4, %eax ; \
@@ -95,15 +95,15 @@ IDTVEC(vec_name) ; \
movl (%eax), %eax ; \
testl _apic_isrbit_location + 4 + 8 * (irq_num), %eax ; \
jz 9f ; /* not active */ \
- movl $0, lapic_eoi ; \
+ movl $0, _lapic+LA_EOI ; \
APIC_ITRACE(apic_itrace_eoi, irq_num, APIC_ITRACE_EOI) ; \
9:
#else
#define EOI_IRQ(irq_num) \
- testl $IRQ_BIT(irq_num), lapic_isr1; \
+ testl $IRQ_BIT(irq_num), _lapic+LA_ISR1; \
jz 9f ; /* not active */ \
- movl $0, lapic_eoi; \
+ movl $0, _lapic+LA_EOI; \
APIC_ITRACE(apic_itrace_eoi, irq_num, APIC_ITRACE_EOI) ; \
9:
#endif
@@ -273,7 +273,7 @@ _Xinvltlb:
movl %eax, %cr3
ss /* stack segment, avoid %ds load */
- movl $0, lapic_eoi /* End Of Interrupt to APIC */
+ movl $0, _lapic+LA_EOI /* End Of Interrupt to APIC */
popl %eax
iret
@@ -310,7 +310,7 @@ _Xcpucheckstate:
movl $KPSEL, %eax
mov %ax, %fs
- movl $0, lapic_eoi /* End Of Interrupt to APIC */
+ movl $0, _lapic+LA_EOI /* End Of Interrupt to APIC */
movl $0, %ebx
movl 20(%esp), %eax
@@ -362,7 +362,7 @@ _Xcpuast:
movl PCPU(CPUID), %eax
lock /* checkstate_need_ast &= ~(1<<id) */
btrl %eax, _checkstate_need_ast
- movl $0, lapic_eoi /* End Of Interrupt to APIC */
+ movl $0, _lapic+LA_EOI /* End Of Interrupt to APIC */
lock
btsl %eax, _checkstate_pending_ast
@@ -409,7 +409,7 @@ _Xforward_irq:
movl $KPSEL, %eax
mov %ax, %fs
- movl $0, lapic_eoi /* End Of Interrupt to APIC */
+ movl $0, _lapic+LA_EOI /* End Of Interrupt to APIC */
FAKE_MCOUNT(13*4(%esp))
@@ -452,21 +452,21 @@ forward_irq:
shrl $24,%eax
movl _cpu_num_to_apic_id(,%eax,4),%ecx
shll $24,%ecx
- movl lapic_icr_hi, %eax
+ movl _lapic+LA_ICR_HI, %eax
andl $~APIC_ID_MASK, %eax
orl %ecx, %eax
- movl %eax, lapic_icr_hi
+ movl %eax, _lapic+LA_ICR_HI
2:
- movl lapic_icr_lo, %eax
+ movl _lapic+LA_ICR_LO, %eax
andl $APIC_DELSTAT_MASK,%eax
jnz 2b
- movl lapic_icr_lo, %eax
+ movl _lapic+LA_ICR_LO, %eax
andl $APIC_RESV2_MASK, %eax
orl $(APIC_DEST_DESTFLD|APIC_DELMODE_FIXED|XFORWARD_IRQ_OFFSET), %eax
- movl %eax, lapic_icr_lo
+ movl %eax, _lapic+LA_ICR_LO
3:
- movl lapic_icr_lo, %eax
+ movl _lapic+LA_ICR_LO, %eax
andl $APIC_DELSTAT_MASK,%eax
jnz 3b
4:
@@ -498,7 +498,7 @@ _Xcpustop:
movl $KPSEL, %eax
mov %ax, %fs
- movl $0, lapic_eoi /* End Of Interrupt to APIC */
+ movl $0, _lapic+LA_EOI /* End Of Interrupt to APIC */
movl PCPU(CPUID), %eax
imull $PCB_SIZE, %eax
@@ -628,7 +628,7 @@ _Xrendezvous:
call _smp_rendezvous_action
- movl $0, lapic_eoi /* End Of Interrupt to APIC */
+ movl $0, _lapic+LA_EOI /* End Of Interrupt to APIC */
POP_FRAME
iret
OpenPOWER on IntegriCloud