diff options
author | gibbs <gibbs@FreeBSD.org> | 1997-09-28 19:30:01 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1997-09-28 19:30:01 +0000 |
commit | 91399998c0a7aadd6f379874264c78d2fca18e4a (patch) | |
tree | 1761e0badd3ed91da3f0a1d4e8b3dfdf8d1241c2 /sys/amd64 | |
parent | 40be2710111cd129bdbc091f6ea3e2c89dbcbd43 (diff) | |
download | FreeBSD-src-91399998c0a7aadd6f379874264c78d2fca18e4a.zip FreeBSD-src-91399998c0a7aadd6f379874264c78d2fca18e4a.tar.gz |
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>
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/apic_vector.S | 5 | ||||
-rw-r--r-- | sys/amd64/isa/atpic_vector.S | 12 | ||||
-rw-r--r-- | sys/amd64/isa/icu_vector.S | 12 | ||||
-rw-r--r-- | sys/amd64/isa/icu_vector.s | 12 |
4 files changed, 24 insertions, 17 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index 002a8b8..1968142 100644 --- a/sys/amd64/amd64/apic_vector.S +++ b/sys/amd64/amd64/apic_vector.S @@ -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 diff --git a/sys/amd64/isa/atpic_vector.S b/sys/amd64/isa/atpic_vector.S index ba8a110..2e42f5e 100644 --- a/sys/amd64/isa/atpic_vector.S +++ b/sys/amd64/isa/atpic_vector.S @@ -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 diff --git a/sys/amd64/isa/icu_vector.S b/sys/amd64/isa/icu_vector.S index ba8a110..2e42f5e 100644 --- a/sys/amd64/isa/icu_vector.S +++ b/sys/amd64/isa/icu_vector.S @@ -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 diff --git a/sys/amd64/isa/icu_vector.s b/sys/amd64/isa/icu_vector.s index ba8a110..2e42f5e 100644 --- a/sys/amd64/isa/icu_vector.s +++ b/sys/amd64/isa/icu_vector.s @@ -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 |