diff options
Diffstat (limited to 'src/arch/i386/multiboot.h')
-rw-r--r-- | src/arch/i386/multiboot.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/arch/i386/multiboot.h b/src/arch/i386/multiboot.h new file mode 100644 index 0000000..f030247 --- /dev/null +++ b/src/arch/i386/multiboot.h @@ -0,0 +1,31 @@ +#pragma once +#include <stdint.h> + +// TODO assert that pointers have 4 bytes. + +struct multiboot_mod { + void *start; + void *end; + const char *str; + uint32_t _reserved; +} __attribute__((packed)); + +struct multiboot_info { + uint32_t flag_mem : 1; + uint32_t flag_boot_device : 1; + uint32_t flag_cmdline : 1; + uint32_t flag_mods : 1; + uint32_t _flag_other : 28; // unimplemented + + uint32_t mem_lower; + uint32_t mem_upper; + + uint32_t boot_device; + + const char *cmdline; + + uint32_t mods_count; + struct multiboot_mod *mods; + + // [...] +} __attribute__((packed)); |