summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/sparc64/sparc64/ofw_machdep.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/ofw_machdep.c b/sys/sparc64/sparc64/ofw_machdep.c
index 016b432..05c4437 100644
--- a/sys/sparc64/sparc64/ofw_machdep.c
+++ b/sys/sparc64/sparc64/ofw_machdep.c
@@ -244,10 +244,14 @@ OF_decode_addr(phandle_t node, int bank, int *space, bus_addr_t *addr)
/* Done with mapping. Return the bus space as used by FreeBSD. */
*addr = start;
+ if (OF_parent(lbus) == 0) {
+ *space = UPA_BUS_SPACE;
+ return (0);
+ }
if (OF_getprop(lbus, "name", name, sizeof(name)) == -1)
return (ENXIO);
name[sizeof(name) - 1] = '\0';
- if (strcmp(name, "central") == 0) {
+ if (strcmp(name, "central") == 0 || strcmp(name, "upa") == 0) {
*space = UPA_BUS_SPACE;
return (0);
} else if (strcmp(name, "pci") == 0) {
OpenPOWER on IntegriCloud