summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/interrupts.c')
-rw-r--r--kernel/interrupts.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index a07cfef..944103d 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -1,4 +1,5 @@
#include "interrupts.h"
+#include "x86.h"
// the interrupt descriptor table
static struct int_desc
@@ -41,17 +42,12 @@ void int_generate88()
}
void int_def_handler()
{
- __asm__("pusha");
+ X86_IRQ_BEGIN
int_unhandled++;
- // send EOI to primary PIC
- __asm__("mov $0x20, %al");
- __asm__("out %al, $0x20");
+ X86_IRQ_END
- __asm__("popa");
- __asm__("leave");
- __asm__("iret");
}