Open Firmware

From Wikipedia, the free encyclopedia

Open Firmware, or OpenBoot in Sun Microsystems parlance, is a standard defining the interfaces of a computer firmware system, formerly endorsed by the IEEE. It originated at Sun, and is used by Sun, Apple, IBM, and most other non-x86 PCI chipset vendors. Open Firmware allows the system to load platform-independent drivers directly from the PCI card, improving compatibility. The proposed Power Architecture Platform Reference will also be Open Firmware based.

Open Firmware may be accessed through its Forth language shell interface. It achieves essentially the same functionality as the later EFI standard initiated at Intel, with lower overhead.

Open Firmware is described by IEEE 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 project. Sun's implementation is available under a BSD license.[1]

Advantages

Because the Open Firmware Forth code is compiled into FCode (a bytecode) and not into the machine language of any particular computer architecture, Open Firmware code included in, say, an I/O card can be executed by any system that uses Open Firmware. In this way, an I/O card can provide boot-time diagnostics, configuration code, and device drivers that will be usable on any system running Open Firmware, allowing many of the same I/O cards to be used on Sun systems and Macintoshes.

Being based upon an interactive programming language, Open Firmware can be used to efficiently test and bring up new hardware.

Access

On Sun SPARC systems, the Open Firmware interface is displayed on the console terminal before the bootstrapping 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 Stop-A (L1-A) 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 Cmd-Option-O-F at startup.[2] This functionality is generally only used by developers or troubleshooting I.T. personnel; for common users, the Mac OS X operating system provides a high level graphical user interface 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. Other Open Firmware settings can be changed using the nvram command while the system software is running.

On Pegasos, the interface is accessed by pressing Esc at startup.

On IBM POWER systems, Open Firmware ("ok" prompt) can be accessed through the SMS Boot Menu. SMS Boot Menu can be accessed by pressing "1" or "F1" during the boot sequence, after hardware checking, and just before the OS boot.

On the OLPC XO-1 laptop, first get a developer key, which allows full access to the firmware. The key is readily accessible via the home page of the web browser. After you install the key, upon each power-on, you can interrupt the boot countdown with Esc (the upper left key) to get to the Forth ok prompt.

See also

Firmware
BIOS
Extensible Firmware Interface (EFI)
Unified Extensible Firmware Interface (UEFI)
OpenBIOS, another implementation of the Open Firmware standard
Coreboot (formerly known as LinuxBIOS), a project which aims to create a free BIOS that can run 32-bit operating systems like Linux
Input/Output Base Address
Advanced Configuration and Power Interface (ACPI)
BIOS boot devices
BIOS Interrupt Calls
Power-On Self Test (POST)

External links


1275 Open Firmware Home Page
http://playground.sun.com/1275/mejohnson/
http://www.codegen.com/SmartFirmware/
http://www.firmworks.com
http://www.openfirmware.org
http://www.openfirmware.info
http://www.openbios.org
http://sunsolve.sun.com/data/802/802-3242/html/TOC.html SUN's SPARC OBP documentation
http://www.complang.tuwien.ac.at/forth/1275.ps.gz The last IEEE 1275 text
http://www.openbios.org/viewvc/?root=OpenFirmware Firmworks OpenFirmware source code
http://www.openbios.org/viewvc/?root=SmartFirmware Codegen SmartFirmware source code
http://www-941.ibm.com/collaboration/wiki/display/WikiPtype/Boot+Process+on+POWER Boot Process on IBM POWER
http://wiki.laptop.org/go/OFW_FAQ OFW FAQ on OLPC Wiki

Notes and references
1 http://laptop.media.mit.edu/laptopnews.nsf/2e76a5a80bc36cbf85256cd700545fa5/2cc25a58f0d1a6e8852572070033befc?OpenDocument
2 Intel-based Macintoshes do not use Open Firmware; they use Extensible Firmware Interface. See also: Apple's transition to Intel processors. Also, early versions (before the PowerBook 3400) connect Open Firmware's input and output to the Modem port by default.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章