X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=cpu%2Fi386%2Finterrupts.c;h=f340119900689bbc4d915cc1fe46208c6673a4fd;hb=f060054dadbbe7027ca088eed806a3ef1f82fdb7;hp=84825aea192392105b0682fc4c035345da5cbd99;hpb=8bde7f776c77b343aca29b8c7b58464d915ac245;p=u-boot diff --git a/cpu/i386/interrupts.c b/cpu/i386/interrupts.c index 84825aea19..f340119900 100644 --- a/cpu/i386/interrupts.c +++ b/cpu/i386/interrupts.c @@ -22,7 +22,6 @@ */ #include -#include #include #include #include @@ -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 */