Alastair’s Place

Software development, Cocoa, Objective-C, life. Stuff like that.

End of the PC BIOS?

Intel, it seems, have plans to finally dispose of the quagmire of unmitigated awfulness that is the PC BIOS. The BIOS, which is responsible for starting-up all PC-compatible machines, testing and initialising hardware and booting the actual operating system, has been around since the very earliest days of the PC, and, largely as a result of technological progress during that time, has accumulated a myriad of bodges, hacks and additional interfaces to provide access to newer hardware whilst retaining backwards-compatibility with software written for earlier systems.

What I find slightly odd, however, is that Intel has chosen to develop its own system, known as Extensible Firmware Interface (or EFI), rather than adopting the existing industry standard, IEEE 1275 Open Firmware, as used by Sun, Apple, IBM, Motorola and others. This seems a shame, particularly as Open Firmware is already established as a solution to the problem of processor/system-independent initialisation of PCI (and other) devices; indeed, it has been around since the days of S-BUS (see this article in Byte magazine and Matthew Johnson's Open Firmware page).

By adopting Open Firmware on the PC platform, Intel would have flattened the market for PCI hardware to the extent that boards intended for RISC workstations would function properly in PCs and vice-versa, resulting in more competition and lower prices for owners of Macs, Suns, and other RISC-based machines… conversely, by insisting on yet another proprietary solution (which will, no doubt, become a de-facto standard, most probably through nothing more than the market dominance of EFI's supporters), they maintain the artificial and unnecessary distinction between PCI cards developed for the RISC world and the Wintel oligopoly, forcing prices up for owners of non-Wintel systems as well as increasing costs for PCI card vendors (who now have three separate sets of drivers to write… x86 binary, Open Firmware FCode and EFI Byte Code).

It has been suggested that one of the major reasons that Intel and Microsoft are supportive of EFI is that it forms part of their plans for the Trusted Computing Platform (see the Trusted Computing Group site), where your computer is trusted by them to restrict your access to information.

The question that we (the computing community) should be asking ourselves here is why it is that we need yet another proprietary technology, and why existing tried-and-tested, standards-based solutions are not the appropriate solution in this case.