Platform Innovation Framework: UEFI Architecture Spec v0.9
Intel® Platform Innovation Framework for EFI Architecture Specification, Version 0.9, September 16, 2003
This document provides a technical overview of the architecture of the Intel® Platform Innovation Framework for EFI (hereafter referred to as “the Framework”). The Framework is a firmware infrastructure that may be used to initialize and configure systems and then load operating systems (OSs) or embedded operating environments for computers that use processors based on or that are compatible with Intel® architecture (IA). The Framework differs from previous generations of firmware infrastructure used on IA systems in the following ways:
• It employs a modular component design.
• It uses high-level language coding wherever possible.
• It is designed from the outset to support long-term growth of capabilities in the preboot environment.
To promote interoperability of firmware building blocks in the horizontal industry that is based on IA, such a firmware design needs to be implemented in a high-level language with an open interface that allows other parties such as independent BIOS vendors (IBVs), original equipment manufacturers (OEMs), independent software vendors (ISVs), and independent hardware vendors (IHVs) to add platform innovation around a central framework in the form of plug-in components known as EFI drivers.
The task of boot firmware (whether the BIOS or firmware based on the Framework) is to make a collection of hardware before the boot looks like a complete system after the boot. For the foreseeable future, it is less expensive to build chips and boards that power up uninitialized so that, when reset, systems built around these components are in a generally primitive state. They rely heavily on the boot firmware to prepare the system to boot the OS, provide services to the OS (particularly early in the boot process), and provide manageability data on the system.
The Framework architecture supports these requirements using a series of phases, each building on the preceding phase. Each phase is characterized by the resources available to it, the rules by which the code in the phase must abide, and the results of the phase.