summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kernel.c21
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();
};