diff options
Diffstat (limited to 'kernel/timer.c')
| -rw-r--r-- | kernel/timer.c | 17 |
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; } |
