More verbose multicore debugging
[akaros.git] / kern / src / init.c
index 67cccc0..8ceff5c 100644 (file)
 #include <kclock.h>
 #include <manager.h>
 #include <testing.h>
+#include <kmalloc.h>
+
+#include <arch/init.h>
+#include <arch/bitmask.h>
+#include <slab.h>
+#include <kfs.h>
+
+// zra: flag for Ivy
+int booting = 1;
 
 void kernel_init(multiboot_info_t *mboot_info)
 {
@@ -57,16 +66,25 @@ void kernel_init(multiboot_info_t *mboot_info)
 
        cache_init();
        page_init();
+       kmem_cache_init();
+       kmalloc_init();
+       cache_color_alloc_init();
+       colored_page_alloc_init();
        page_check();
-       //test_page_coloring();
 
        idt_init();
        sysenter_init();
        timer_init();
-
-       // this returns when all other cores are done and ready to receive IPIs
-       smp_boot();
-       env_init();
+       
+       // At this point our boot paths diverge based on arch. 
+       arch_init();
+               
+//     printk("Starting tests....\n");
+//     test_color_alloc();
+//     printk("Testing complete....\n");
+
+       // zra: let's Ivy know we're done booting
+       booting = 0;
 
        manager();
 }