summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1997-09-21 21:41:49 +0000
committergibbs <gibbs@FreeBSD.org>1997-09-21 21:41:49 +0000
commite1b0aaaa7646122022e6179a0b6406809f2126b8 (patch)
tree453c2e0b2fbd7526c2bfa12a66b852f740856480 /sys/amd64
parentdc043d9d0aa92d02293099dc6adcabe0e6c972cb (diff)
downloadFreeBSD-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.S11
-rw-r--r--sys/amd64/isa/atpic_vector.S10
-rw-r--r--sys/amd64/isa/icu_vector.S10
-rw-r--r--sys/amd64/isa/icu_vector.s10
-rw-r--r--sys/amd64/isa/isa.c15
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();
OpenPOWER on IntegriCloud