diff options
Diffstat (limited to 'kernel/src/scheduler/ap_startup.c')
| -rw-r--r-- | kernel/src/scheduler/ap_startup.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/src/scheduler/ap_startup.c b/kernel/src/scheduler/ap_startup.c index f4a2055..92fc51c 100644 --- a/kernel/src/scheduler/ap_startup.c +++ b/kernel/src/scheduler/ap_startup.c @@ -5,13 +5,14 @@ #include <gdt.h> #include <paging.h> -void ap_startup(void) { +void ap_startup(void) +{ load_idt(&idt_pointer); load_gdt(&gdt_pointer); load_pt_lvl4(page_table_lvl4); - while (bspdone) { - __asm__ __volatile__ ("pause;"); + while (!bspdone) { + __asm__ __volatile__("pause;"); } printf("curr_cpu_apic_id: 0x%x\n", curr_cpu_apic_id()); @@ -19,7 +20,7 @@ void ap_startup(void) { ap_cnt++; unlock(cnt_lock); - for(;;) { - __asm__ __volatile__ ("hlt;"); + for (;;) { + __asm__ __volatile__("hlt;"); } } |
