ArticleslgStudy

computer science

Open Firmware

Open Firmware is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Open Firmware rather than just read about it. In short: Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems where it was known as OpenBoot, and has been used by multiple vendors including Sun, Apple, IBM and ARM.

Open Firmware — main illustration
Open Firmware — illustration

Key takeaways

  • Open Firmware belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Open Firmware to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Open Firmware from memory before moving on to harder problems.

Reference excerpt

Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems where it was known as OpenBoot, and has been used by multiple vendors including Sun, Apple, IBM 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, which uses the Forth programming language.

History Open Firmware was described by 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 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 which is independent of instruction set architecture. 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 diagnostics, configuration code, and device drivers. 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 project. Sun's implementation is available under a BSD license.

See also

Coreboot – Open-source computer firmware Power-on self-test – Process performed by firmware or software routines PowerPC Reference Platform – Computer system architecture UEFI – Technical specification for firmware architecture

References

External links Official website at the Wayback Machine (archived 2007-06-30) Sun's OpenBoot 2.x command reference manual (Revision A, November 1995) Sun's SPARC OpenBoot 4.x command reference manual 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) Quick Reference

Illustrations

Open Firmware: OpenBoot screenshot
OpenBoot screenshot

Worked examples

Example 1 — a first encounter with Open Firmware

Start with the simplest possible case. Write down what Open Firmware claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Open Firmware before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Open Firmware ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Open Firmware

In research
Open Firmware appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Open Firmware in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Open Firmware is common in secondary-school and first-year university syllabi. It links to neighbouring topics BIOS, Firmware, Forth implementations, so understanding it makes those chapters shorter.
In everyday life
Look for Open Firmware outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Open Firmware in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Open Firmware means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Open Firmware out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Open Firmware in simple terms?

Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems where it was known as OpenBoot, and has been used by multiple vendors including Sun, Apple, IBM and…

Why does Open Firmware matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Open Firmware?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Open Firmware.

Tags

  • BIOS
  • Firmware
  • Forth implementations
  • Forth programming language family
  • IEEE standards
  • MacOS
  • Macintosh firmware
  • Open-source hardware
  • Sun Microsystems software

Keep exploring