Made the array vec[] a global.
This allows the APIC code to reorder the vectors at runtime.
This commit is contained in:
parent
6b35fac151
commit
383243e687
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=26129
@ -34,7 +34,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
|
||||
* $Id: clock.c,v 1.82 1997/05/04 14:25:00 peter Exp $
|
||||
* $Id: clock.c,v 1.83 1997/05/05 09:34:32 peter Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -829,7 +829,7 @@ resettodr()
|
||||
#if defined(APIC_IO)
|
||||
|
||||
/* from icu.s: */
|
||||
extern u_int hwisrs[];
|
||||
extern u_int vec[];
|
||||
extern void vec8254 __P((void));
|
||||
extern void vecRTC __P((void));
|
||||
extern u_int ivectors[];
|
||||
@ -894,7 +894,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vec8254;
|
||||
vec[x] = (u_int)vec8254;
|
||||
Xintr8254 = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
mask8254 = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 0, /* flags */ 0,
|
||||
@ -933,7 +933,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vecRTC;
|
||||
vec[x] = (u_int)vecRTC;
|
||||
XintrRTC = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
maskRTC = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 1, /* flags */ 0,
|
||||
|
@ -34,7 +34,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
|
||||
* $Id: clock.c,v 1.82 1997/05/04 14:25:00 peter Exp $
|
||||
* $Id: clock.c,v 1.83 1997/05/05 09:34:32 peter Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -829,7 +829,7 @@ resettodr()
|
||||
#if defined(APIC_IO)
|
||||
|
||||
/* from icu.s: */
|
||||
extern u_int hwisrs[];
|
||||
extern u_int vec[];
|
||||
extern void vec8254 __P((void));
|
||||
extern void vecRTC __P((void));
|
||||
extern u_int ivectors[];
|
||||
@ -894,7 +894,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vec8254;
|
||||
vec[x] = (u_int)vec8254;
|
||||
Xintr8254 = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
mask8254 = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 0, /* flags */ 0,
|
||||
@ -933,7 +933,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vecRTC;
|
||||
vec[x] = (u_int)vecRTC;
|
||||
XintrRTC = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
maskRTC = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 1, /* flags */ 0,
|
||||
|
@ -34,7 +34,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
|
||||
* $Id: clock.c,v 1.82 1997/05/04 14:25:00 peter Exp $
|
||||
* $Id: clock.c,v 1.83 1997/05/05 09:34:32 peter Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -829,7 +829,7 @@ resettodr()
|
||||
#if defined(APIC_IO)
|
||||
|
||||
/* from icu.s: */
|
||||
extern u_int hwisrs[];
|
||||
extern u_int vec[];
|
||||
extern void vec8254 __P((void));
|
||||
extern void vecRTC __P((void));
|
||||
extern u_int ivectors[];
|
||||
@ -894,7 +894,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vec8254;
|
||||
vec[x] = (u_int)vec8254;
|
||||
Xintr8254 = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
mask8254 = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 0, /* flags */ 0,
|
||||
@ -933,7 +933,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vecRTC;
|
||||
vec[x] = (u_int)vecRTC;
|
||||
XintrRTC = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
maskRTC = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 1, /* flags */ 0,
|
||||
|
@ -34,7 +34,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
|
||||
* $Id: clock.c,v 1.82 1997/05/04 14:25:00 peter Exp $
|
||||
* $Id: clock.c,v 1.83 1997/05/05 09:34:32 peter Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -829,7 +829,7 @@ resettodr()
|
||||
#if defined(APIC_IO)
|
||||
|
||||
/* from icu.s: */
|
||||
extern u_int hwisrs[];
|
||||
extern u_int vec[];
|
||||
extern void vec8254 __P((void));
|
||||
extern void vecRTC __P((void));
|
||||
extern u_int ivectors[];
|
||||
@ -894,7 +894,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vec8254;
|
||||
vec[x] = (u_int)vec8254;
|
||||
Xintr8254 = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
mask8254 = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 0, /* flags */ 0,
|
||||
@ -933,7 +933,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vecRTC;
|
||||
vec[x] = (u_int)vecRTC;
|
||||
XintrRTC = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
maskRTC = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 1, /* flags */ 0,
|
||||
|
@ -36,7 +36,7 @@
|
||||
*
|
||||
* @(#)icu.s 7.2 (Berkeley) 5/21/91
|
||||
*
|
||||
* $Id: icu.s,v 1.30 1997/04/26 11:45:54 peter Exp $
|
||||
* $Id: icu.s,v 1.31 1997/04/28 01:08:41 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -100,12 +100,9 @@ _mask8254:
|
||||
_maskRTC:
|
||||
.long 0
|
||||
|
||||
|
||||
/* this allows us to change ISA IRQ# vs APIC pin# assignments */
|
||||
.globl _hwisrs
|
||||
_hwisrs:
|
||||
#endif /* APIC_IO */
|
||||
vec:
|
||||
.globl _vec
|
||||
_vec:
|
||||
.long vec0, vec1, vec2, vec3, vec4, vec5, vec6, vec7
|
||||
.long vec8, vec9, vec10, vec11, vec12, vec13, vec14, vec15
|
||||
#if defined(APIC_IO)
|
||||
@ -294,7 +291,7 @@ splz_unpend:
|
||||
* We should change the interface so that the unit number is not
|
||||
* determined at config time.
|
||||
*/
|
||||
jmp *vec(,%ecx,4)
|
||||
jmp *_vec(,%ecx,4)
|
||||
|
||||
ALIGN_TEXT
|
||||
splz_swi:
|
||||
|
@ -34,7 +34,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)clock.c 7.2 (Berkeley) 5/12/91
|
||||
* $Id: clock.c,v 1.82 1997/05/04 14:25:00 peter Exp $
|
||||
* $Id: clock.c,v 1.83 1997/05/05 09:34:32 peter Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -829,7 +829,7 @@ resettodr()
|
||||
#if defined(APIC_IO)
|
||||
|
||||
/* from icu.s: */
|
||||
extern u_int hwisrs[];
|
||||
extern u_int vec[];
|
||||
extern void vec8254 __P((void));
|
||||
extern void vecRTC __P((void));
|
||||
extern u_int ivectors[];
|
||||
@ -894,7 +894,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vec8254;
|
||||
vec[x] = (u_int)vec8254;
|
||||
Xintr8254 = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
mask8254 = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 0, /* flags */ 0,
|
||||
@ -933,7 +933,7 @@ cpu_initclocks()
|
||||
}
|
||||
}
|
||||
|
||||
hwisrs[x] = (u_int)vecRTC;
|
||||
vec[x] = (u_int)vecRTC;
|
||||
XintrRTC = (u_int)ivectors[x]; /* XXX might need Xfastintr# */
|
||||
maskRTC = (1 << x);
|
||||
register_intr(/* irq */ x, /* XXX id */ 1, /* flags */ 0,
|
||||
|
Loading…
Reference in New Issue
Block a user