diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2001-12-06 21:09:14 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2001-12-06 21:09:14 +0000 |
commit | f0f03d51f586f7de8e645ffbcc11bf7170ebaf80 (patch) | |
tree | 65e4d187dced46275e64733f1ee88d5b67eccf08 /sys | |
parent | 22152326c86dedaeffeea603a2b8537eb23a165f (diff) |
Shave never used fastvec code
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/i386/isa/isa_machdep.c | 5 | ||||
-rw-r--r-- | sys/arch/i386/isa/vector.s | 63 |
2 files changed, 3 insertions, 65 deletions
diff --git a/sys/arch/i386/isa/isa_machdep.c b/sys/arch/i386/isa/isa_machdep.c index 2ca2f0173af..6347d5ee698 100644 --- a/sys/arch/i386/isa/isa_machdep.c +++ b/sys/arch/i386/isa/isa_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: isa_machdep.c,v 1.43 2001/12/04 00:00:36 niklas Exp $ */ +/* $OpenBSD: isa_machdep.c,v 1.44 2001/12/06 21:09:13 niklas Exp $ */ /* $NetBSD: isa_machdep.c,v 1.22 1997/06/12 23:57:32 thorpej Exp $ */ #define ISA_DMA_STATS @@ -151,7 +151,7 @@ extern vm_offset_t avail_end; #define IDTVEC(name) __CONCAT(X,name) /* default interrupt vector table entries */ typedef int (*vector) __P((void)); -extern vector IDTVEC(intr)[], IDTVEC(fast)[]; +extern vector IDTVEC(intr)[]; void isa_strayintr __P((int)); void intr_calculatemasks __P((void)); int fakeintr __P((void *)); @@ -286,7 +286,6 @@ isa_strayintr(irq) intrstray[irq] >= 5 ? "; stopped logging" : ""); } -int fastvec; int intrtype[ICU_LEN], intrmask[ICU_LEN], intrlevel[ICU_LEN]; int iminlevel[ICU_LEN], imaxlevel[ICU_LEN]; struct intrhand *intrhand[ICU_LEN]; diff --git a/sys/arch/i386/isa/vector.s b/sys/arch/i386/isa/vector.s index b445c720ef1..1407c3166fe 100644 --- a/sys/arch/i386/isa/vector.s +++ b/sys/arch/i386/isa/vector.s @@ -1,4 +1,4 @@ -/* $OpenBSD: vector.s,v 1.14 2001/12/04 00:00:36 niklas Exp $ */ +/* $OpenBSD: vector.s,v 1.15 2001/12/06 21:09:13 niklas Exp $ */ /* $NetBSD: vector.s,v 1.32 1996/01/07 21:29:47 mycroft Exp $ */ /* @@ -133,62 +133,6 @@ .globl _isa_strayintr /* - * Fast vectors. - * - * Like a normal vector, but run with all interrupts off. The handler is - * expected to be as fast as possible, and is expected to not change the - * interrupt flag. We pass an argument in like normal vectors, but we assume - * that a pointer to the frame is never required. There can be only one - * handler on a fast vector. - * - * XXX - * Note that we assume fast vectors don't do anything that would cause an AST - * or softintr; if so, it will be deferred until the next clock tick (or - * possibly sooner). - */ -#define FAST(irq_num, icu, ack) \ -IDTVEC(fast/**/irq_num) ;\ - pushl %eax /* save call-used registers */ ;\ - pushl %ecx ;\ - pushl %edx ;\ - pushl %ds ;\ - pushl %es ;\ - movl $GSEL(GDATA_SEL, SEL_KPL),%eax ;\ - movl %ax,%ds ;\ - movl %ax,%es ;\ - /* have to do this here because %eax is lost on call */ ;\ - movl _intrhand + (irq_num) * 4,%eax ;\ - incl IH_COUNT(%eax) ;\ - pushl IH_ARG(%eax) ;\ - call IH_FUN(%eax) ;\ - ack(irq_num) ;\ - addl $4,%esp ;\ - incl MY_COUNT+V_INTR /* statistical info */ ;\ - popl %es ;\ - popl %ds ;\ - popl %edx ;\ - popl %ecx ;\ - popl %eax ;\ - iret - -FAST(0, IO_ICU1, ACK1) -FAST(1, IO_ICU1, ACK1) -FAST(2, IO_ICU1, ACK1) -FAST(3, IO_ICU1, ACK1) -FAST(4, IO_ICU1, ACK1) -FAST(5, IO_ICU1, ACK1) -FAST(6, IO_ICU1, ACK1) -FAST(7, IO_ICU1, ACK1) -FAST(8, IO_ICU2, ACK2) -FAST(9, IO_ICU2, ACK2) -FAST(10, IO_ICU2, ACK2) -FAST(11, IO_ICU2, ACK2) -FAST(12, IO_ICU2, ACK2) -FAST(13, IO_ICU2, ACK2) -FAST(14, IO_ICU2, ACK2) -FAST(15, IO_ICU2, ACK2) - -/* * Normal vectors. * * We cdr down the intrhand chain, calling each handler with its appropriate @@ -304,11 +248,6 @@ IDTVEC(intr) .long _Xintr0, _Xintr1, _Xintr2, _Xintr3, _Xintr4, _Xintr5, _Xintr6 .long _Xintr7, _Xintr8, _Xintr9, _Xintr10, _Xintr11, _Xintr12 .long _Xintr13, _Xintr14, _Xintr15 -/* fast interrupt routine entry points */ -IDTVEC(fast) - .long _Xfast0, _Xfast1, _Xfast2, _Xfast3, _Xfast4, _Xfast5, _Xfast6 - .long _Xfast7, _Xfast8, _Xfast9, _Xfast10, _Xfast11, _Xfast12 - .long _Xfast13, _Xfast14, _Xfast15 /* * These tables are used by Xdoreti() and Xspllower(). |