“EFI? Intel has been trying to shove that down our throats for years.” (2003)
groups.google.com
groups.google.com
Is the editorializing about EFI the thing that is supposed to be interesting here? If so, here it is in its entirety:
"EFI?? Intel has been trying to shove that down our throats for years. IMO it hasn't been adopted by the industry because it would require a large investment in infrastructure to get the ball rolling. You have to understand that a lot of BIOS development has gone to the Pacific Rim area where labor is cheap but excellent. Margins are so thin on motherboards the OEMs don't want to retrain their BIOS programmers to start with EFI when everything is working just fine with a traditional BIOS because each new project is leveraged from the prior. I guess after a while we'll all be assimilated into EFI by Intel, but yikes, that means I'd have to learn 'C'."
OK, and...? This is a mostly reasonable observation for a reasonably informed PC BIOS engineer to make in 2003, but I don't know what insight people on HN are supposed to get from it in 2016.
http://uefi.org/sites/default/files/resources/ACPI_1.pdf
But of course ACPI took years to catch on, during which low cost PCs from for example eMachines was coming. EFI was actually designed not long after ACPI, but it was first targeted at IA64.
By far the most sane boot system IMO. Shame it never really caught on. I guess IBM was stuck in their own little (albeit fascinating) world, per the usual….
It was based on Langston and Perry's Forth-83, and had a meta compiler that could target different word sizes and architectures. He made it even more architecture and word size independent, implemented interactive top level loops and conditionals, emacs-like line editing, all kinds of low level device drivers and testers that ran in stand-alone mode, and many other features, including full 16 and 32 bit support with a vocabulary for writing word size and endian independent code.
He ported Sun Forth to 68K and SPARC Sun workstations, as well as the Amiga and other systems. It ran in both stand-alone mode (from disk, tftp or ROM), or under Unix. Under Unix, it could dynamically relocate and link in Unix libraries, and you could call back and forth between Forth and C.
Sun Forth eventually evolved and standardized into the Open Firmware [1], whose purpose was to support machine independent byte code [2], so plug-in hardware cards could include ROMs with Forth byte code drivers that ran on 68K, SPARC, x86 and other systems.
Sun shipped it with the SPARC workstations, Apple adopted it and shipped it on their PowerPC Macs, IBM shipped with their POWER servers, and Mitch worked directly with the OLPC project extending OpenFirmware to support the OLPC XO-1 Children's Computer secure and power efficient hardware. [3]
>OLPC Wiki: Open Firmware
>Open Firmware is the hardware-independent firmware (computer software which loads the operating system) that the XO runs.
>It was developed by Mitch Bradley at Sun Microsystems, and used in post-NuBus PowerPC-based Apple Macintosh computers (though it has been dropped with Apple's transition to Intel processors), Sun Microsystems SPARC based workstations and servers, IBM POWER systems, and PegasosPPC systems, among others. On those computers, Open Firmware fulfills the same tasks as BIOS does on PC computers.
>For example Fedora and Debian use the YaBoot BootLoader for Open Firmware.
>The Open Firmware user interface includes a FORTH-based shell interface. FORTH is a powerful high level language that is remarkably compact. A complete Forth development environment including compiler, decompiler, assembler, disassembler, source level debugger, and assembly language debugger is present in the XO boot ROM (SPI FLASH). With the Open Firmware Forth system, you can directly access all of the hardware devices on the XO, use built-in functions like selftest diagnostics and games, and even write complete applications, without needing any external tools. The bulk of Open Firmware is written in Forth, so the source level debugger can be used to debug Open Firmware itself.
[1] http://www.openfirmware.info
Then x86 pretty much took over the world.
When IA64 was starting to come out, HP flew me up to Intel to propose - with the support of Microsoft! - that Open Firmware should be the standard firmware for IA64. Intel declined, because they had a couple of guys working on their own firmware design that would have similar functionality. That eventually morphed into UEFI, and after more than 10 years it was sort of up to part with Open Firmware - although I doubt that it will ever have the level of instant programmability and debugging capabilities of OFW.
I understand why Intel chose the way they did. Their business model requires that they control as much of the low-level ecosystem as possible. "Owning" the firmware spec gives them leverage and control.
https://twitter.com/yuhong2/status/751955059609526272
https://twitter.com/getwired/status/752737513005912064
I should also mention a more recent Slashdot post:
https://linux.slashdot.org/comments.pl?sid=8693705&cid=51419...