From 0d8a06e96d70b5a6a23dd086737a8df30f709e0e Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Tue, 8 Apr 2025 17:55:23 -0400 Subject: refactor mboot --- kernel/mboot/mboot.h | 82 ++-------------------------------------------------- 1 file changed, 3 insertions(+), 79 deletions(-) (limited to 'kernel/mboot/mboot.h') 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 -#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); -- cgit v1.2.3-freya