summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/mpc85xx/isa.c
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2010-06-18 14:06:27 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2010-06-18 14:06:27 +0000
commitc757ee90aefd19aff23dfb5e938e8e1e8576dbd4 (patch)
tree28ab8d6b3802ae7f1a631f84f71839a5baa6a137 /sys/powerpc/mpc85xx/isa.c
parentf26dfb440a0d48a874435768ee94475ddbe496a2 (diff)
downloadFreeBSD-src-c757ee90aefd19aff23dfb5e938e8e1e8576dbd4.zip
FreeBSD-src-c757ee90aefd19aff23dfb5e938e8e1e8576dbd4.tar.gz
Provide for multiple, cascaded PICs on PowerPC systems, and extend the
OFW interrupt map interface to also return the device's interrupt parent. MFC after: 8.1-RELEASE
Diffstat (limited to 'sys/powerpc/mpc85xx/isa.c')
-rw-r--r--sys/powerpc/mpc85xx/isa.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/powerpc/mpc85xx/isa.c b/sys/powerpc/mpc85xx/isa.c
index 5b996ca..eeffbfd 100644
--- a/sys/powerpc/mpc85xx/isa.c
+++ b/sys/powerpc/mpc85xx/isa.c
@@ -32,12 +32,16 @@ __FBSDID("$FreeBSD$");
#include <machine/bus.h>
#include <sys/rman.h>
+#include <machine/intr_machdep.h>
+#include <machine/ocpbus.h>
#include <machine/resource.h>
#include <isa/isareg.h>
#include <isa/isavar.h>
#include <isa/isa_common.h>
+#include "ocpbus.h"
+
void
isa_init(device_t dev)
{
@@ -58,7 +62,10 @@ isa_alloc_resource(device_t bus, device_t child, int type, int *rid,
resource_list_find(rl, type, *rid) == NULL) {
switch (type) {
case SYS_RES_IOPORT: rids = ISA_PNP_NPORT; break;
- case SYS_RES_IRQ: rids = ISA_PNP_NIRQ; break;
+ case SYS_RES_IRQ:
+ rids = ISA_PNP_NIRQ;
+ start = ISA_IRQ(start);
+ break;
case SYS_RES_MEMORY: rids = ISA_PNP_NMEM; break;
default: rids = 0; break;
}
OpenPOWER on IntegriCloud