HOME

TheInfoList



OR:

Open Firmware is a standard defining the interfaces of a computer
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
system, formerly endorsed by the
Institute of Electrical and Electronics Engineers The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
(IEEE). It originated at
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, t ...
, where it was known as OpenBoot, and has been used by vendors including Sun,
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancest ...
, IBM and ARM. Open Firmware allows the 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 interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
, which uses the Forth programming language. Open Firmware is described by
IEEE The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operati ...
standard ''IEEE 1275-1994'', which was not reaffirmed by the Open Firmware Working Group (OFWG) since 1998 and has therefore been officially withdrawn by IEEE. Several commercial implementations of Open Firmware have been released to the Open Source community in 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 and open source implementations of Open Firmware. It is also the name of such an implementation. Most of the implementations provided by OpenBIOS rely on additional lower-level firmware for hardware in ...
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 lice ...
.


Features

Open Firmware defines a standard way to describe the hardware configuration of a system, called the ''
device tree In computing, a devicetree (also written device tree) is a data structure describing the hardware components of a particular computer so that the operating system's kernel can use and manage those components, including the CPU or CPUs, the memory ...
''. 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 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 (norma ...
which is independent of
instruction set architecture In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ...
. 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 is the identification of the nature and cause of a certain phenomenon. Diagnosis is used in many different disciplines, with variations in the use of logic, analytics, and experience, to determine "cause and effect". In systems enginee ...
s, configuration code, and
device driver In computing, 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, enabling operating systems and o ...
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


Access

On Sun
SPARC SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system develope ...
systems, the Open Firmware interface is displayed on the console terminal before the
bootstrapping In general, bootstrapping usually refers to a self-starting process that is supposed to continue or grow without external input. Etymology Tall boots may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers ...
of the system software. If a keyboard is connected, the main video display will be used as the console terminal and Open Firmware can be re-entered at any time by pressing () on the keyboard. If no keyboard is connected, then the first serial line on the system is usually used as the console and Open Firmware is re-entered by sending a "Break" on the serial line. While the system software is running, various Open Firmware settings can be read or written using the eeprom command. On a PowerPC-based Macintosh, the Open Firmware interface can be accessed by pressing the keys at startup ( if using standard PC USB keyboard). Intel-based Macintoshes do not use Open Firmware; they use Extensible Firmware Interface. Also, early versions (before the
PowerBook 3400 The PowerBook 3400c is a laptop computer in the PowerBook line manufactured by Apple Computer from February to November 1997. It was briefly the fastest laptop in the world. Using the PowerPC 603e processor running at speeds of up to 240 MH ...
) connect Open Firmware's input and output to the Modem port by default. This functionality is generally only used by developers or troubleshooting I.T. personnel; for common users, the
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lap ...
operating system provides a high level
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, ins ...
to change commonly used Open Firmware settings. For instance, it is possible to specify the boot disk or partition without directly using the Open Firmware interface, but with some limitations (e.g. it is not possible to select boot from USB mass-storage devices, but Open Firmware allows iMac to boot using boot ud:,\\:tbxi command). Other Open Firmware settings can be changed using the nvram command while the system software is running.Apple's Transition from Open Firmware to Extensible Firmware Interface
mactech, 2007. On Pegasos, the interface is accessed by pressing at startup. On
IBM Power Systems Power Systems is a family of server computers from IBM that are based on its Power processors. It was created in 2008 as a merger of the System p and System i product lines. History IBM had two distinct POWER- and PowerPC-based hardware l ...
, Open Firmware ("ok" prompt) can be accessed through the SMS Boot Menu. SMS Boot Menu can be accessed by pressing or during the boot sequence, after hardware checking, and just before the OS boot. On the OLPC XO-1 laptop, Open Firmware access requires a developer key, that can be obtained after registration with OLPC. After installing the key, upon each power-on, the boot countdown can be interrupted with (the upper left key) to get to the Forth prompt.


See also

*
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the b ...
* Libreboot *
Coreboot coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware (BIOS or UEFI) found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and r ...
*
PowerPC Reference Platform PowerPC Reference Platform (PReP) was a standard system architecture for PowerPC-based computer systems (as well as a reference implementation) developed at the same time as the PowerPC processor architecture. Published by IBM in 1994, it allo ...
* Common Hardware Reference Platform * Das U-Boot * Input/output base address *
OpenBIOS OpenBIOS is a project aiming to provide free and open source implementations of Open Firmware. It is also the name of such an implementation. Most of the implementations provided by OpenBIOS rely on additional lower-level firmware for hardware in ...
* Power-on self-test *
UEFI UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples ...
*
Advanced RISC Computing Advanced RISC Computing (ARC) is a specification promulgated by a defunct consortium of computer manufacturers (the Advanced Computing Environment project), setting forth a standard MIPS RISC-based computer hardware and firmware environment. T ...
*
System Reference Manual The SRM firmware (also called the SRM console) is the boot firmware written by Digital Equipment Corporation (DEC) for computer systems based on the DEC Alpha microprocessor. SRM are the initials of (Alpha) System Reference Manual, the public ...


References


External links


OPEN FIRMWARE HOME PAGE
(via
Internet Archive



The last IEEE 1275 text

Firmworks OpenFirmware source code

Codegen SmartFirmware source code

Boot Process on IBM POWER
(via
Internet Archive

OFW FAQ on OLPC Wiki

Aurora SPARC Linux OBP reference guide
(via
Internet Archive




(via ttps://web.archive.org Internet Archive {{Firmware and booting Firmware Sun Microsystems software IEEE standards Macintosh firmware BIOS Open-source hardware MacOS Forth programming language family