SMP - BSP waits until the APs finish their booting
- APs configure local timers - while configuring local APIC timer the CPUs fiddle with the interrupt handlers. As the interrupt table is shared the BSP must not run
This commit is contained in:
@@ -1083,12 +1083,15 @@ PUBLIC int arch_enable_paging(struct proc * caller, const message * m_ptr)
|
||||
io_apic[i].addr = io_apic[i].vaddr;
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO APs are still waiting, release them */
|
||||
#endif
|
||||
#if CONFIG_SMP
|
||||
barrier();
|
||||
|
||||
i386_paging_enabled = 1;
|
||||
|
||||
wait_for_APs_to_finish_booting();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_WATCHDOG
|
||||
/*
|
||||
* We make sure that we don't enable the watchdog until paging is turned
|
||||
|
||||
Reference in New Issue
Block a user