[OpenBIOS] Apple's Open Firmware.

Joe van Tunen joevt at shaw.ca
Sat Mar 31 03:37:27 CEST 2018


On 3/30/18, 4:02 PM, "OpenBIOS on behalf of Segher Boessenkool" <openbios-bounces at openbios.org on behalf of segher at kernel.crashing.org> wrote:

    And Apple uses some non-standard FCodes, too
    (for local variables, most prominently).  And their drivers can use
    anything defined in the "main" OF (so you cannot transplant them to
    a different machine or a different FW version even).


Right. Local variables are used by Apple's device drivers (for example, "mesh" (SATA) and "control" (PowerMac 8600 graphics) devices). Different PowerMacs use different tokens for defining and using local variables. Apple used different tokenizers for the different PowerMacs so the local variables in the tokenized output will work only for PowerMacs using the same Open Firmware.

Local variables are not used by third party drivers (ATI/AMD, Nvidia) so third party drivers should work in different Open Firmware implementations, as long as the driver doesn't depend on other non-standard stuff.

OpenBIOS does have support for local variables:

: hello { a b ; c } a b + -> c c ;
3 4 hello .
7

The runtime support functions for local variables have names on the PowerMac G5 that are different than what OpenBIOS uses. The functions on Old World Macs are unnamed.






More information about the OpenBIOS mailing list