fix(IDT): Fix use of runtime loop
This commit is contained in:
@@ -7,7 +7,7 @@ void Panic(const char *meditationString, System::PanicFrame* frame) {
|
|||||||
|
|
||||||
#if defined (__x86_64__)
|
#if defined (__x86_64__)
|
||||||
if (frame != nullptr) {
|
if (frame != nullptr) {
|
||||||
if (frame->InterruptVector == 0xE) { // In case of #PF the CPU pushes some other data to the frame
|
if (frame->InterruptVector == 0xE) { // In case of #PF the CPU pushes an error code to the frame
|
||||||
auto pf_frame = (System::PageFaultPanicFrame*)frame;
|
auto pf_frame = (System::PageFaultPanicFrame*)frame;
|
||||||
frame = (System::PanicFrame*)&pf_frame->IP;
|
frame = (System::PanicFrame*)&pf_frame->IP;
|
||||||
|
|
||||||
|
|||||||
@@ -116,9 +116,7 @@ namespace Hal {
|
|||||||
IDTR.Limit = 0x0FF;
|
IDTR.Limit = 0x0FF;
|
||||||
IDTR.Base = (uint64_t)&IDT;
|
IDTR.Base = (uint64_t)&IDT;
|
||||||
|
|
||||||
for (size_t i = 0; i < 32; i++) {
|
SetHandler<0, 31>::run();
|
||||||
SetHandler<0, 31>::run();
|
|
||||||
}
|
|
||||||
|
|
||||||
kout << "[Hal] Created exception interrupt vectors" << "\n";
|
kout << "[Hal] Created exception interrupt vectors" << "\n";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user