Sunday, December 7, 2014

iQUIK supports the Performa 6400

After fixing some sad bugs from the last refactoring binge and adding support for OF 2.0, the 6400 (and likely all "Alchemy"-based Macs) can be booted via iQUIK.

Just like OpenFirmware 2.0.1, 2.0 seems to suffer from the "shallow setprop" bug, that results in bogus values for the /chosen/linux,initrd-start and /chosen/linux,initrd-end properties.


2 comments:

  1. Do you have a testcase for the "shallow setprop" bug? I may wanna fix it in my OFW. Unless some other software relies on the broken behavior...

    ReplyDelete
  2. If you can boot the Linux kernel with an initrd then you're good to go. *chuckle* that might be long stretch, though... :-).

    This is an Apple OFW bug AFAIK. Curiously enough, no one else ever complained. Maybe because at the time when the affected hardware was relevant, no one booted with an initrd.

    A very simple test is to store some contents in a buffer, do the CIF "setprop" call, then overwrite the buffer. If "getprop" gives the original contents - you're good and there is no bug. If "getprop" gives you the same data as in the now overwritten buffer, then you have a problem. I've discovered the bug trying to boot Linux on my PDQ, which is OF 2.0.1. Curiously, my 3400c, also 2.0.1 but obviously significantly older hardware, doesn't have the bug, while a Performa with OF 2.0 *does* have the bug. Obviously this means that there were several development lines/repos for OF at Apple, so versioning doesn't say much about bugs.

    I do wonder what the genealogy behind Apple's OFW is. We'll never know, because it's Apple.

    ReplyDelete