From 6a033344b594f4cb57379c6888e17197185d7bfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Lov=C3=A9n?= Date: Sun, 16 Jan 2022 21:19:49 +0100 Subject: [PATCH] Save ACPI table address from multiboot headers --- src/kernel/boot/multiboot.c | 4 ++++ src/kernel/include/multiboot.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/kernel/boot/multiboot.c b/src/kernel/boot/multiboot.c index e781e18..89f10e2 100644 --- a/src/kernel/boot/multiboot.c +++ b/src/kernel/boot/multiboot.c @@ -56,6 +56,10 @@ static int parse_multiboot2(struct taglist *tags) case MBOOT2_TAG_FBINFO: kernel_boot_data.fbinfo = (void *)tag->data; break; + case MBOOT2_TAG_OLD_RSDP: + case MBOOT2_TAG_NEW_RSDP: + kernel_boot_data.rsdp = (void *)tag->data; + break; } // Tags are 8 byte alligned, so make sure we look for the next one in the right place diff --git a/src/kernel/include/multiboot.h b/src/kernel/include/multiboot.h index 9433581..17e3a95 100644 --- a/src/kernel/include/multiboot.h +++ b/src/kernel/include/multiboot.h @@ -10,6 +10,8 @@ #define MBOOT2_TAG_BOOTLOADER 2 #define MBOOT2_TAG_MMAP 6 #define MBOOT2_TAG_FBINFO 8 +#define MBOOT2_TAG_OLD_RSDP 14 +#define MBOOT2_TAG_NEW_RSDP 15 #ifndef __ASSEMBLER__ #include @@ -36,6 +38,7 @@ struct kernel_boot_data_st{ unsigned int mmap_len; void *mmap; struct fbinfo *fbinfo; + void *rsdp; }; #define MMAP_FREE 1