Fix issue where Application Processors would sometimes use the physical

address of LAPIC registers without translating it to virtual ones first.

That would happen if VM had changed the page tables before the APs
configured their LAPIC.
This commit is contained in:
Justinien Bouron 2019-03-10 05:16:22 -07:00
parent 81ce1c3df2
commit dd0c1095a1
2 changed files with 3 additions and 2 deletions

View File

@ -964,8 +964,6 @@ int arch_enable_paging(struct proc * caller)
}
#if CONFIG_SMP
barrier();
wait_for_APs_to_finish_booting();
#endif
#endif

View File

@ -104,6 +104,9 @@ void bsp_finish_booting(void)
/* Kernel may no longer use bits of memory as VM will be running soon */
kernel_may_alloc = 0;
#ifdef CONFIG_SMP
wait_for_APs_to_finish_booting();
#endif
switch_to_user();
NOT_REACHABLE;