summaryrefslogtreecommitdiff
path: root/kernel/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/timer.c')
-rw-r--r--kernel/timer.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/kernel/timer.c b/kernel/timer.c
index da62f78..b4787b9 100644
--- a/kernel/timer.c
+++ b/kernel/timer.c
@@ -32,6 +32,7 @@
*/
#include "kernel.h"
+#include "x86.h"
static uint64_t timer64=0;
static uint8_t timer8=0;
@@ -40,12 +41,10 @@ uint16_t timer16=0;
// clock handler
void int_clock_handler()
{
- __asm__("pusha");
-
+ X86_IRQ_BEGIN;
timer64++;
-
#ifdef DEBUG
timer8++;
@@ -64,17 +63,7 @@ void int_clock_handler()
timer8=0;
}
- // todo also the other pic!// TODO
- __asm__("mov $0x20, %al");
- __asm__("out %al, $0x20");
- //
-
- __asm__("popa");
- __asm__("leave");
- __asm__("iret");
- __asm__("popa");
- __asm__("leave");
- __asm__("iret");
+ X86_IRQ_END;
}