Use updated multiboot_info_t from GRUB docs
diff --git a/src/kernel/multiboot.c b/src/kernel/multiboot.c
index 63f6ed1..c3a3a2e 100644
--- a/src/kernel/multiboot.c
+++ b/src/kernel/multiboot.c
@@ -5,20 +5,20 @@
 #define TO_VIRT(val, t) val = (t)((size_t)val + 0xc0000000u)
 
 // old should be a VIRTUAL address
-struct multiboot make_multiboot_physical(struct multiboot *old)
+struct multiboot_info make_multiboot_physical(struct multiboot_info *old)
 {
-	struct multiboot mb;
+	struct multiboot_info mb;
 	memcpy(&mb, old, sizeof(mb));
 
 	// Make modules physical
-	TO_VIRT(mb.mods_addr, uint **);
-	TO_VIRT(mb.cmdline, char *);
+	TO_VIRT(mb.mods_addr, uint);
+	TO_VIRT(mb.cmdline, char);
 
 	kprintf("mb.mods_addr = %d, 0x%x\n", mb.mods_addr, mb.mods_addr);
 	kassert((size_t)mb.mods_addr > 0xc0000000, "mb.mods_addr PHYSICAL");
 	for (int i = 0; i < mb.mods_count + 1; i++)
 	{
-		TO_VIRT(mb.mods_addr[i], uchar *);
+		TO_VIRT(*(uint *)(mb.mods_addr+i), uint);
 	}
 
 	return mb;