Open Firmware (short OFW or OF ) is an open, platform-independent standard that defines a boot environment for the operating systems of computer systems (open firmware for the boot process ). Open firmware is standardized in IEEE -1275.
The functionality goes far beyond a typical PC BIOS . Dissemination takes OFW ultimately only on the SPARC - and PowerPC - Architecture . With the exception of the children's laptop OLPC XO-1 , OFW could not establish itself in the PC area of x86-compatible CPUs despite the advantages - there the firmware (BIOS and its dedicated successor EFI ) has always consisted of pure x86 machine code and is therefore also not portable to other processor architectures.
Open Firmware offers a command line as an optional boot prompt and supports programmable commands in the hardware-independent, assembler-related programming language Forth . Manufacturers of additional devices (e.g. graphics cards) can use Open Firmware to design their integration so that they are independent of the CPU . Open Firmware defines a Forth variant for this, which can be stored in an intermediate code format called FCode on a read-only memory on the additional device.
OFW defines an environment that acts as a kind of kernel regardless of the processor and system used (see virtual machine ). Plug-in devices can register their own routines with the system, which can in principle be executed on any open firmware platform. Access to devices in the system is possible via a runtime environment. There the devices are managed in a tree structure, the entries of which have a dynamic number of attributes.
The loaded operating system can also access the devices, provided the client interface has been implemented in the open firmware. Since the open firmware environment sets tight limits in which FCode drivers have to work, they are often not very efficient and only support the hardware functions that are required to start. For this reason, the operating system itself usually takes control relatively quickly. For example, the Solaris terminal console on the SPARC architecture uses the graphics card driver in the open firmware, which makes the console very slow.
Even simple diagnostic functions can be carried out before the system is actually started, or settings (environment variables) can be changed - comparable to a Linux boot prompt, but much more flexible.
The first specification of Open Firmware comes from Sun Microsystems .
In the PC area with x86 -compatible CPUs, OFW could not prevail, there the trend is towards EFI . Therefore, since the switch to the Intel architecture, Apple has been using Intel's BIOS successor EFI instead of the OFW.
Areas of application
Open firmware is used today on a variety of platforms, from single-user to mainframe systems. Open firmware is used e.g. B. in all systems from Sun Microsystems - but also on CHRP computers from Apple ( Macs with PowerPC processors such as Power Macs ) or from other manufacturers based on the PowerPC architecture. For example, the computers Pegasos -I and -II as well as the EFIKA mainboards from Genesi use Open Firmware.
- OpenBIOS , a free implementation of OFW
- Libreboot , a free implementation of a BIOS without BLOBs
- Coreboot , a free implementation of a BIOS