Remove incomplete and unused `fast' vector code.

This commit is contained in:
mycroft 1996-11-20 14:09:07 +00:00
parent a935a72af3
commit 135b1cea1f
2 changed files with 4 additions and 84 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: isa_machdep.c,v 1.15 1996/08/30 15:39:31 mycroft Exp $ */
/* $NetBSD: isa_machdep.c,v 1.16 1996/11/20 14:09:07 mycroft Exp $ */
/*-
* Copyright (c) 1993, 1994, 1996 Charles M. Hannum. All rights reserved.
@ -56,7 +56,7 @@
#define IDTVEC(name) __CONCAT(X,name)
/* default interrupt vector table entries */
typedef (*vector) __P((void));
extern vector IDTVEC(intr)[], IDTVEC(fast)[];
extern vector IDTVEC(intr)[];
extern struct gate_descriptor idt[];
void isa_strayintr __P((int));
void intr_calculatemasks __P((void));
@ -137,7 +137,6 @@ isa_strayintr(irq)
strays >= 5 ? "; stopped logging" : "");
}
int fastvec;
int intrtype[ICU_LEN], intrmask[ICU_LEN], intrlevel[ICU_LEN];
struct intrhand *intrhand[ICU_LEN];

View File

@ -1,4 +1,4 @@
/* $NetBSD: vector.s,v 1.34 1996/11/20 11:37:52 jonathan Exp $ */
/* $NetBSD: vector.s,v 1.35 1996/11/20 14:09:09 mycroft Exp $ */
/*
* Copyright (c) 1993, 1994, 1995 Charles M. Hannum. All rights reserved.
@ -129,63 +129,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 _cnt+V_INTR /* statistical info */ ;\
incl _fastintrcnt + (4*(irq_num)) ;\
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.
*
@ -228,7 +171,7 @@ _Xresume/**/irq_num/**/: ;\
testl %ebx,%ebx ;\
jz _Xstray/**/irq_num /* no handlears; we're stray */ ;\
STRAY_INITIALIZE /* nobody claimed it yet */ ;\
incl _slowintrcnt + (4*(irq_num)) /* XXX */ ;\
incl _intrcnt + (4*(irq_num)) /* XXX */ ;\
7: movl IH_ARG(%ebx),%eax /* get handler arg */ ;\
testl %eax,%eax ;\
jnz 4f ;\
@ -300,11 +243,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().
@ -334,16 +272,10 @@ IDTVEC(recurse)
/* Names */
_intrnames:
_slowintrnames:
.asciz "irq0", "irq1", "irq2", "irq3"
.asciz "irq4", "irq5", "irq6", "irq7"
.asciz "irq8", "irq9", "irq10", "irq11"
.asciz "irq12", "irq13", "irq14", "irq15"
fastintrnames:
.asciz "firq0", "firq1", "firq2", "firq3"
.asciz "firq4", "firq5", "firq6", "firq7"
.asciz "firq8", "firq9", "firq10", "firq11"
.asciz "firq12", "firq13", "firq14", "firq15"
_strayintrnames:
.asciz "stray0", "stray1", "stray2", "stray3"
.asciz "stray4", "stray5", "stray6", "stray7"
@ -355,22 +287,11 @@ _eintrnames:
.data
.align 4
_intrcnt:
_slowintrcnt:
.long 0, 0, 0, 0, 0, 0, 0, 0
.long 0, 0, 0, 0, 0, 0, 0, 0
_fastintrcnt:
.long 0, 0, 0, 0, 0, 0, 0, 0
.long 0, 0, 0, 0, 0, 0, 0, 0
_strayintrcnt:
.long 0, 0, 0, 0, 0, 0, 0, 0
.long 0, 0, 0, 0, 0, 0, 0, 0
_spareintrcnt:
/* spare, for local use */
.long 0, 0, 0, 0, 0, 0, 0, 0
.long 0, 0, 0, 0, 0, 0, 0, 0
_eintrcnt:
.text