aboutsummaryrefslogtreecommitdiff
path: root/src/include/cpu/x86/lapic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/cpu/x86/lapic.h')
-rw-r--r--src/include/cpu/x86/lapic.h17
1 files changed, 1 insertions, 16 deletions
diff --git a/src/include/cpu/x86/lapic.h b/src/include/cpu/x86/lapic.h
index 5d696dce18..e2c2146942 100644
--- a/src/include/cpu/x86/lapic.h
+++ b/src/include/cpu/x86/lapic.h
@@ -54,22 +54,7 @@ static inline __attribute__((always_inline)) unsigned long lapicid(void)
static inline __attribute__((always_inline)) void stop_this_cpu(void)
{
- unsigned apicid;
- apicid = lapicid();
-
- /* Send an APIC INIT to myself */
- lapic_write(LAPIC_ICR2, SET_LAPIC_DEST_FIELD(apicid));
- lapic_write(LAPIC_ICR, LAPIC_INT_LEVELTRIG | LAPIC_INT_ASSERT | LAPIC_DM_INIT);
- /* Wait for the ipi send to finish */
- lapic_wait_icr_idle();
-
- /* Deassert the APIC INIT */
- lapic_write(LAPIC_ICR2, SET_LAPIC_DEST_FIELD(apicid));
- lapic_write(LAPIC_ICR, LAPIC_INT_LEVELTRIG | LAPIC_DM_INIT);
- /* Wait for the ipi send to finish */
- lapic_wait_icr_idle();
-
- /* If I haven't halted spin forever */
+ /* Called by an AP when it is ready to halt and wait for a new task */
for(;;) {
hlt();
}