On Feb 6, 2016, at 4:27 AM, Alyssa Milburn wrote:
On Sat, Feb 06, 2016 at 12:12:38AM -0500, Programmingkid wrote:
I did a little research and found out that some of the properties of the escc-legacy's ch-a and ch-b nodes are wrong.
ftp://ftp.software.ibm.com/rs6000/technology/spec/chrp/inwork/CHRP_IORef_1.0.pdf According to this CHRP specifications, page 246, the escc-legacy node is suppose to have a "ranges" property. This is missing. It is also missing the #size-cells properties. The escc-legacy/ch-a node also looks like it's device_type property should be "legacy" rather than serial.
The spec is quite seriously flawed for ESCC (there's an errata which fixes some of it, but even then it doesn't seem to match a lot of Apple's hw), so I wouldn't trust anything it says, unfortunately. :(
I believe that! Apple themselves made the CHRP specifications and never really used it. Was Steve Jobs afraid the Mac OS might run on IBM hardware? I know he definitely didn't like IBM and this specification was made just before he came back to Apple.
If you google e.g. "interrupt-controller" "escc" "boot-rom" then you'll find a lot of OF dumps from different hardware which seem to use "serial" for the device-type.
The Mac OS 9 bootloader seems to only look for 'ranges' for CardBus, but I see that it is there on real hardware (as an empty property?), might be worth trying..
Maybe it might be a good idea to document these things (and how they differ between iteratons of Apple's OF properties, and what is/isn't required by OS 9), but I'm not sure where/how to do so. Any suggestions?
Everyone who has a Mac could post their escc-legacy and escc node properties to the list.
Maybe we need to go over the facts so far. Please correct me if I'm wrong. We know that OpenTransport causes Mac OS 9.2 to crash. We think the problem could be related to the escc or escc-legacy nodes. From what I heard there might be missing registers, dbdma, or incorrect properties that are keeping us from using OpenTransport. OpenTransport is closed-source so finding out what it is doing would probably require someone who knows PowerPC assembly to figure out what is going on. I think OpenBIOS and/or QEMU could be set so that we see what hardware Mac OS 9.2 is trying to access. Also the only way to see what crashes Mac OS 9.2 is to use Macsbug. So my conclusion is if one of us or all of us knew PowerPC assembly language and all of Macsbug's commands, we might be able to figure out how to solve this problem. Simple enough...