diff options
author | gibbs <gibbs@FreeBSD.org> | 1997-09-21 21:41:49 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1997-09-21 21:41:49 +0000 |
commit | e1b0aaaa7646122022e6179a0b6406809f2126b8 (patch) | |
tree | 453c2e0b2fbd7526c2bfa12a66b852f740856480 /sys/amd64 | |
parent | dc043d9d0aa92d02293099dc6adcabe0e6c972cb (diff) | |
download | FreeBSD-src-e1b0aaaa7646122022e6179a0b6406809f2126b8.zip FreeBSD-src-e1b0aaaa7646122022e6179a0b6406809f2126b8.tar.gz |
aha1542.c aic6360.c cy.c fd.c ft.c
if_ie.c if_wl.c if_zp.c isa.c isa_device.h
labpc.c mcd.c ncr5380.c scd.c seagate.c si.c
sio.c tw.c ultra14f.c wcd.c wd.c:
Update for changes in the callout interface.
apic_vector.s icu_vector.s ipl.s ipl_funcs.c:
Add CAM software/hardware interrupt support.
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/apic_vector.S | 11 | ||||
-rw-r--r-- | sys/amd64/isa/atpic_vector.S | 10 | ||||
-rw-r--r-- | sys/amd64/isa/icu_vector.S | 10 | ||||
-rw-r--r-- | sys/amd64/isa/icu_vector.s | 10 | ||||
-rw-r--r-- | sys/amd64/isa/isa.c | 15 |
5 files changed, 39 insertions, 17 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index f460bd8..002a8b8 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.37 1997/09/07 19:23:45 smp Exp smp $ + * $Id: apic_vector.s,v 1.21 1997/09/07 22:02:36 fsmp Exp $ */ @@ -498,6 +498,8 @@ MCOUNT_LABEL(eintr) * Addresses of interrupt handlers. * XresumeNN: Resumption addresses for HWIs. */ + .globl _ihandlers +_ihandlers: ihandlers: /* * used by: @@ -514,15 +516,16 @@ ihandlers: * ipl.s: doreti_unpend * apic_ipl.s: splz_unpend */ - .long swi_tty, swi_net - .long 0, 0, 0, 0 + .long swi_tty, swi_net, dummycamisr, dummycamisr + .long 0, 0 .long _softclock, swi_ast imasks: /* masks for interrupt handlers */ .space NHWI*4 /* padding; HWI masks are elsewhere */ .long SWI_TTY_MASK, SWI_NET_MASK - .long 0, 0, 0, 0 + .long SWI_CAMNET_MASK, SWI_CAMBIO_MASK + .long 0, 0 .long SWI_CLOCK_MASK, SWI_AST_MASK /* diff --git a/sys/amd64/isa/atpic_vector.S b/sys/amd64/isa/atpic_vector.S index ee3e079..ba8a110 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.3 1997/07/24 03:24:57 fsmp Exp $ + * $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $ */ /* @@ -194,20 +194,22 @@ MCOUNT_LABEL(bintr) MCOUNT_LABEL(eintr) .data + .globl _ihandlers +_ihandlers: ihandlers: /* addresses of interrupt handlers */ /* actually resumption addresses for HWI's */ .long Xresume0, Xresume1, Xresume2, Xresume3 .long Xresume4, Xresume5, Xresume6, Xresume7 .long Xresume8, Xresume9, Xresume10, Xresume11 .long Xresume12, Xresume13, Xresume14, Xresume15 - .long swi_tty, swi_net - .long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + .long swi_tty, swi_net, dummycamisr, dummycamisr + .long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .long _softclock, swi_ast imasks: /* masks for interrupt handlers */ .space NHWI*4 /* padding; HWI masks are elsewhere */ - .long SWI_TTY_MASK, SWI_NET_MASK + .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 diff --git a/sys/amd64/isa/icu_vector.S b/sys/amd64/isa/icu_vector.S index ee3e079..ba8a110 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.3 1997/07/24 03:24:57 fsmp Exp $ + * $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $ */ /* @@ -194,20 +194,22 @@ MCOUNT_LABEL(bintr) MCOUNT_LABEL(eintr) .data + .globl _ihandlers +_ihandlers: ihandlers: /* addresses of interrupt handlers */ /* actually resumption addresses for HWI's */ .long Xresume0, Xresume1, Xresume2, Xresume3 .long Xresume4, Xresume5, Xresume6, Xresume7 .long Xresume8, Xresume9, Xresume10, Xresume11 .long Xresume12, Xresume13, Xresume14, Xresume15 - .long swi_tty, swi_net - .long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + .long swi_tty, swi_net, dummycamisr, dummycamisr + .long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .long _softclock, swi_ast imasks: /* masks for interrupt handlers */ .space NHWI*4 /* padding; HWI masks are elsewhere */ - .long SWI_TTY_MASK, SWI_NET_MASK + .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 diff --git a/sys/amd64/isa/icu_vector.s b/sys/amd64/isa/icu_vector.s index ee3e079..ba8a110 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.3 1997/07/24 03:24:57 fsmp Exp $ + * $Id: icu_vector.s,v 1.4 1997/09/08 06:40:58 peter Exp $ */ /* @@ -194,20 +194,22 @@ MCOUNT_LABEL(bintr) MCOUNT_LABEL(eintr) .data + .globl _ihandlers +_ihandlers: ihandlers: /* addresses of interrupt handlers */ /* actually resumption addresses for HWI's */ .long Xresume0, Xresume1, Xresume2, Xresume3 .long Xresume4, Xresume5, Xresume6, Xresume7 .long Xresume8, Xresume9, Xresume10, Xresume11 .long Xresume12, Xresume13, Xresume14, Xresume15 - .long swi_tty, swi_net - .long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + .long swi_tty, swi_net, dummycamisr, dummycamisr + .long 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 .long _softclock, swi_ast imasks: /* masks for interrupt handlers */ .space NHWI*4 /* padding; HWI masks are elsewhere */ - .long SWI_TTY_MASK, SWI_NET_MASK + .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 diff --git a/sys/amd64/isa/isa.c b/sys/amd64/isa/isa.c index c5a9ea4..1f9a26e 100644 --- a/sys/amd64/isa/isa.c +++ b/sys/amd64/isa/isa.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)isa.c 7.2 (Berkeley) 5/13/91 - * $Id: isa.c,v 1.103 1997/08/28 03:36:40 msmith Exp $ + * $Id: isa.c,v 1.104 1997/09/19 15:20:23 jmg Exp $ */ /* @@ -319,6 +319,11 @@ haveseen_isadev(dvp, checkbits) if (status) return status; } + for (tmpdvp = isa_devtab_cam; tmpdvp->id_driver; tmpdvp++) { + status |= haveseen(dvp, tmpdvp, checkbits); + if (status) + return status; + } for (tmpdvp = isa_devtab_null; tmpdvp->id_driver; tmpdvp++) { status |= haveseen(dvp, tmpdvp, checkbits); if (status) @@ -358,6 +363,9 @@ isa_configure() { for (dvp = isa_devtab_net; dvp->id_driver; dvp++) if (dvp->id_driver->sensitive_hw) config_isadev(dvp, &net_imask); + for (dvp = isa_devtab_cam; dvp->id_driver; dvp++) + if (dvp->id_driver->sensitive_hw) + config_isadev(dvp, &cam_imask); for (dvp = isa_devtab_null; dvp->id_driver; dvp++) if (dvp->id_driver->sensitive_hw) config_isadev(dvp, (u_int *)NULL); @@ -372,6 +380,9 @@ isa_configure() { for (dvp = isa_devtab_net; dvp->id_driver; dvp++) if (!dvp->id_driver->sensitive_hw) config_isadev(dvp, &net_imask); + for (dvp = isa_devtab_cam; dvp->id_driver; dvp++) + if (!dvp->id_driver->sensitive_hw) + config_isadev(dvp, &cam_imask); for (dvp = isa_devtab_null; dvp->id_driver; dvp++) if (!dvp->id_driver->sensitive_hw) config_isadev(dvp, (u_int *)NULL); @@ -416,6 +427,8 @@ isa_configure() { register_imask(dvp, bio_imask); for (dvp = isa_devtab_net; dvp->id_driver; dvp++) register_imask(dvp, net_imask); + for (dvp = isa_devtab_cam; dvp->id_driver; dvp++) + register_imask(dvp, cam_imask); for (dvp = isa_devtab_null; dvp->id_driver; dvp++) register_imask(dvp, SWI_CLOCK_MASK); spl0(); |