summaryrefslogtreecommitdiff
path: root/cpu/idt.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpu/idt.c')
-rw-r--r--cpu/idt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cpu/idt.c b/cpu/idt.c
index 832162c..60ab441 100644
--- a/cpu/idt.c
+++ b/cpu/idt.c
@@ -108,6 +108,7 @@ __attribute__((interrupt)) void general_protection_fault(registers_t *regs) {
__attribute__((interrupt)) void double_fault(registers_t *regs) {
(void)regs;
klog("DOUBLE FAULT, THIS IS REALLY BAD", LOG_ERROR);
+ asm("cli");
asm("hlt");
for (;;)
;
@@ -258,6 +259,7 @@ void idt_init(void) {
// IRQ_set_mask(0xc);
IRQ_set_mask(0xe);
IRQ_clear_mask(2);
+ IRQ_set_mask(0xB);
idtr.interrupt_table = (struct IDT_Descriptor **)&IDT_Entry;
idtr.size = (sizeof(struct IDT_Descriptor) * IDT_MAX_ENTRY) - 1;