From 27b207fd0a0941b03f27e2a82c0468b1a090c745 Mon Sep 17 00:00:00 2001 From: wdenk Date: Thu, 24 Jul 2003 23:38:38 +0000 Subject: * Implement new mechanism to export U-Boot's functions to standalone applications: instead of using (PPC-specific) system calls we now use a jump table; please see doc/README.standalone for details * Patch by Dave Westwood, 24 Jul 2003: added support for Unity OS (a proprietary OS) --- cpu/i386/interrupts.c | 27 --------------------------- 1 file changed, 27 deletions(-) (limited to 'cpu/i386') 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 -#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 */ -- cgit v1.1