summaryrefslogtreecommitdiff
path: root/sys/arch/macppc/dev/openpic.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/macppc/dev/openpic.c')
-rw-r--r--sys/arch/macppc/dev/openpic.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/arch/macppc/dev/openpic.c b/sys/arch/macppc/dev/openpic.c
index 9b48bb02b85..527660176d7 100644
--- a/sys/arch/macppc/dev/openpic.c
+++ b/sys/arch/macppc/dev/openpic.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: openpic.c,v 1.32 2005/10/16 04:30:43 drahn Exp $ */
+/* $OpenBSD: openpic.c,v 1.33 2005/11/17 15:03:51 drahn Exp $ */
/*-
* Copyright (c) 1995 Per Fogelstrom
@@ -108,10 +108,15 @@ int
openpic_match(struct device *parent, void *cf, void *aux)
{
char type[40];
+ int pirq;
struct confargs *ca = aux;
bzero (type, sizeof(type));
+ if (OF_getprop(ca->ca_node, "interrupt-parent", &pirq, sizeof(pirq))
+ == sizeof(pirq))
+ return 0; /* XXX */
+
if (strcmp(ca->ca_name, "interrupt-controller") == 0 ||
strcmp(ca->ca_name, "mpic") == 0) {
OF_getprop(ca->ca_node, "device_type", type, sizeof(type));
@@ -140,7 +145,7 @@ openpic_attach(struct device *parent, struct device *self, void *aux)
extern intr_disestablish_t *mac_intr_disestablish_func;
openpic_base = (vaddr_t) mapiodev (ca->ca_baseaddr +
- ca->ca_reg[0], 0x22000);
+ ca->ca_reg[0], 0x40000);
printf(": version 0x%x", openpic_read(OPENPIC_VENDOR_ID));