]> git.dujemihanovic.xyz Git - nameless-os.git/blobdiff - kernel/arch/x86/irq/sample_handler.c
Fix interrupt trap gates
[nameless-os.git] / kernel / arch / x86 / irq / sample_handler.c
index c8bddfec63bf61b22ef239727e0d075accea5744..f4f4a4bfefad5aacf742f3c6ce2046c86eb1b85e 100644 (file)
@@ -1,5 +1,6 @@
 #include <tty.h>
 #include <irq/i8259a.h>
+#include <io.h>
 #include <stdint.h>
 
 typedef uint32_t uword_t;
@@ -17,14 +18,16 @@ void keyb_handler(struct interrupt_frame *frame)
 {
        pic_send_eoi(1);
        kprint("Got a keyboard interrupt!\n", 0);
+       inb(0x60);
 }
 
 
 __attribute__((interrupt))
 void double_fault(struct abort_frame *frame)
 {
-       *(volatile char *) (0xb8000) = ":";
-       *(volatile char *) (0xb8002) = "(";
+       *(volatile uint32_t *) (0xb8000) = 0xcf28cf3a;
+halt:
        asm volatile ("cli; hlt");
+       goto halt;
 }