diff options
Diffstat (limited to 'kernel/kernel.c')
| -rw-r--r-- | kernel/kernel.c | 21 |
1 files changed, 20 insertions, 1 deletions
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 <StringOperations.h> -#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(); }; |
