#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static cpu_t bsp_cpu; void kernel_entry() { cpu_set(&bsp_cpu); logging_sethook(arch_e9_putc); arch_gdt_reload(); arch_idt_setup(); arch_idt_reload(); pmm_init(); term_init(); logging_sethook(term_putchar); arch_mmu_init(); vmm_init(); alloc_init(); arch_acpi_init(); arch_apic_init(); arch_apic_initap(); // XXX fall back to another clock source time_t u = arch_hpet_init(); timekeeper_init(arch_hpet_ticks, u); arch_apic_timerinit(); __assert(!"kernel entry end"); }