diff options
author | bde <bde@FreeBSD.org> | 1998-10-22 05:58:45 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1998-10-22 05:58:45 +0000 |
commit | df88297cad3e438e774e13137af8eaff53c0fc7f (patch) | |
tree | d694ec5d94b6e29be85865e36be61cbb2bea66dc /sys/amd64 | |
parent | 7a07480a8f242db0c438040f3beb4ce7b2c7cde2 (diff) | |
download | FreeBSD-src-df88297cad3e438e774e13137af8eaff53c0fc7f.zip FreeBSD-src-df88297cad3e438e774e13137af8eaff53c0fc7f.tar.gz |
Initialize isa_devtab entries for interrupt handlers in individual
device drivers, not in ioconf.c. Use a different hack in isa_device.h
so that a new config(8) is not required yet.
pc98 parts approved by: kato
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/fpu.c | 5 | ||||
-rw-r--r-- | sys/amd64/isa/isa.c | 9 | ||||
-rw-r--r-- | sys/amd64/isa/npx.c | 5 |
3 files changed, 14 insertions, 5 deletions
diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c index 869111f..2ec330a 100644 --- a/sys/amd64/amd64/fpu.c +++ b/sys/amd64/amd64/fpu.c @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: @(#)npx.c 7.2 (Berkeley) 5/12/91 - * $Id: npx.c,v 1.60 1998/04/19 15:39:26 bde Exp $ + * $Id: npx.c,v 1.61 1998/06/21 18:02:39 bde Exp $ */ #include "npx.h" @@ -95,6 +95,7 @@ void i586_bcopy __P((const void *from, void *to, size_t len)); void i586_bzero __P((void *buf, size_t len)); int i586_copyin __P((const void *udaddr, void *kaddr, size_t len)); int i586_copyout __P((const void *kaddr, void *udaddr, size_t len)); +ointhand2_t npxintr; #ifdef __GNUC__ @@ -384,6 +385,8 @@ int npxattach(dvp) struct isa_device *dvp; { + dvp->id_ointr = npxintr; + /* The caller has printed "irq 13" for the npx_irq13 case. */ if (!npx_irq13) { printf("npx%d: ", dvp->id_unit); diff --git a/sys/amd64/isa/isa.c b/sys/amd64/isa/isa.c index eb28093..fe686e1 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.114 1998/10/12 13:12:45 bde Exp $ + * $Id: isa.c,v 1.115 1998/10/13 08:24:38 dg Exp $ */ /* @@ -557,7 +557,10 @@ config_isadev_c(isdp, mp, reconfig) isdp->id_alive = id_alive; } (*dp->attach)(isdp); - if (isdp->id_irq) { + if (isdp->id_irq != 0 && isdp->id_intr == NULL) + printf("%s%d: irq with no handler\n", + dp->name, isdp->id_unit); + if (isdp->id_irq != 0 && isdp->id_intr != NULL) { #ifdef APIC_IO /* * Some motherboards use upper IRQs for traditional @@ -594,7 +597,7 @@ config_isadev_c(isdp, mp, reconfig) } else { #if 0 /* This code has not been tested.... */ - if (isdp->id_irq) { + if (isdp->id_irq != 0 && isdp->id_intr != NULL) { icu_unset(ffs(isdp->id_irq) - 1, isdp->id_intr); if (mp) diff --git a/sys/amd64/isa/npx.c b/sys/amd64/isa/npx.c index 869111f..2ec330a 100644 --- a/sys/amd64/isa/npx.c +++ b/sys/amd64/isa/npx.c @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: @(#)npx.c 7.2 (Berkeley) 5/12/91 - * $Id: npx.c,v 1.60 1998/04/19 15:39:26 bde Exp $ + * $Id: npx.c,v 1.61 1998/06/21 18:02:39 bde Exp $ */ #include "npx.h" @@ -95,6 +95,7 @@ void i586_bcopy __P((const void *from, void *to, size_t len)); void i586_bzero __P((void *buf, size_t len)); int i586_copyin __P((const void *udaddr, void *kaddr, size_t len)); int i586_copyout __P((const void *kaddr, void *udaddr, size_t len)); +ointhand2_t npxintr; #ifdef __GNUC__ @@ -384,6 +385,8 @@ int npxattach(dvp) struct isa_device *dvp; { + dvp->id_ointr = npxintr; + /* The caller has printed "irq 13" for the npx_irq13 case. */ if (!npx_irq13) { printf("npx%d: ", dvp->id_unit); |