summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2008-07-06 08:53:39 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2008-07-06 08:53:39 +0000
commit4e759ed6385346d0d16e43f5d376e7f1e90b3b79 (patch)
tree2deea7369a84f60e546a9469302a669257bddd32 /sys/arch/sparc64
parenta14f82e3c4ea43249239586b1349333fdf16bb17 (diff)
Enable ssm(4) and remove hacks that worked around the fact that we didn't
have it.
Diffstat (limited to 'sys/arch/sparc64')
-rw-r--r--sys/arch/sparc64/conf/GENERIC6
-rw-r--r--sys/arch/sparc64/conf/GENERIC.MP3
-rw-r--r--sys/arch/sparc64/conf/RAMDISK5
-rw-r--r--sys/arch/sparc64/sparc64/autoconf.c19
4 files changed, 14 insertions, 19 deletions
diff --git a/sys/arch/sparc64/conf/GENERIC b/sys/arch/sparc64/conf/GENERIC
index 5d47b2ac31f..07b8fe8a802 100644
--- a/sys/arch/sparc64/conf/GENERIC
+++ b/sys/arch/sparc64/conf/GENERIC
@@ -1,4 +1,4 @@
-# $OpenBSD: GENERIC,v 1.214 2008/07/06 07:27:43 kettenis Exp $
+# $OpenBSD: GENERIC,v 1.215 2008/07/06 08:53:38 kettenis Exp $
#
# For further information on compiling OpenBSD kernels, see the config(8)
# man page.
@@ -30,7 +30,10 @@ config bsd swap generic
# Main bus and CPU .. all systems.
mainbus0 at root
cpu0 at mainbus0
+ssm* at mainbus0
+cpu0 at ssm?
cmp* at mainbus0
+cmp* at ssm?
cpu0 at cmp?
# Bus types found on SPARC systems.
@@ -42,6 +45,7 @@ upa0 at mainbus0
psycho* at mainbus0
pci* at psycho?
schizo* at mainbus0
+schizo* at ssm?
pci* at schizo?
pyro* at mainbus0
pci* at pyro?
diff --git a/sys/arch/sparc64/conf/GENERIC.MP b/sys/arch/sparc64/conf/GENERIC.MP
index d0ce3793311..42cb04e1086 100644
--- a/sys/arch/sparc64/conf/GENERIC.MP
+++ b/sys/arch/sparc64/conf/GENERIC.MP
@@ -1,4 +1,4 @@
-# $OpenBSD: GENERIC.MP,v 1.2 2008/06/10 00:02:09 kettenis Exp $
+# $OpenBSD: GENERIC.MP,v 1.3 2008/07/06 08:53:38 kettenis Exp $
include "arch/sparc64/conf/GENERIC"
@@ -6,4 +6,5 @@ option MULTIPROCESSOR
#option MP_LOCKDEBUG
cpu* at mainbus?
+cpu* at ssm?
cpu* at cmp?
diff --git a/sys/arch/sparc64/conf/RAMDISK b/sys/arch/sparc64/conf/RAMDISK
index bf516126db9..ab7affaa62c 100644
--- a/sys/arch/sparc64/conf/RAMDISK
+++ b/sys/arch/sparc64/conf/RAMDISK
@@ -1,4 +1,4 @@
-# $OpenBSD: RAMDISK,v 1.74 2008/07/06 07:27:43 kettenis Exp $
+# $OpenBSD: RAMDISK,v 1.75 2008/07/06 08:53:38 kettenis Exp $
# Machine architecture; required by config(8)
machine sparc64
@@ -41,6 +41,8 @@ config bsd root on rd0a
# Main bus and CPU .. all systems.
mainbus0 at root
cpu0 at mainbus0
+ssm* at mainbus0
+cpu0 at ssm?
cmp* at mainbus0
cpu0 at cmp?
@@ -53,6 +55,7 @@ fhc* at mainbus0
psycho* at mainbus0
pci* at psycho?
schizo* at mainbus0
+schizo* at ssm?
pci* at schizo?
pyro* at mainbus0
pci* at pyro?
diff --git a/sys/arch/sparc64/sparc64/autoconf.c b/sys/arch/sparc64/sparc64/autoconf.c
index d2fff5d46ee..01900449b7b 100644
--- a/sys/arch/sparc64/sparc64/autoconf.c
+++ b/sys/arch/sparc64/sparc64/autoconf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: autoconf.c,v 1.95 2008/07/06 07:25:04 kettenis Exp $ */
+/* $OpenBSD: autoconf.c,v 1.96 2008/07/06 08:53:38 kettenis Exp $ */
/* $NetBSD: autoconf.c,v 1.51 2001/07/24 19:32:11 eeh Exp $ */
/*
@@ -798,10 +798,6 @@ extern bus_space_tag_t mainbus_space_tag;
for (node0 = OF_child(node); node0; node0 = OF_peer(node0)) {
if (OF_getprop(node0, "name", buf, sizeof(buf)) <= 0)
continue;
- if (strcmp(buf, "ssm") == 0) {
- node = node0;
- break;
- }
}
for (node = OF_child(node); node; node = OF_peer(node)) {
@@ -851,10 +847,6 @@ extern bus_space_tag_t mainbus_space_tag;
for (node0 = OF_child(node); node0; node0 = OF_peer(node0)) {
if (OF_getprop(node0, "name", buf, sizeof(buf)) <= 0)
continue;
- if (strcmp(buf, "ssm") == 0) {
- node = node0;
- break;
- }
}
/*
@@ -1216,12 +1208,6 @@ device_register(struct device *dev, void *aux)
if (bp == NULL)
return;
- /*
- * XXX Skip 'ssm' until we have a real driver for it.
- */
- if (strcmp(bp->name, "ssm") == 0)
- bp = bootpath_store(1, bp + 1);
-
DPRINTF(ACDB_BOOTDEV,
("\n%s: device_register: devname %s(%s) component %s\n",
dev->dv_xname, devname, dev->dv_xname, bp->name));
@@ -1238,7 +1224,8 @@ device_register(struct device *dev, void *aux)
* types; this is only used to find the boot device.
*/
busname = busdev->dv_cfdata->cf_driver->cd_name;
- if (strcmp(busname, "mainbus") == 0 || strcmp(busname, "upa") == 0)
+ if (strcmp(busname, "mainbus") == 0 ||
+ strcmp(busname, "ssm") == 0 || strcmp(busname, "upa") == 0)
node = ma->ma_node;
else if (strcmp(busname, "sbus") == 0 ||
strcmp(busname, "dma") == 0 || strcmp(busname, "ledma") == 0)