diff --git a/src/kernel/boot/multiboot.c b/src/kernel/boot/multiboot.c index 2c85bce..cfb8bbd 100644 --- a/src/kernel/boot/multiboot.c +++ b/src/kernel/boot/multiboot.c @@ -4,11 +4,25 @@ #define MBOOT_REPLY 0x36D76289 +struct taglist{ + uint32_t total_size; + uint32_t reserved; +}__attribute__((packed)); + +struct tag { + uint32_t type; + uint32_t size; + uint8_t data[]; +}__attribute__((packed)); + +#define MBOOT2_COMMANDLINE 1 +#define MBOOT2_BOOTLOADER 2 + struct kernel_boot_data_st kernel_boot_data; -int parse_multiboot2(struct mboot2_taglist *tags) +int parse_multiboot2(struct taglist *tags) { - struct mboot2_tag *tag = incptr(tags, sizeof(struct mboot2_taglist)); + struct tag *tag = incptr(tags, sizeof(struct taglist)); while(tag->type) { switch(tag->type) diff --git a/src/kernel/boot/multiboot.tt b/src/kernel/boot/multiboot.tt index 47c9574..8f903fc 100644 --- a/src/kernel/boot/multiboot.tt +++ b/src/kernel/boot/multiboot.tt @@ -1,9 +1,6 @@ // vim: ft=c #include -#include -#undef debug -#define debug(...) #include "multiboot.c" #include diff --git a/src/kernel/include/multiboot.h b/src/kernel/include/multiboot.h index 39a93c5..b1d2314 100644 --- a/src/kernel/include/multiboot.h +++ b/src/kernel/include/multiboot.h @@ -7,19 +7,6 @@ struct kernel_boot_data_st char *commandline; }; -struct kernel_boot_data_st kernel_boot_data; - -struct mboot2_taglist{ - uint32_t total_size; - uint32_t reserved; -}__attribute__((packed)); -struct mboot2_tag { - uint32_t type; - uint32_t size; - uint8_t data[]; -}__attribute__((packed)); - -#define MBOOT2_COMMANDLINE 1 -#define MBOOT2_BOOTLOADER 2 +extern struct kernel_boot_data_st kernel_boot_data; int multiboot_init(uint64_t magic, void *mboot_info);