Beyond BIOS: Implementing the Unified Extensible Firmware Interface with Intel's Framework

Variety's the very spice of life, That gives it all its flavor.
William Cowper
This chapter describes different platform types and instantiations of the Framework, such as embedded system, PDA, desktop, and server. In addition to providing a "BIOS replacement" for platforms that are commonly referred to as the Personal Computer, the Framework infrastructure can be used to construct a boot and initialization environment for servers, handheld devices, televisions, and so on. These sundry devices may include the more common IA-32 processors in the PC, but also feature the lower-power Intel XScale processor, or the mainframe-class processors such as the Itanium -based systems. This chapter examines the PEI modules and DXE drivers that are necessary to construct a standard PC platform. Then a subset of these modules used for emulation and Intel XScale-based PDAs is described.
Figure 7.1 is a block diagram of a typical system, showing the various components, integrating the north bridge, south bridge, and super I/O, beyond other possible components. These blocks represent components manufactured on the system board. Each silicon and platform component will have an associated module or driver to handle the respective initialization. In addition to the components on the system board, the initial memory map of the platform has specific region allocations. Figure 7.2 shows the memory map of the PC platform. The system flash in this platform configuration is 512 kilobytes in size. The system flash appears at the upper end of the 32-bit address space in order to allow the Pentium 4...