diff options
Diffstat (limited to 'cpu/i386/interrupts.c')
-rw-r--r-- | cpu/i386/interrupts.c | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/cpu/i386/interrupts.c b/cpu/i386/interrupts.c index 84825ae..f340119 100644 --- a/cpu/i386/interrupts.c +++ b/cpu/i386/interrupts.c @@ -22,7 +22,6 @@ */ #include <common.h> -#include <syscall.h> #include <malloc.h> #include <asm/io.h> #include <asm/i8259.h> @@ -58,31 +57,6 @@ typedef struct { static irq_desc_t irq_table[MAX_IRQ]; - -asm(".globl syscall_entry\n" \ - "syscall_entry:\n" \ - "popl %ebx\n" /* throw away the return address, flags */ \ - "popl %ebx\n" /* and segment that the INT instruction pushed */ \ - "popl %ebx\n" /* on to the stack */ \ - "movl %eax, %ecx\n" /* load the syscall nr argument*/ \ - "movl syscall_tbl, %eax\n" /* load start of syscall table */ \ - "cmpl $(11-1), %ecx\n" /* FixMe: find a way to use NR_SYSCALLS macro here */ \ - "ja bad_syscall\n" \ - "movl (%eax, %ecx, 4), %eax\n" /* load the handler of the syscall*/ \ - "test %eax, %eax\n" /* test for null */ \ - "je bad_syscall\n" \ - "popl %ecx\n" \ - "popl %ebx\n" \ - "sti \n" \ - "jmp *%eax\n" \ -"bad_syscall: movl $0xffffffff, %eax\n" \ - "popl %ecx\n" \ - "popl %ebx\n" \ - "ret"); - -void __attribute__ ((regparm(0))) syscall_entry(void); - - asm ("irq_return:\n" " addl $4, %esp\n" " popa\n" @@ -483,7 +457,6 @@ int interrupt_init(void) set_vector(0x2e, irq_14); set_vector(0x2f, irq_15); /* vectors 0x30-0x3f are reserved for irq 16-31 */ - set_vector(0x40, syscall_entry); /* Mask all interrupts */ |