diff options
author | Freya Murphy <freya@freyacat.org> | 2025-04-08 17:55:23 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-04-08 17:55:23 -0400 |
commit | 0d8a06e96d70b5a6a23dd086737a8df30f709e0e (patch) | |
tree | f06e93ef53acd7e2be157a745fb6e8480b563727 /kernel/mboot/mboot.h | |
parent | backtrace (diff) | |
download | comus-0d8a06e96d70b5a6a23dd086737a8df30f709e0e.tar.gz comus-0d8a06e96d70b5a6a23dd086737a8df30f709e0e.tar.bz2 comus-0d8a06e96d70b5a6a23dd086737a8df30f709e0e.zip |
refactor mboot
Diffstat (limited to 'kernel/mboot/mboot.h')
-rw-r--r-- | kernel/mboot/mboot.h | 82 |
1 files changed, 3 insertions, 79 deletions
diff --git a/kernel/mboot/mboot.h b/kernel/mboot/mboot.h index 7e8c09a..8887aec 100644 --- a/kernel/mboot/mboot.h +++ b/kernel/mboot/mboot.h @@ -11,93 +11,17 @@ #include <lib.h> -#define MBOOT_HEADER_MAGIC 0x36D76289 +#define MULTIBOOT2_BOOTLOADER_MAGIC 0x36D76289 -#define MBOOT_CMDLINE 1 -#define MBOOT_MEMORY_MAP 6 -#define MBOOT_FRAMEBUFFER 8 -#define MBOOT_ELF_SYMBOLS 9 -#define MBOOT_OLD_RSDP 14 -#define MBOOT_NEW_RSDP 15 - -struct mboot_info { +struct multiboot { uint32_t total_size; uint32_t reserved; char tags[]; }; -struct mboot_tag { - uint32_t type; - uint32_t size; - char data[]; -}; - -struct mboot_tag_elf_sections { - uint32_t type; - uint32_t size; - uint16_t num; - uint16_t entsize; - uint16_t shndx; - uint16_t reserved; - char sections[]; -}; - -struct mboot_tag_elf_sections_entry { - uint32_t sh_name; - uint32_t sh_type; - uint64_t sh_flags; - uint64_t sh_addr; - uint64_t sh_offset; - uint64_t sh_size; - uint32_t sh_link; - uint32_t sh_info; - uint64_t sh_addralign; - uint64_t sh_entsize; -}; - -struct mboot_mmap_entry { - uint64_t addr; - uint64_t len; - uint32_t type; - uint32_t zero; -}; - -struct mboot_tag_mmap { - uint32_t type; - uint32_t size; - uint32_t entry_size; - uint32_t entry_version; - struct mboot_mmap_entry entries[]; -}; - -struct mboot_tag_old_rsdp { - uint32_t type; - uint32_t size; - char rsdp[]; -}; - -struct mboot_tag_new_rsdp { - uint32_t type; - uint32_t size; - char rsdp[]; -}; - -struct mboot_tag_cmdline { - uint32_t type; - uint32_t size; - uint8_t cmdline[]; -}; - -struct mboot_tag_framebuffer { +struct multiboot_tag { uint32_t type; uint32_t size; - uint64_t framebuffer_addr; - uint32_t framebuffer_pitch; - uint32_t framebuffer_width; - uint32_t framebuffer_height; - uint8_t framebuffer_bpp; - uint8_t framebuffer_type; - uint16_t reserved; }; void *locate_mboot_table(uint32_t type); |