diff --git a/include/kmultiboot.h b/include/kmultiboot.h new file mode 100644 index 0000000..9997d53 --- /dev/null +++ b/include/kmultiboot.h @@ -0,0 +1,21 @@ +#ifndef KMULTIBOOT_H +#define KMULTIBOOT_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; + +typedef struct multiboot_mmap_entry { + uint32_t ssize; //size of the entry + uint64_t addr; //physical location of memory + uint64_t msize; + uint32_t type; +} __attribute__((packed)); + +#endif diff --git a/src/main.c b/src/main.c index bad066f..dbfdc24 100644 --- a/src/main.c +++ b/src/main.c @@ -3,16 +3,7 @@ #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; +#include "kmultiboot.h" //finally, main. void kern_main(uint32_t multiboot_magic, multiboot_info_t* multiboot_info) @@ -33,6 +24,6 @@ void kern_main(uint32_t multiboot_magic, multiboot_info_t* multiboot_info) vga_printf("MEM_LOWER:%X\n", multiboot_info->mem_lower); vga_printf("MEM_UPPER:%X\n", multiboot_info->mem_upper); - + }