[OpenBIOS] Apple's Open Firmware.

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Mon Apr 2 14:51:56 CEST 2018


On 31/03/18 02:37, Joe van Tunen wrote:

> 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.

Right. As the author of the OpenBIOS local variable support, I can 
confirm that it's limited to Forth without any associated FCode support. 
It was added simply to be able to run the Apple bootloaders.


ATB,

Mark.



More information about the OpenBIOS mailing list