From b72c69ef1cc6ff72b84e81a230e3c6e5edcb7fbe Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Thu, 1 Sep 2022 15:50:59 -0400 Subject: [PATCH] Clear interrupts on HULK startup just in case --- src/hos/cpu.d | 5 +++++ src/hulk/hulk.d | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/hos/cpu.d b/src/hos/cpu.d index 7802f3f..4b83603 100644 --- a/src/hos/cpu.d +++ b/src/hos/cpu.d @@ -1,5 +1,10 @@ import ldc.llvmasm; +void cli() +{ + __asm("cli", ""); +} + ulong read_cr0() { return __asm!ulong("mov %cr0, %rax", "={rax}"); diff --git a/src/hulk/hulk.d b/src/hulk/hulk.d index f6c695d..43c1284 100644 --- a/src/hulk/hulk.d +++ b/src/hulk/hulk.d @@ -14,6 +14,7 @@ import hulk.hurl; import hulk.hippo; import hulk.pci; import hulk.gdt; +import hos.cpu; extern extern(C) __gshared ubyte _hulk_total_size; @@ -32,6 +33,7 @@ private __gshared HulkHeader hulk_header = { */ void hulk_start() { + cli(); gdt.initialize(); fb.initialize(cast(uint *)HULK_VIRTUAL_FRAMEBUFFER_ADDRESS, hulk_header.bootinfo.fb.width, hulk_header.bootinfo.fb.height, hulk_header.bootinfo.fb.stride); console.initialize();