Open Firmware, was Re: Bootstrappable language
mcguire at neurotica.com
Sun Dec 14 12:30:12 CST 2008
On Dec 11, 2008, at 10:42 AM, Paul Koning wrote:
> Another place where Forth has been used: several popular workstations
> use it for their bootloaders. Sun does (or did) and I think Apple
> does too. At least I once got an "ok" prompt when I powered up a very
> confused Power Mac... and it answered like Forth interactive mode.
This is correct...it's called Open Firmware, and it has been the
ROM-based boot facility (and some other neat stuff) in all SPARC-
based Sun systems from the SPARCstation-1 on up to the current
hardware, all Apple PCI-based PPC systems, and many IBM POWER-based
(RS/6000) systems. Sun calls it OpenBoot. The OLPC XO-1 laptop
(based on an AMD x86 implementation) also has Open Firmware, and
probably other machines as well.
Open Firmware is an IEEE standard (1275) and can be implemented on
just about anything. It is well documented, portable, well behaved,
and used to great success. In the face of these facts, one wonders
why things like EFI are brought into existence.
What seems to surprise most people is that this makes Forth one of
the most widely-deployed languages in modern computing. I recently
had a conversation with an otherwise extremely clueful guy who even
has a background in embedded systems, who thought Forth was
completely dead. He was shocked to learn that the Mac he was typing
on had a Forth implementation in flash.
As you observed, it is indeed Forth. It's an extremely powerful
and well-thought-out system that allows expansion cards to contain
machine-independent code ("FCode", Forth bytecode) in ROM or flash
that implements initialization and diagnostic routines, bootstrap
code, and OS-accessible/-usable device drivers.
If you've ever noticed the flash chip on Sbus cards...that's
what's in there. Some PCI cards have it as well; the world would be
a much happier place if all of them did.
So, one other implication here is that any old SPARCstation
sitting in a closet makes a great Forth hack machine.
Port Charlotte, FL
More information about the cctalk