summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2007-07-28 13:22:23 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2007-07-28 13:22:23 +0000
commit519eb5c208b9165a33ba3a66205b2762534f436c (patch)
tree76ea4e82e29ce05fcc3416892d53ab514e5436e0 /sys/arch/sparc64
parent0f3f2a40e58e75c6d36f3f669ce5dbbc4b228a0b (diff)
Don't try to map interrupts that are already fully specified. Makes the
onboard IDE controller on the Ultrabook 170/200 work.
Diffstat (limited to 'sys/arch/sparc64')
-rw-r--r--sys/arch/sparc64/sparc64/ofw_machdep.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/arch/sparc64/sparc64/ofw_machdep.c b/sys/arch/sparc64/sparc64/ofw_machdep.c
index 906a7927dde..54f6f62202a 100644
--- a/sys/arch/sparc64/sparc64/ofw_machdep.c
+++ b/sys/arch/sparc64/sparc64/ofw_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ofw_machdep.c,v 1.18 2007/04/10 14:26:17 kettenis Exp $ */
+/* $OpenBSD: ofw_machdep.c,v 1.19 2007/07/28 13:22:22 kettenis Exp $ */
/* $NetBSD: ofw_machdep.c,v 1.16 2001/07/20 00:07:14 eeh Exp $ */
/*
@@ -704,8 +704,11 @@ OF_mapintr(int node, int *interrupt, int validlen, int buflen)
int phc_node;
int rc = -1;
- /* Don't need to map OBP interrupt, it's already */
- if (*interrupt & 0x20)
+ /*
+ * Don't try to map interrupts for onboard devices, or if the
+ * interrupt is already fully specified.
+ */
+ if (*interrupt & 0x20 || *interrupt & 0x7c0)
return validlen;
/*