Add multiboot module
diff --git a/src/kernel/main.c b/src/kernel/main.c
index 9485def..5c04768 100644
--- a/src/kernel/main.c
+++ b/src/kernel/main.c
@@ -5,8 +5,9 @@
#include "paging.h"
#include "timer.h"
#include "vga.h"
+#include "multiboot.h"
-int kmain(void *mboot)
+int kmain(struct multiboot *mboot)
{
init_paging();
init_vga();
@@ -49,6 +50,17 @@
*four = 4;
kprintf("Allocated four = %d (%x)\n", *four, four);
+ // Load initrd
+ struct multiboot mb = make_multiboot_physical(mboot);
+
+ kassert(mb.mods_count, "No multiboot modules loaded!");
+ kprintf("mboot->mods_addr = %d (0x%x)\n", mb.mods_addr, mb.mods_addr);
+ uint *initrd_loc = mb.mods_addr[0],
+ *initrd_end = mboot->mods_addr[1];
+
+ kprintf("initrd is at 0x%x to 0x%x\n", initrd_loc, initrd_end);
+
+
asm volatile("sti");
while (true)