Remove incomplete and unused `fast' vector code.
This commit is contained in:
parent
a935a72af3
commit
135b1cea1f
@ -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];
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user