On Apr 15, 2016, at 6:09 AM, Mark Cave-Ayland wrote:
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
openbios-devel/drivers/escc.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/openbios-devel/drivers/escc.c b/openbios-devel/drivers/escc.c index 5fa3139..1990e79 100644 --- a/openbios-devel/drivers/escc.c +++ b/openbios-devel/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");
-- 1.7.10.4
I tried out your patch using Mac OS 10.2.8 and the beige g3 target. I didn't notice any difference while booting with and without your patch. What is the exact version of Mac OS 10.2 you are using?
This message is displayed with and without your patch: AppleSCCSerial: Failed to create Tx DMA interupt event source!