summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2003-04-06 17:00:36 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2003-04-06 17:00:36 +0000
commit43cca2bab54cf98899acf891792e39889ccdd80f (patch)
tree50513799179fbaba0da49f987438e94a091b77ed
parentf2d29ced9107d319f89c930711cbdd39438a2a53 (diff)
Check for the "addr" locator versus the physical address of the VSIMM, so
as not to attach a single VSIMM put in the secondary slot as cgfourteen0.
-rw-r--r--sys/arch/sparc/dev/cgfourteen.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/arch/sparc/dev/cgfourteen.c b/sys/arch/sparc/dev/cgfourteen.c
index 60a9a141b19..49616018d5c 100644
--- a/sys/arch/sparc/dev/cgfourteen.c
+++ b/sys/arch/sparc/dev/cgfourteen.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cgfourteen.c,v 1.21 2002/12/12 20:21:34 miod Exp $ */
+/* $OpenBSD: cgfourteen.c,v 1.22 2003/04/06 17:00:35 miod Exp $ */
/* $NetBSD: cgfourteen.c,v 1.7 1997/05/24 20:16:08 pk Exp $ */
/*
@@ -204,6 +204,14 @@ cgfourteenmatch(parent, vcf, aux)
return (0);
/*
+ * This driver should not be attached without an "addr" locator,
+ * as this is the only way to differentiate the main and secondary
+ * VSIMM.
+ */
+ if (cf->cf_loc[0] != -1 && cf->cf_loc[0] != (int)ra->ra_paddr)
+ return (0);
+
+ /*
* The cgfourteen is a local-bus video adaptor, accessed directly
* via the processor, and not through device space or an external
* bus. Thus we look _only_ at the obio bus.