aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/multiboot.c
diff options
context:
space:
mode:
authorMarvin Borner2020-04-18 00:07:37 +0200
committerMarvin Borner2020-04-18 00:07:37 +0200
commit8d78616a2b80c7625c1aa9ca4733e48a8bf8bf22 (patch)
tree894bddb357ca1976fcfd3b54d1e8fe48bbac569b /src/kernel/multiboot.c
parent27c38d3f6e473d2bf7075fb364db148f22aca203 (diff)
Completely reworked ACPI tables
I'm too exhausted right now, but I rediscovered the memory mapping issue of my ACPI implementatio and need to fix it ASAP. Otherwise I won't be able to use any ACPI table without causing a page fault. I have no clue why exactly this is happening and the internet says that I shouldn't need to memory map them. Well, I'll look into it later.
Diffstat (limited to 'src/kernel/multiboot.c')
-rw-r--r--src/kernel/multiboot.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/kernel/multiboot.c b/src/kernel/multiboot.c
index 2df1d0e..01a2f66 100644
--- a/src/kernel/multiboot.c
+++ b/src/kernel/multiboot.c
@@ -2,6 +2,7 @@
#include <kernel/system.h>
#include <kernel/multiboot.h>
#include <kernel/smbios/smbios.h>
+#include <kernel/acpi/acpi.h>
#include <kernel/lib/lib.h>
#include <kernel/lib/stdio.h>
@@ -46,16 +47,18 @@ void multiboot_parse(uint32_t multiboot_address)
case MULTIBOOT_TAG_TYPE_EFI32:
info("Got EFI32");
break;
- case MULTIBOOT_TAG_TYPE_SMBIOS:
+ case MULTIBOOT_TAG_TYPE_SMBIOS:
// GRUB doesn't detect SMBIOS on QEMU!
info("Got SMBIOS table");
smbios_init((struct multiboot_tag_smbios *)tag);
break;
case MULTIBOOT_TAG_TYPE_ACPI_OLD:
- info("Got ACPI table");
+ info("Got ACPI 1.0 table");
+ acpi_old_init((struct multiboot_tag_old_acpi *)tag);
break;
case MULTIBOOT_TAG_TYPE_ACPI_NEW:
- info("Got new ACPI table");
+ info("Got ACPI 2.0 table");
+ acpi_new_init((struct multiboot_tag_new_acpi *)tag);
break;
case MULTIBOOT_TAG_TYPE_NETWORK:
info("Got network info");