Kernel: Don't ignore modules passed with multiboot2

This commit is contained in:
2025-06-30 16:07:48 +03:00
parent c67198032f
commit 17f1ac10e3
7 changed files with 96 additions and 48 deletions

View File

@@ -41,6 +41,12 @@ namespace Kernel
Type type;
};
struct BootModule
{
paddr_t start;
size_t size;
};
struct BootInfo
{
BAN::String command_line;
@@ -48,6 +54,7 @@ namespace Kernel
RSDP rsdp {};
paddr_t kernel_paddr {};
BAN::Vector<BootModule> modules;
BAN::Vector<MemoryMapEntry> memory_map_entries;
};

View File

@@ -6,6 +6,7 @@
#define MULTIBOOT2_TAG_END 0
#define MULTIBOOT2_TAG_CMDLINE 1
#define MULTIBOOT2_TAG_MODULES 3
#define MULTIBOOT2_TAG_MMAP 6
#define MULTIBOOT2_TAG_FRAMEBUFFER 8
#define MULTIBOOT2_TAG_OLD_RSDP 14
@@ -33,6 +34,13 @@ struct multiboot2_cmdline_tag_t : public multiboot2_tag_t
char cmdline[];
} __attribute__((packed));
struct multiboot2_modules_tag_t : public multiboot2_tag_t
{
uint32_t mod_start;
uint32_t mod_end;
uint8_t string[];
} __attribute__((packed));
struct multiboot2_mmap_entry_t
{
uint64_t base_addr;