summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2020-08-23 10:11:18 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2020-08-23 10:11:18 +0000
commit104471f48cd495ac08bca14820bfa0f349f474b6 (patch)
tree9be72b98bfd5e078b6b388d5fc3a2e1fe76700c2 /sys
parent555f34de9a565ba9e2abf9ea1e4a3a3f019fe5c0 (diff)
Attempt to support IODA2 bridges such as the one found on POWER8 chips.
These lack an "ibm,opal-available-m64-ranges" property, but it seems we can assume a 0-15 range. At least this is what Linux does.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/powerpc64/dev/phb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/powerpc64/dev/phb.c b/sys/arch/powerpc64/dev/phb.c
index f12b3cd0a33..2b728c0335e 100644
--- a/sys/arch/powerpc64/dev/phb.c
+++ b/sys/arch/powerpc64/dev/phb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: phb.c,v 1.12 2020/07/14 20:40:48 kettenis Exp $ */
+/* $OpenBSD: phb.c,v 1.13 2020/08/23 10:11:17 kettenis Exp $ */
/*
* Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org>
*
@@ -111,7 +111,8 @@ phb_match(struct device *parent, void *match, void *aux)
{
struct fdt_attach_args *faa = aux;
- return OF_is_compatible(faa->fa_node, "ibm,ioda3-phb");
+ return (OF_is_compatible(faa->fa_node, "ibm,ioda2-phb") ||
+ OF_is_compatible(faa->fa_node, "ibm,ioda3-phb"));
}
void
@@ -251,7 +252,7 @@ phb_attach(struct device *parent, struct device *self, void *aux)
/*
* Enable all the 64-bit mmio windows we found.
*/
- m64ranges[0] = 1; m64ranges[1] = 0;
+ m64ranges[0] = 0; m64ranges[1] = 16;
OF_getpropintarray(sc->sc_node, "ibm,opal-available-m64-ranges",
m64ranges, sizeof(m64ranges));
window = m64ranges[0];