From d7c12c5210ed1545549b9d2b14fb9fb89ce652e2 Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Wed, 13 May 2015 01:18:53 +0200 Subject: implementing multiboot spec stuff --- kernel/multiboot.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 kernel/multiboot.h (limited to 'kernel/multiboot.h') diff --git a/kernel/multiboot.h b/kernel/multiboot.h new file mode 100644 index 0000000..874e473 --- /dev/null +++ b/kernel/multiboot.h @@ -0,0 +1,50 @@ +//# https://www.gnu.org/software/grub/manual/multiboot/multiboot.html#Boot-information-format + + +#include +#include + +typedef struct multiboot_information_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; + uint32_t mods_syms[4]; + uint32_t mmap_length; + uint32_t mmap_addr; + uint32_t drives_length; + uint32_t drives_addr; + uint32_t config_table; + uint32_t boot_loader_name; + uint32_t amp_table; + uint32_t vbe_control_info; + uint32_t vbe_mode_info; + uint16_t vbe_mode; + uint16_t vbe_interface_seg; + uint16_t vbe_interface_off; + uint16_t vbe_interface_len; + + +}multiboot_information; + +typedef struct multiboot_mmap_struct +{ + uint32_t size; + uint64_t base_addr; + uint64_t length; + uint32_t type; + +}multiboot_mmap; + +typedef struct multiboot_mod_struct +{ + uint32_t mod_start; + uint32_t mod_end; + uint32_t string; + uint32_t reserved; + +}multiboot_mod; -- cgit v1.2.3