Changeset View
Changeset View
Standalone View
Standalone View
sys/x86/x86/mp_x86.c
Show First 20 Lines • Show All 1,034 Lines • ▼ Show 20 Lines | if (PCPU_GET(apic_id) != lapic_id()) { | ||||
printf("SMP: actual apic_id = %d\n", lapic_id()); | printf("SMP: actual apic_id = %d\n", lapic_id()); | ||||
printf("SMP: correct apic_id = %d\n", PCPU_GET(apic_id)); | printf("SMP: correct apic_id = %d\n", PCPU_GET(apic_id)); | ||||
panic("cpuid mismatch! boom!!"); | panic("cpuid mismatch! boom!!"); | ||||
} | } | ||||
/* Initialize curthread. */ | /* Initialize curthread. */ | ||||
KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread")); | KASSERT(PCPU_GET(idlethread) != NULL, ("no idle thread")); | ||||
PCPU_SET(curthread, PCPU_GET(idlethread)); | PCPU_SET(curthread, PCPU_GET(idlethread)); | ||||
schedinit_ap(); | |||||
mtx_lock_spin(&ap_boot_mtx); | mtx_lock_spin(&ap_boot_mtx); | ||||
mca_init(); | mca_init(); | ||||
/* Init local apic for irq's */ | /* Init local apic for irq's */ | ||||
lapic_setup(1); | lapic_setup(1); | ||||
▲ Show 20 Lines • Show All 634 Lines • Show Last 20 Lines |