Fix a serious bug I introduced while adding in support for CAM interrupts.
It seems I didn't count my 0's properly when adding the new masks into icu_vector.s pushing SWI_AST_MASK off the end of the array and screwing up the indexing for SWI_CLOCK_MASK. Fix the bug icu_vector.s and also reformat the code in both icu_vector.s and apic_vector.s so that it will be much harder to make the same mistake in the future. Submitted by: Bruce Evans <bde@zeta.org.au>
This commit is contained in:
parent
1994ed5ce0
commit
5a5829a779
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: apic_vector.s,v 1.21 1997/09/07 22:02:36 fsmp Exp $
|
||||
* $Id: apic_vector.s,v 1.22 1997/09/21 21:40:53 gibbs Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -516,7 +516,8 @@ ihandlers:
|
||||
* ipl.s: doreti_unpend
|
||||
* apic_ipl.s: splz_unpend
|
||||
*/
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long swi_tty, swi_net
|
||||
.long dummycamisr, dummycamisr
|
||||
.long 0, 0
|
||||
.long _softclock, swi_ast
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $
|
||||
* $Id: icu_vector.s,v 1.5 1997/09/21 21:41:05 gibbs Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -203,15 +203,17 @@ ihandlers: /* addresses of interrupt handlers */
|
||||
.long Xresume8, Xresume9, Xresume10, Xresume11
|
||||
.long Xresume12, Xresume13, Xresume14, Xresume15
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long _softclock, swi_ast
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, _softclock, swi_ast
|
||||
|
||||
imasks: /* masks for interrupt handlers */
|
||||
.space NHWI*4 /* padding; HWI masks are elsewhere */
|
||||
|
||||
.long SWI_TTY_MASK, SWI_NET_MASK, SWI_CAMNET_MASK, SWI_CAMBIO_MASK
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
|
||||
/*
|
||||
* Interrupt counters and names. The format of these and the label names
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $
|
||||
* $Id: icu_vector.s,v 1.5 1997/09/21 21:41:05 gibbs Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -203,15 +203,17 @@ ihandlers: /* addresses of interrupt handlers */
|
||||
.long Xresume8, Xresume9, Xresume10, Xresume11
|
||||
.long Xresume12, Xresume13, Xresume14, Xresume15
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long _softclock, swi_ast
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, _softclock, swi_ast
|
||||
|
||||
imasks: /* masks for interrupt handlers */
|
||||
.space NHWI*4 /* padding; HWI masks are elsewhere */
|
||||
|
||||
.long SWI_TTY_MASK, SWI_NET_MASK, SWI_CAMNET_MASK, SWI_CAMBIO_MASK
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
|
||||
/*
|
||||
* Interrupt counters and names. The format of these and the label names
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $
|
||||
* $Id: icu_vector.s,v 1.5 1997/09/21 21:41:05 gibbs Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -203,15 +203,17 @@ ihandlers: /* addresses of interrupt handlers */
|
||||
.long Xresume8, Xresume9, Xresume10, Xresume11
|
||||
.long Xresume12, Xresume13, Xresume14, Xresume15
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long _softclock, swi_ast
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, _softclock, swi_ast
|
||||
|
||||
imasks: /* masks for interrupt handlers */
|
||||
.space NHWI*4 /* padding; HWI masks are elsewhere */
|
||||
|
||||
.long SWI_TTY_MASK, SWI_NET_MASK, SWI_CAMNET_MASK, SWI_CAMBIO_MASK
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
|
||||
/*
|
||||
* Interrupt counters and names. The format of these and the label names
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: apic_vector.s,v 1.21 1997/09/07 22:02:36 fsmp Exp $
|
||||
* $Id: apic_vector.s,v 1.22 1997/09/21 21:40:53 gibbs Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -516,7 +516,8 @@ ihandlers:
|
||||
* ipl.s: doreti_unpend
|
||||
* apic_ipl.s: splz_unpend
|
||||
*/
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long swi_tty, swi_net
|
||||
.long dummycamisr, dummycamisr
|
||||
.long 0, 0
|
||||
.long _softclock, swi_ast
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: apic_vector.s,v 1.21 1997/09/07 22:02:36 fsmp Exp $
|
||||
* $Id: apic_vector.s,v 1.22 1997/09/21 21:40:53 gibbs Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -516,7 +516,8 @@ ihandlers:
|
||||
* ipl.s: doreti_unpend
|
||||
* apic_ipl.s: splz_unpend
|
||||
*/
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long swi_tty, swi_net
|
||||
.long dummycamisr, dummycamisr
|
||||
.long 0, 0
|
||||
.long _softclock, swi_ast
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $
|
||||
* $Id: icu_vector.s,v 1.5 1997/09/21 21:41:05 gibbs Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -203,15 +203,17 @@ ihandlers: /* addresses of interrupt handlers */
|
||||
.long Xresume8, Xresume9, Xresume10, Xresume11
|
||||
.long Xresume12, Xresume13, Xresume14, Xresume15
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long _softclock, swi_ast
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, _softclock, swi_ast
|
||||
|
||||
imasks: /* masks for interrupt handlers */
|
||||
.space NHWI*4 /* padding; HWI masks are elsewhere */
|
||||
|
||||
.long SWI_TTY_MASK, SWI_NET_MASK, SWI_CAMNET_MASK, SWI_CAMBIO_MASK
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
|
||||
/*
|
||||
* Interrupt counters and names. The format of these and the label names
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* from: vector.s, 386BSD 0.1 unknown origin
|
||||
* $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $
|
||||
* $Id: icu_vector.s,v 1.5 1997/09/21 21:41:05 gibbs Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -203,15 +203,17 @@ ihandlers: /* addresses of interrupt handlers */
|
||||
.long Xresume8, Xresume9, Xresume10, Xresume11
|
||||
.long Xresume12, Xresume13, Xresume14, Xresume15
|
||||
.long swi_tty, swi_net, dummycamisr, dummycamisr
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long _softclock, swi_ast
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, _softclock, swi_ast
|
||||
|
||||
imasks: /* masks for interrupt handlers */
|
||||
.space NHWI*4 /* padding; HWI masks are elsewhere */
|
||||
|
||||
.long SWI_TTY_MASK, SWI_NET_MASK, SWI_CAMNET_MASK, SWI_CAMBIO_MASK
|
||||
.long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
.long SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, 0, 0
|
||||
.long 0, 0, SWI_CLOCK_MASK, SWI_AST_MASK
|
||||
|
||||
/*
|
||||
* Interrupt counters and names. The format of these and the label names
|
||||
|
Loading…
Reference in New Issue
Block a user