//Our own code, at this point... //#include #include #include "kio.h" #include "kttools.h" typedef struct { uint32_t flags; uint32_t mem_lower; uint32_t mem_upper; uint32_t boot_device; uint32_t cmdline; uint32_t mods_count; uint32_t mods_addr; } multiboot_info_t; //finally, main. void kern_main(uint32_t multiboot_magic, multiboot_info_t* multiboot_info) { //wipe the screen vga_clear(); //We're going to use this buffer as our 8char hex representation for reading mem vga_printf("Entry eax:%X\n", multiboot_magic); if(multiboot_magic != 0x2BADB002) { vga_println("Bootloader not multiboot1 compliant! Needed for mmap, etc. Can't work without it, kthxbye!"); return; } else { vga_println("Multiboot detected! Continuing..."); } vga_printf("MEM_LOWER:%X\n", multiboot_info->mem_lower); vga_printf("MEM_UPPER:%X\n", multiboot_info->mem_upper); }