On Mon, Nov 21, 2016 at 10:34 PM, Tarl Neustaedter tarl-b2@tarl.net wrote:
On 2016-Nov-21 15:07 , Michael wrote:
Thank you, I found this (and more) last week. The OLPC sites are the best for me:
1: http://wiki.laptop.org/go/Open_Firmware 2: http://wiki.laptop.org/go/Forth_Lessons 3: http://wiki.laptop.org/go/Cross_Compiling_Open_Firmware
[...]
Some history behind that...
Back in the dim, dark past (1980's), Mitch Bradley worked for Sun Microsystems on system startup. At some point, he left to create a startup (firmworks.com), and produced a forth kernel used for booting SPARCs, which sun adopted for the sun4c models and later. They worked together at producing an IEEE standard, IEEE 1275-1994.
For a long time, Sun and Firmworks exchanged source code (I think actually mostly Firmworks to Sun, but formally listed as exchange). During that period, several other companies produced systems based on an OpenFirmware initialization (Motorola, Apple & IBM's PPC implementations are the ones which come to mind). As I understand it, these were entirely separate implementations based on the IEEE 1275 document. Fujitsu based their systems on a SPARC core, and I believe based their code on Sun's implementation.
Decades went by, and industry interest in OpenFirmware waned (mostly because EFI came on the scene, and for all its faults, it did adopt most of OpenFirmware's important concepts [...]
That's a very interesting point. Does EFI actually have any advantages over IEEE 1275? For instance, Apple moved to EFI, but was their real motivation? Did they just wanted to ditch Forth?
Mitch got a contract to help the One-Laptop project with their BIOS work and eventually persuaded them to ditch the traditional PC bios and instead use a forth-based initialization, based on Firmwork's OpenFirmware implementation. There were a number of factors involved, primarily being that they were tremendously prom-limited, and a forth implementation can pack in more functionality per byte than ordinary executable code can.
Also the first versions of OLPC were not based on x86 CPUs, so there was no requirements on the PC BIOS compatibility initially.
Since Mitch is the leading prophet of the OpenFirmware cult, he's made a point of carefully documenting everything involving OpenFirmware on One-Laptop. So anything you find under laptop.org is going to be the most recent edition by the person who knows the most about the standard and implementations.