IOAPIC_IMASK_UNLOCK ; \
8: ; \
-#ifdef SMP /* APIC-IO */
-
/*
* Interrupt call handlers run in the following sequence:
*
MEXITCOUNT ; \
jmp doreti ; \
-#endif
-
/*
* Handle "spurious INTerrupts".
* Notes:
MEXITCOUNT
jmp doreti_syscall_ret
-#ifdef SMP /* APIC-IO */
-
MCOUNT_LABEL(bintr)
INTR_HANDLER(0)
INTR_HANDLER(1)
INTR_HANDLER(191)
MCOUNT_LABEL(eintr)
-#endif
-
.data
/* variables used by stop_cpus()/restart_cpus()/Xcpustop */
#include <machine_base/apic/ioapic_abi.h>
#include <machine_base/apic/ioapic_ipl.h>
-#ifdef SMP /* APIC-IO */
-
extern inthand_t
IDTVEC(ioapic_intr0),
IDTVEC(ioapic_intr1),
return 0;
}
-
-#endif /* SMP */
#include <machine_base/apic/ioapic_ipl.h>
#include "assym.s"
-#ifdef SMP /* APIC-IO */
-
.text
SUPERALIGN_TEXT
movl 12(%esp), %eax /* target register value */
movl %eax, IOAPIC_WINDOW(%edx) /* write the IOAPIC register data */
ret /* %eax = void */
-
-#endif
void
smp_invltlb(void)
{
-#ifdef SMP
struct mdglobaldata *md = mdcpu;
#ifdef SMP_INVLTLB_DEBUG
long count = 0;
}
atomic_clear_cpumask(&smp_invltlb_req, md->mi.gd_cpumask);
crit_exit_gd(&md->mi);
-#endif
}
-#ifdef SMP
-
/*
* Called from Xinvltlb assembly with interrupts disabled. We didn't
* bother to bump the critical section count or nested interrupt count
}
}
-#endif
-
/*
* When called the executing CPU will send an IPI to all other CPUs
* requesting that they halt execution.