minor adjustments
[lunaix-os.git] / lunaix-os / kernel / k_init.c
index 2dbd64ee7d76f87261716f7e05cea38a77193267..ce97b6ef7c20edb8872b59e30540a29eb449da1a 100644 (file)
@@ -1,4 +1,4 @@
-#include <lunaix/constants.h>
+#include <lunaix/common.h>
 #include <lunaix/tty/tty.h>
 
 #include <lunaix/mm/page.h>
@@ -7,6 +7,7 @@
 #include <lunaix/mm/kalloc.h>
 #include <lunaix/spike.h>
 #include <lunaix/syslog.h>
+#include <lunaix/timer.h>
 
 #include <hal/rtc.h>
 #include <hal/apic.h>
@@ -27,6 +28,8 @@ extern uint8_t __kernel_start;
 extern uint8_t __kernel_end;
 extern uint8_t __init_hhk_end;
 
+
+// Set remotely by kernel/asm/x86/prologue.S
 multiboot_info_t* _k_init_mb_info;
 
 LOG_MODULE("INIT");
@@ -92,8 +95,9 @@ _kernel_post_init() {
     vmm_set_mapping(APIC_BASE_VADDR, __APIC_BASE_PADDR, PG_PREM_RW);
     vmm_set_mapping(IOAPIC_BASE_VADDR, ioapic_addr, PG_PREM_RW);
 
+    apic_init();
     ioapic_init();
-    init_apic();
+    timer_init(SYS_TIMER_FREQUENCY_HZ);
 
     for (size_t i = 256; i < hhk_init_pg_count; i++) {
         vmm_unmap_page((void*)(i << PG_SIZE_BITS));