summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2016-04-17 14:41:50 +0000
committerMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2016-04-17 14:41:50 +0000
commit36785d7b59726beca320a0b99cfa0a903782c6f3 (patch)
tree433b9e3a9ea77141587ebc13fe54b4d39310a31e
parent2d8f36a8f78144ca47f984b6a01c1f4eb79f8a4a (diff)
downloadqemu-openbios-official.tar.gz
escc.c: add empty ranges property to escc and escc-legacy nodesofficial
This fixes an intermittent panic in the AppleSCCSerial module for MacOS 10.2 and the g3beige machine during initialisation as the module tries to write to the on-chip registers at 0x130XX rather than calculating the correct address derived from the parent PCI node. As described in the IEEE-1275 specification: if a "ranges" property exists but has a zero-length property value, the child address space is identical to the parent address space. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@1395 f158a5a8-5612-0410-a976-696ce0be7e32
-rw-r--r--drivers/escc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/escc.c b/drivers/escc.c
index 5fa3139e..1990e798 100644
--- a/drivers/escc.c
+++ b/drivers/escc.c
@@ -514,6 +514,7 @@ escc_init(const char *path, phys_addr_t addr)
set_property(dnode, "device_type", "escc",
strlen("escc") + 1);
set_property(dnode, "compatible", "escc\0CHRP,es0", 14);
+ set_property(dnode, "ranges", "", 0);
fword("finish-device");
@@ -541,6 +542,7 @@ escc_init(const char *path, phys_addr_t addr)
set_property(dnode, "device_type", "escc-legacy",
strlen("escc-legacy") + 1);
set_property(dnode, "compatible", "chrp,es1", 9);
+ set_property(dnode, "ranges", "", 0);
fword("finish-device");