#define FOOLOS_MODULE_NAME "multiboot" #include "multiboot.h" #include "lib/logger/log.h" uint32_t* get_multiboot(uint32_t eax, uint32_t ebx) { if(eax!=0x2badb002)panic(FOOLOS_MODULE_NAME,"EAX was not set properly by your bootlaoder!"); multiboot_information *info; info=ebx; if(info->flags&&1<<9) { log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"Loaded by: \"%s\"",info->boot_loader_name); } log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"multiboot flags: 0x%08X",info->flags); if(info->flags&&1<<0) { log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mem_lower: %d KB",info->mem_lower); log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"mem_upper: %d KB",info->mem_upper); } if(info->flags&&1<<2) { log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"cmdline: \"%s\"",info->cmdline); } return info; }