This blog was originally posted on 7th March 2011 on blogs.arm.com
Previously I introduced UEFI and its history, now I will get into its benefits, especially for the usage on ARM-based systems. I will further explain the organization of the UEFI Forum.
Even though existing ARM preboot firmware does not have the BIOS limitations, there are many advantages for ARM preboot firmware to standardize on UEFI. OEM/ODMs are always looking into reduced development cost. Code sharing among products is one way to achieve that.
With ARM and x86 both in the computing continuum, UEFI not only enables code sharing among ARM products or among x86 products, it also enables code-sharing across processor architectures. Products may share many of the peripheral devices (Network, SATA, USB controllers, etc.) and feature sets across the designs.
Figure 2 shows an ARM port where 99.42% lines of code does not need to change from an x86 port.
Figure 2: Lines Added/Changed for ARM Port
The modularity of the UEFI technology also enables the silicon vendors to deliver drivers for their own hardware. This gives OEM/ODMs the flexibility to use modules from different suppliers, widening the options.
UEFI for ARM provides a truly OS independent boot solution whereas most other existing ARM boot solutions (UBoot, Little Kernel, etc.) are coupled to the OS they support. The pursuit of the computing continuum also includes the support for multiple OSes such as Windows and Linux.
Standardizing preboot firmware on UEFI also enables potential independent firmware vendors to enter the market to provide support. It would make it possible for these vendors to provide support to multiple customers, deploy modules efficiently and provide common scalable solutions.
This standardization would also reduce the development cost for the silicon vendors, now that they only need to support one type of driver that can be integrated by all OEM/ODMs. This can improve validation efficiency and debug-ability.
For the OSVs, this standardization would allow them to focus their investment in a single bootloader. Such standardization would also give new opportunities to the ISVs for innovations.
The UEFI Forum is a non-profit collaborative trade organization formed to promote and manage the UEFI standard. AMD, AMI, Apple, Dell, HP, IBM, Insyde, Intel, Lenovo, Microsoft and Phoenix are the promoters serving on the board of directors. ARM, Broadcom, Brocade, ARCI, Emulex, Fujitsu, HonHai, Inspur, LSI, Byosoft, NEC, Nvidia, Oracle, Qlogic, Sandia National Lab, Seagate, Toshiba, VIA and VMWare are the current contributor members, along with more than 130 company and individual adopters. This is the widest industry representation in the preboot firmware.
There are four working groups in the Forum as shown in Figure 3. Promoters and contributors have the opportunity to contribute and influence in these working groups:
Figure 3: UEFI Forum Organization Chart
Industry Communications Work Group (ICWG)
The charter of the ICWG is to build awareness of and encourage industry adoption to the UEFI specifications through a variety of educational, promotional and marketing programs. The ICWG will interact and collaborate with the ODM and OEM community, industry partners, peer SIG/Consortium groups, and industry media outlets to achieve their awareness and adoption goals.
The ICWG will own the responsibility for external communications regarding the progress and success of the UEFI Forum. This working group will develop the necessary technical and marketing communications vehicles such as press releases, news articles, white papers, presentations, collateral and the like.
The ICWG will help to establish marketing and press release guidelines for member companies to ensure consistency of message content and timing related to UEFI activities.
Platform Initialization Work Group (PIWG)
The scope of the work group is as follows: The PI specifications and other related specifications as mutually agreed to by a majority of the work group. Implementations of these specifications are intended to serve as firmware for initializing a computer system and are intended to be implementations below the interface layer presented by the UEFI Specification. Implementations of PI would not be required for UEFI compliance.
UEFI Specification Work Group (USWG)
The group’s scope is to manage and evolve the definition of the “Unified Extensible Firmware Interface” specification (UEFI Spec). The purpose of the specification is to define programmatic interfaces and related data structures and conventions that are used in the transfer of control between platform firmware and operating systems software. In addition, programmatic interfaces in the pre-OS environment that address the needs of both add-in card adapter boot support and manufacturing test and automation are considered in scope.
In support of the main specification work, the group was also authorized to work on a “UEFI Driver Writer’s Guide” and any similar materials that will assist in development of products that work with the UEFI Spec.
UEFI Test Work Group (UTWG)
The group is responsible for (1) creating and maintaining the Self Certifying Test (SCT) Suite for the “Unified Extensible Firmware Interface” specification (UEFI Spec), (2) endorsing the open-source Self Certifying Test Suite for the “Platform Initialization” specifications (PI Specs) and (3) organizing UEFI Plugfests and Training.
Each working group may host subteams on special topics where the subject experts can gather to drill down the details of certain interfaces and features. For example, USWG has a network subteam that worked on networking related protocols, including the support for IPv6, a security subteam that worked on security related protocols, and a configuration subteam that worked on Human Interface Infrastructure (HII) related protocols. Of course, there is an ARM-binding subteam that defined the ARM binding for UEFI 2.3 Specification. ARM, Apple, HP, Microsoft and Phoenix have been active players in that subteam.
Guest Partner Blogger: Dong Wei is an executive-level distinguished technologist and strategist at Hewlett-Packard Company (HP). He is an IEEE Senior Member. He has extensive experience in leading industry innovations and standardization. He is the Vice President (Chief Executive) of the UEFI Forum and chairs its Test Working Group. He is also the Secretary of the ACPI 5.0 SIG. As the chief architect of UEFI and ACPI at HP, he is responsible for defining platform interfaces between hardware, BIOS firmware and the operating systems for x64, x86, ARM, ia64 and PA-RISC-based systems. He has been a frequent speaker at HP World, HP Tech Forum, Intel Developer Forum, Microsoft Windows Hardware Conference, ARM Developers Conference and PCI Workshop. He holds Executive MBA, MSEE and MS in Physics degrees.