diff --git a/kernel/src/Hal/IDT.cpp b/kernel/src/Hal/IDT.cpp index 8cbc554..6ee4666 100644 --- a/kernel/src/Hal/IDT.cpp +++ b/kernel/src/Hal/IDT.cpp @@ -100,7 +100,7 @@ namespace Hal { template struct SetHandler { static void run() { - IDTEncodeInterrupt(I, (void*)&ExceptionHandler, TrapGate); + IDTEncodeInterrupt(I, (void*)ExceptionHandler, TrapGate); SetHandler::run(); } }; @@ -110,8 +110,10 @@ namespace Hal { void IDTInitialize() { IDT = (InterruptDescriptor*)Memory::g_pfa->Allocate(); + Kt::KernelLogStream(Kt::DEBUG, "IDT") << "Allocated IDT at " << base::hex << (uint64_t)IDT; IDTR.Limit = 0x0FF; - IDTR.Base = (uint64_t)&IDT; + IDTR.Base = (uint64_t)IDT; + Kt::KernelLogStream(Kt::DEBUG, "IDT") << "Set IDTR Base to " << base::hex << IDTR.Base << " and Limit to " << base::hex << IDTR.Limit; SetHandler<0, 31>::run();