diff options
Diffstat (limited to 'i686/isr.c')
-rw-r--r-- | i686/isr.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/i686/isr.c b/i686/isr.c deleted file mode 100644 index acc2961..0000000 --- a/i686/isr.c +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Interrupt Service Routines - */ - -#include "idt.h" -#include "sys/control.h" -#include <stdio.h> - -__attribute__((interrupt)) void -abort_handler(struct interrupt_frame *frame) -{ - printf("### system abort ###\n"); - printf("# ip: %x cs=%x\n", frame->ip, frame->cs); - printf("# sp: %x ss=%x\n", frame->sp, frame->ss); - printf("# flags: %x\n", frame->flags); - abort(); -} - -__attribute__((interrupt)) void -syscall_handler(__attribute__((unused)) struct interrupt_frame *frame) -{ - unsigned int n; - __asm__("mov %%eax, %0" : "=r"(n)); - printf("syscall %x\n, n"); - abort(); -} - -void pic_clear(unsigned char irq); - -__attribute__((interrupt)) void -irq0x00(__attribute__((unused)) struct interrupt_frame *frame) -{ - pic_clear(0x00); -} - -extern void ps2_keyboard_irq_handler(); -__attribute__((interrupt)) void -irq0x01(__attribute__((unused)) struct interrupt_frame *frame) -{ - ps2_keyboard_irq_handler(); - pic_clear(0x01); -} - -extern void mouse_packet(); -__attribute__((interrupt)) void -irq0x0c(__attribute__((unused)) struct interrupt_frame *frame) -{ - mouse_packet(); - pic_clear(0x0c); -} |