summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/force386/startup/setvec.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/i386/force386/startup/setvec.c')
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/setvec.c59
1 files changed, 0 insertions, 59 deletions
diff --git a/c/src/lib/libbsp/i386/force386/startup/setvec.c b/c/src/lib/libbsp/i386/force386/startup/setvec.c
deleted file mode 100644
index 370178a8f5..0000000000
--- a/c/src/lib/libbsp/i386/force386/startup/setvec.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* set_vector
- *
- * This routine installs an interrupt vector on the Force CPU-386.
- *
- * INPUT:
- * handler - interrupt handler entry point
- * vector - vector number
- * type - 0 indicates raw hardware connect
- * 1 indicates RTEMS interrupt connect
- *
- * RETURNS:
- * address of previous interrupt handler
- *
- * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
- * On-Line Applications Research Corporation (OAR).
- * All rights assigned to U.S. Government, 1994.
- *
- * This material may be reproduced by or for the U.S. Government pursuant
- * to the copyright license under the clause at DFARS 252.227-7013. This
- * notice must appear in all copies of this file and its derivatives.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <bsp.h>
-
-i386_isr set_vector( /* returns old vector */
- rtems_isr_entry handler, /* isr routine */
- rtems_vector_number vector, /* vector number */
- int type /* RTEMS or RAW intr */
-)
-{
- i386_isr previous_isr;
- i386_IDT_slot idt;
-
- if ( type )
- rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
- else {
- /* get the address of the old handler */
-
- idt = Interrupt_descriptor_table[ vector ];
-
- previous_isr = (i386_isr)
- ((idt.offset_16_31 << 16) | idt.offset_0_15);
-
- /* build the IDT entry */
- idt.offset_0_15 = ((rtems_unsigned32) handler) & 0xffff;
- idt.segment_selector = get_cs();
- idt.reserved = 0x00;
- idt.p_dpl = 0x8e; /* present, ISR */
- idt.offset_16_31 = ((rtems_unsigned32) handler) >> 16;
-
- /* install the IDT entry */
- Interrupt_descriptor_table[ vector ] = idt;
- }
- return previous_isr;
-}
-