summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1998-10-22 05:58:45 +0000
committerbde <bde@FreeBSD.org>1998-10-22 05:58:45 +0000
commitdf88297cad3e438e774e13137af8eaff53c0fc7f (patch)
treed694ec5d94b6e29be85865e36be61cbb2bea66dc /sys/amd64
parent7a07480a8f242db0c438040f3beb4ce7b2c7cde2 (diff)
downloadFreeBSD-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.c5
-rw-r--r--sys/amd64/isa/isa.c9
-rw-r--r--sys/amd64/isa/npx.c5
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);
OpenPOWER on IntegriCloud