diff options
| author | Michal Idziorek <m.i@gmx.at> | 2015-05-13 01:18:53 +0200 |
|---|---|---|
| committer | Michal Idziorek <m.i@gmx.at> | 2015-05-13 01:18:53 +0200 |
| commit | d7c12c5210ed1545549b9d2b14fb9fb89ce652e2 (patch) | |
| tree | 845e62b2f504138e7a95e35eee31d9b3a38bb287 /kernel/multiboot.h | |
| parent | 2c1148e7920cf1d4c772d0d81757a7f8d736648e (diff) | |
implementing multiboot spec stuff
Diffstat (limited to 'kernel/multiboot.h')
| -rw-r--r-- | kernel/multiboot.h | 50 |
1 files changed, 50 insertions, 0 deletions
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 <stdbool.h> +#include <stdint.h> + +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; |
