diff options
| author | wdenk <wdenk> | 2003-07-24 23:38:38 +0000 | 
|---|---|---|
| committer | wdenk <wdenk> | 2003-07-24 23:38:38 +0000 | 
| commit | 27b207fd0a0941b03f27e2a82c0468b1a090c745 (patch) | |
| tree | 4d339d7a2a00889f09a876425ce430be57de56e9 /cpu/i386/interrupts.c | |
| parent | 2535d60277cc295adf75cd5721dcecd840c69a63 (diff) | |
| download | olio-uboot-2014.01-27b207fd0a0941b03f27e2a82c0468b1a090c745.tar.xz olio-uboot-2014.01-27b207fd0a0941b03f27e2a82c0468b1a090c745.zip | |
* 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)
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 84825aea1..f34011990 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 */ |