HOME

TheInfoList



OR:

Open Firmware is a standard defining the interfaces of a computer
firmware In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
system, formerly endorsed by the
Institute of Electrical and Electronics Engineers The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines. The IEEE has a corporate office ...
(IEEE). It originated at
Sun Microsystems Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
where it was known as OpenBoot, and has been used by multiple vendors including
Sun The Sun is the star at the centre of the Solar System. It is a massive, nearly perfect sphere of hot plasma, heated to incandescence by nuclear fusion reactions in its core, radiating the energy from its surface mainly as visible light a ...
,
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
,
IBM International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
and ARM. Open Firmware allows a system to load platform-independent drivers directly from a PCI device, improving compatibility. Open Firmware may be accessed through its
command line interface A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternati ...
, which uses the Forth programming language.


History

Open Firmware was described by
IEEE The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) organization, 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines. The IEEE ...
standard as ''IEEE 1275-1994''. This standard was not reaffirmed by the Open Firmware Working Group (OFWG) since 1998, and was therefore officially withdrawn by IEEE in May 2005.


Features

Open Firmware defines a standard way to describe the hardware configuration of a system, called the '' device tree''. This helps the operating system to better understand the configuration of the host computer, relying less on user configuration and hardware polling. For example, Open Firmware is essential for reliably identifying slave I2C devices like temperature sensors for hardware monitoring, whereas the alternative solution of performing a blind probe of the I2C bus, as has to be done by software like
lm_sensors lm_sensors (Linux-monitoring sensors) is a free open-source software-tool for Linux that provides tools and drivers for monitoring temperatures, voltage, humidity, and fans. It can also detect chassis intrusions. Issues During 2001/2004, the ...
on generic hardware, is known to result in serious hardware issues under certain circumstances. Open Firmware Forth Code may be compiled into FCode, a
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
which is independent of
instruction set architecture In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, ...
. A PCI card may include a program, compiled to FCode, which runs on any Open Firmware system. In this way, it can provide boot-time
diagnostic Diagnosis (: diagnoses) is the identification of the nature and cause of a certain phenomenon. Diagnosis is used in a lot of different academic discipline, disciplines, with variations in the use of logic, analytics, and experience, to determine " ...
s, configuration code, and
device driver In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
s. FCode is also very compact, so that a disk driver may require only one or two kilobytes. Therefore, many of the same I/O cards can be used on Sun systems and Macintoshes that used Open Firmware. FCode implements ANS Forth and a subset of the Open Firmware library. Being based upon an interactive programming language, Open Firmware can be used to efficiently test and bring up new hardware. It allows drivers to be written and tested interactively. Operational video and mouse drivers are the only prerequisite for a graphical interface suitable for end-user diagnostics. Apple shipped such a diagnostic "operating system" in many Power Macintoshes. Sun also shipped an FCode-based diagnostic tool suite called OpenBoot Diagnostics (OBDiag) used by customer service support and hardware manufacturing teams


Implementations and licensing

Several commercial implementations of Open Firmware have been released to the Open Source community since 2006, including Sun OpenBoot, Firmworks OpenFirmware and Codegen SmartFirmware. The source code is available from the
OpenBIOS OpenBIOS is a project aiming to provide Free software, free and Open-source software, open source implementations of Open Firmware. It is also the name of such an implementation. Most of the implementations provided by OpenBIOS rely on additiona ...
project. Sun's implementation is available under a
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
.


See also

* * * *


References


External links

*
Sun's OpenBoot 2.x command reference manual (Revision A, November 1995)



The last IEEE 1275 text

Boot Process on IBM POWER
(via
Internet Archive

OFW FAQ on OLPC Wiki

Aurora SPARC Linux OBP reference guide
(via
Internet Archive


{{Use dmy dates, date=September 2021 Firmware Sun Microsystems software IEEE standards Macintosh firmware BIOS Open-source hardware MacOS Forth programming language family