summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-08-20 15:55:03 +0200
committerMichal Idziorek <m.i@gmx.at>2014-08-20 15:55:03 +0200
commitdc164927e71d760a41494ab1edf8e3deeda401db (patch)
tree65253b4a5e443c599341d5972b58449388a4b2b1 /kernel/interrupts.c
parent46063e75f3f81dfb532fa5772c88e9027a0faebd (diff)
started implementing floppy driver etc.
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");
}