Open Firmware
| Company type | Firmware standard |
|---|---|
| Industry | Computer firmware |
| Founded | 1994 |
| Founder | Sun Microsystems |
| Products | OpenBoot, OpenFirmware, SmartFirmware |
Open Firmware represents a standardized type of computer firmware, initially created by Sun Microsystems under the name OpenBoot. It has been adopted by multiple manufacturers such as Sun, Apple, IBM, and ARM. This firmware standard allows systems to load platform-agnostic drivers directly from PCI devices, thereby improving hardware compatibility.
Users interact with Open Firmware through a command line interface built on the Forth programming language. It serves essential roles in initializing hardware components and performing system diagnostics.
History
Open Firmware was formally recognized as the IEEE 1275-1994 standard. However, after the Open Firmware Working Group stopped reaffirming it in 1998, IEEE officially withdrew the standard in 2005.
Features
A key aspect of Open Firmware is its definition of a hardware configuration framework called the device tree. This model enables operating systems to acquire detailed understanding of system hardware without requiring extensive manual configuration or hardware scanning. Such capability is vital for accurately detecting devices like slave I2C peripherals used in monitoring hardware, preventing the hazards linked to indiscriminate bus probing often seen in generic software tools.
The firmware’s Forth-based source code is compiled into FCode, an architecture-neutral bytecode. PCI expansion cards can contain embedded FCode programs that deliver boot-time diagnostics, configuration routines, and device drivers compatible with any Open Firmware environment. Due to its compactness—disk drivers may be only a few kilobytes—FCode facilitates efficient implementations. This universality allowed shared I/O cards to function across Sun systems and Macintosh computers utilizing Open Firmware. FCode adheres to ANS Forth standards and includes a subset of the Open Firmware library functions.
Open Firmware provides an interactive programming environment that accelerates hardware testing and driver creation. Only minimal video and mouse drivers are necessary for executing graphical diagnostic tools. Apple integrated such interfaces into Power Macintosh models, while Sun used the FCode-based OpenBoot Diagnostics (OBDiag) suite during manufacturing and support operations.
Implementations and licensing
Since 2006, multiple commercial versions of Open Firmware have been released as open source, including Sun's OpenBoot, Firmworks' OpenFirmware, and Codegen's SmartFirmware. The source code is accessible through the OpenBIOS initiative. Sun’s version is distributed under a BSD license.