Created architecture specific init processes, fixed gcc warnings
[akaros.git] / kern / src / init.c
index 67cccc0..95600a5 100644 (file)
 #include <manager.h>
 #include <testing.h>
 
+#include <arch/init.h>
+
+// zra: flag for Ivy
+int booting = 1;
+
 void kernel_init(multiboot_info_t *mboot_info)
 {
        extern char (RO BND(__this, end) edata)[], (RO SNT end)[];
@@ -63,10 +68,12 @@ void kernel_init(multiboot_info_t *mboot_info)
        idt_init();
        sysenter_init();
        timer_init();
+       
+       // At this point our boot paths diverge based on arch. 
+       arch_init();
 
-       // this returns when all other cores are done and ready to receive IPIs
-       smp_boot();
-       env_init();
+       // zra: let's Ivy know we're done booting
+       booting = 0;
 
        manager();
 }