From e0bac2387b373316337b177fe8aa9851b0d5e870 Mon Sep 17 00:00:00 2001 From: Alexey Gavrilov Date: Tue, 26 Mar 2024 13:51:05 +0700 Subject: Implement MADT table --- kernel/kernel.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'kernel') diff --git a/kernel/kernel.c b/kernel/kernel.c index dfb03e4..1fb167f 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -1,6 +1,9 @@ #include "../arch/SecondaryInit.h" +#include "../drivers/acpi/Acpi.h" +#include -#include "../arch/x86/cpuinfo/Cpuinfo.h" + +void empty() {}; void main() { @@ -10,4 +13,20 @@ void main() init.devicesInitialize(); out::display << "Hello, World!\n"; + Rsdp *rsdp = (Rsdp *)StringOperations::findInMemory(Rsdp::signatureString, + MemArea( + Rsdp::romAreaStart, + Rsdp::romAreaEnd)); + const Rsdt *rsdt = rsdp->getRsdt(); + const Entry *entry = rsdt->getEntry(1); + const Madt *madt = (Madt *)entry; + const Ics *icsEntry[10] = {madt->getIcs(0), + madt->getIcs(1), + madt->getIcs(2), + madt->getIcs(3), + madt->getIcs(4), + madt->getIcs(5), + madt->getIcs(6), + madt->getIcs(7)}; + empty(); }; -- cgit v1.2.3