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:
gibbs 1997-09-28 19:30:01 +00:00
parent 1994ed5ce0
commit 5a5829a779
8 changed files with 44 additions and 31 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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