The Future of the BIOS: Modular, Scalable, Driver-Based Framework for EFI
Apr 28, 2004 — by LinuxDevices Staff — from the LinuxDevices Archive — 2 viewsOverview: Freedom from BIOS Limitations
In detective stories, you follow the money. In code, you follow the interface. Unfortunately, in modern code, developers are still tripping over the traditional, old-school BIOS on their way to initializing their boards.
Intel recently introduced an innovative new concept in BIOS: the Platform Innovation Framework for Extensible Firmware Interface (EFI). This is a modular, platform-independent architecture that can perform boot and other BIOS functions. It is driver-based, so developers can do binary linking. It is also C-based, clean, scalable, and modular across different companies. It offers IA-32, Intel Itanium, and Intel XScale, technology applicability, all in a single source tree.
When used with Intel's Extensible Firmware Interface, the Framework completely eliminates the need for a traditional BIOS interface. This is a chance for freedom from the limitations of today's BIOS, with an effective new architecture. It is important to note that Intel is not going into the BIOS business. We're simply developing a key boot architecture that will be modular, flexible, and scalable enough to last for the next 20 years or so.
BIOS vs. the Framework
Components have changed hundreds of times since the BIOS was first developed. Processing power has increased more than 600 times, and hundreds of new peripherals have been introduced. Over the years, the BIOS has had to grow to deal with new components, larger and more complex chipsets, add-in cards, and so on. As the BIOS has grown, it has become increasingly unwieldy. The traditional BIOS simply cannot handle the demands of cutting-edge architectures, such as Itanium-based servers.
Intel's answer to BIOS limitations has been the Extensible Firmware Interface and the Intel Platform Innovation Framework for EFI, referred to here as the Framework. The Extensible Firmware Interface is a set of modular interfaces that replaces the traditional set of BIOS interfaces. EFI is easy to debug, easy to upgrade, and based on the high-level C language.
The Framework is a modular architecture based on low-level drivers. The Framework sits beneath EFI and performs boot and other BIOS functions in a faster, modular, more-flexible way. It is stored in firmware, so it is more secure from viruses and other types of attack than past BIOSes. And, it is platform-independent.
Full Legacy Support
With size issues, memory issues, platform compatibility issues, and more, desktop system vendors know that the BIOS train is rapidly running out of track. However, these vendors need a solution that not only resolves BIOS issues, but also allows legacy support for today's operating systems.
Intel's goal in creating the Framework for EFI was to help BIOS vendors support the speed, power, and innovations of today's system architectures. This solution offers full legacy support through the use of a compatibility support module, or CSM. For systems that do not yet have EFI, the support module takes the place of EFI so that the Framework can communicate with the traditional operating system.
The benefit to developers is that there is no real change to the work process. Even developers buying boards that include the Framework with EFI will not have to learn new or exotic tools. Instead, the same test suites, similar processes for handling BIOS, and so on, that have been used for existing systems can be used.
Benefits of the Framework
The Framework offers some obvious benefits over the traditional BIOS. It:
- Improves the reliability of boot architecture
- Shortens boot times
- Offers full legacy support
- Eliminates VGA dependency
- Can be used with any Intel architecture.
Because the Framework has a modular, driver-based architecture, developers can create each BIOS more quickly and with fewer errors. There will no longer be a need to rewrite and debug code line-by-line, hoping it works well in the end. Instead, each new BIOS can be built with modules that are already tested and verified.
A side benefit to being modular is that the Framework reduces BIOS size and improves boot reliability. This is accomplished through firmware. With the Framework, settings are no longer stored in the CMOS (complementary metal-oxide semiconductor) map. Instead, new settings are stored on the firmware chip. Extra or additional drivers and code functions can be stored on the hard drive and accessed there. This makes it easier for original equipment manufacturers (OEMs) to add systems features that can differentiate them from other products.
One obvious, key feature of the Framework is that it eliminates today's dependency on the video graphics adapter (VGA) for test. Output no longer has to be sent to the screen, so a VGA monitor is no longer required to test desktop systems. Instead, developers can test systems, then dump the test output to a printer or a file. On a production line, only two connections (power and LAN) are now needed to test the system.
Some of the more interesting benefits of the Framework are that it:
- Breaks through fundamental BIOS barriers. For example, preboot RAM (random access memory) can now be greater than 1 MB, which means developers can control how RAM is allocated, and the Option ROM (read-only memory) space crunch is resolved.
- Allows a developer to compile pretested modules into a working BIOS that is more likely to be efficient and error-free.
- Encapsulates system specifics in the drivers. For example, drivers map to software-visible hardware. Also, hardware and platform specifics are isolated to support component-based firmware construction.
- Allows OEMs to add preboot features.
Add-In Cards Galore
One major issue with today's BIOS is the way add-in cards are handled, or in some cases, mishandled. The BIOS has access to only a limited amount of memory to load Option ROMs. Sometimes, if two or more high-end cards are used in a system, the system cannot boot because there may not be enough memory to load drivers. With the Framework, code is no longer forced to run under the 1-MB line in memory. This means there is room to load all of the Option ROM drivers needed for any number of high-end cards.
With today's BIOS, card architecture must also match the system architecture. This means developers must design two cards for every product release — one card for 32-bit systems, and another for Itanium-based systems. With the Framework, that doubling of work is unnecessary. Instead, one add-in card can be used for all Framework-based systems. The obvious benefit is the reduction in development costs and the halving of manufacturing resources. The ultimate benefit is that a single card can be bought in greater volume, thus reducing system costs overall.
Preboot Features
Because the Framework is flexible, BIOS vendors can also use it to support preboot features for implementations. For example, BIOS vendors could add different types of applications that run before the system boots to the operating system. These could include:
- A shell feature that can be used for system test.
- A shell feature that boots from shell to Web browser, directly to an intranet support page, so that developers have instant access to information about solving problems while building the current configurations.
- A preboot Web browser that automatically goes to a port site and downloads the latest upgrade files for that server or system.
In the future, the Framework could allow:
- Self-configuration of systems via the Web.
- Call-home-after-crash capabilities.
- An Instant On feature.
Summary
Most desktop vendors agree it is time for a new BIOS solution. Intel's answer is the Platform Innovation Framework for Extensible Firmware Interface (EFI). This is true freedom from the traditional, oversized, overtaxed, and unwieldy BIOS. It offers developers a chance to step away from the BIOS of yesteryear into the simplicity of a modular, driver-based architecture that is written in the high-level C language.
The modular Framework with EFI completely restructures how the operating system interacts with the motherboard. It offers a common firmware architecture for platforms and add-in card compatibility. It also improves system reliability and shortens boot times. With full legacy support, developers won't even have to change test suites or learn new tools. Instead, the time can be used to simplify setup and test processes.
The Framework offers benefits, not only for Intel Desktop Board customers, but also for all users of Intel motherboards, including server, workstation, and embedded systems. Some OEMs have already begun releasing products that take advantage of the increased reliability and speed of the Framework. The Framework will be implemented on Intel Itanium processor?based server platforms during the coming year. By 2005, most Intel Desktop Boards will offer the Framework for EFI. Developers should check the Intel Web site for information on the benefits of both EFI and the Framework for EFI.
More Info
Extensible Firmware Interface is an open-architecture interface. Developers can find information about EFI on the Intel Web site. The site includes a sample EFI implementation that developers can download free, as well as a driver writer guide for the EFI driver model.
Developers can also find information about the Intel Platform Innovation Framework for Extensible Firmware Interface online at the Intel website. The site includes an overview, answers to common questions, and information about how to get a copy of the Framework.
Intel is also working to develop a special interest group (SIG) to develop specifications and standards for EFI features, such as Instant On. Developers should consider contacting Intel about joining the SIG and participating in the standards process. Learn more about Intel's work in standards.
About the authors:
Tom Niemela is a technical marketing engineer with Intel's Platform Architecture Solutions Division and has been with Intel for more than 10 years. He began at Intel in the software testing group for Intel ProShare Video Conferencing technology, and later worked in the Intel Desktop Boards marketing group. Niemela received a B.S. in computer engineering from the Oregon Institute of Technology.
Lindsay R. Vega is a technical marketing engineer intern with Intel's Platform Architecture Solutions Division. Currently, she is studying computer engineering at Oregon State University. Vega was a Ritter Scholar in 2001 and 2002, and is currently an Intel Scholar. She is also a member of the Society of Women Engineers.
Copyright © Intel Corporation 2003-2004. All rights reserved. Reproduced by DeviceForge LLC with permission. This article was originally published in Intel's [email protected] Magazine.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.