On Dec 11, 2015, at 6:28 AM, Mark Cave-Ayland wrote:
On 10/12/15 15:02, Programmingkid wrote:
https://lists.gnu.org/archive/html/qemu-devel/2015-10/msg05556.html
From the message in the link, you said there was a patch that is needed to boot Mac OS 9, but can't be applied because it causes a regression with Mac OS X. Could you send me the patch. I would like to fix it so that all the patches needed to boot Mac OS 9 can be applied to OpenBIOS. Thanks.
The outstanding OpenBIOS patch is this one:
http://www.openfirmware.info/pipermail/openbios/2015-August/008763.html
The reason it can't be applied is a little complicated. The MacOS 9 bootloader alters the call stack using >r and r> which is illegal outside of a word in Forth - it's like a function changing it's stack pointing and hoping the caller can cope upon return.
I suspect the above patch only works through chance because OpenBIOS uses a trampoline to execute words and so the trampoline is corrupted on exit. It also causes yaboot to throw errors in my tests here, as found on a Fedora PPC Linux for example which isn't a good solution either :(
I was able to boot Debian Linux using the same OpenBIOS binary that is used to boot Mac OS 9. Debian uses the Quik loader. Is Fedora PPC the only operating system with the problem? Do you have a link to the image file you use for testing?