diff options
author | Marvin Borner | 2020-04-18 00:07:37 +0200 |
---|---|---|
committer | Marvin Borner | 2020-04-18 00:07:37 +0200 |
commit | 8d78616a2b80c7625c1aa9ca4733e48a8bf8bf22 (patch) | |
tree | 894bddb357ca1976fcfd3b54d1e8fe48bbac569b /src/kernel/multiboot.c | |
parent | 27c38d3f6e473d2bf7075fb364db148f22aca203 (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.c | 9 |
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"); |