unified extensible firmware interface (uefi) framework · unified extensible firmware interface...
TRANSCRIPT
![Page 1: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/1.jpg)
Unified Extensible Firmware Interface (UEFI) Framework
UEFI Overview
Intel SSG/SSD/UEFI
![Page 2: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/2.jpg)
Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR DEATH MAY OCCUR.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm
This document contains information on products in the design phase of development.
All products, computer systems, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.
Intel, Intel Atom, Intel Core, and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
* Other names and brands may be claimed as the property of others.
Copyright © 2011, Intel Corporation. All rights reserved.
BLDK PRC Training 2011
![Page 3: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/3.jpg)
Agenda
BIOS Background
UEFI Overview
Platform Initialization (PI) Overview
![Page 4: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/4.jpg)
What’s Legacy BIOS
• Basic Input - Output System for original IBM PC/XT and PC/AT
• Originated in 1980s
• Based on 8086 architecture
• A group of clearly defined OS-independent interface for hardware Int10 for Video service
Int13 disk service
Int16 keyboard service
Int18 BIOS ROM loader
Int19 bootstrap loader
• Availability of MS-DOS outside of IBM allowed applications to run equally
well across different brands of box "PC clones".
BIOS background
![Page 5: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/5.jpg)
EFI / UEFI History Timeline
2005 2000 1995 1990 1985
PCI Spec
Sp
ecif
icati
on
s
Im
ple
men
tati
on
IBM 16 Bit BIOS
Intel® Itanium® Platforms 64 bit develops
EFI only way to boot Itanium® Platforms
EFI 1.02
EFI Dev Kit (EDK)
Tianocore.org Open Source
EFI Sample Implementation 1.10.14.6x
Open Source EFI Developer Kit (EDK) http://www.tianocore.Sourceforge.net UEFI Specifications - http://www.uefi.org
PC Era 1980s
framework1 0.9 Spec
EFI 1.10
BIOS background
![Page 6: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/6.jpg)
UEFI Specification Timeline
2010 2009 2008 2007 2006
UEFI 2.0
PI 1.0
UEFI 2.1
PI 1.1
UEFI 2.3 UEFI 2.2
EDK 1.01: UEFI 2.0
Shell 2.0
PI 1.2
Packaging 1.0
SCT UEFI 2.1
EDK 1.04: UEFI 2.1 PI 1.0
Sp
ecif
icati
on
s
Im
ple
men
tati
on
http://uefi.org
Open Source
EDK 1.05: UEFI 2.1+ PI 1.0
SCT PI 1.0
SCT UEFI 2.0
EDK II: UEFI 2.3+ PI 1.2+
All products, dates, and programs are based on current expectations and subject to change without notice.
EDK II: UEFI 2.1+ PI 1.0
BIOS background
UDK2010
![Page 7: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/7.jpg)
Agenda
BIOS Background
UEFI Overview
Platform Initialization (PI) Overview
![Page 8: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/8.jpg)
What is UEFI?
• Unified (EFI) / Extensible Firmware Interface (EFI)
• UEFI is an interface specification • Abstracts BIOS from OS
–Decouples development • Compatible by design
–Evolution, not revolution • Modular and extensible
–OS-Neutral value add • Provide efficient Option ROM Replacement
–Common source for multiple CPU architectures • Complements existing interfaces
OS Loader
Hardware
BIOS
UEFI
Com
pati
bilit
y
*
UEFI Overview
![Page 9: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/9.jpg)
PLATFORM HARDWARE
PLATFORM SPECIFIC FIRMWARE
UEFI BOOT SERVICES UEFI RUNTIME SERVICES
UEFI OS LOADER
(OTHER)
SMBIOS
ACPI
INTERFACES FROM OTHER REQUIRED SPECS
Me
mo
ry
Time
r
Driver Driver
UEFI or PI
Drivers
Boot Devices
Protocols + Handlers
OPERATING SYSTEM
Legacy OS LOADER
Compatibility
UEFI API
Motherboard ROM/FLASH Option
ROM Option ROM
Option ROM
UEFI Drivers UEFI Drivers
UEFI OS Loader
UEFI SYSTEM PARTITION
UEFI Drivers
OS PARTITION
Concept
*
UEFI Overview
![Page 10: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/10.jpg)
Unified EFI (UEFI) Forum – www.uefi.org
• Promoters – OEMs: Dell, HP, IBM, Lenovo
– IBVs: AMI, Insyde, Phoenix
– AMD, Apple, Intel, Microsoft
• UEFI Specification – EFI 1.10 specification contributed to the Forum by Intel and Microsoft
to be used as a starting draft
– UEFI 2.0 - 2.3 specification released.
– Forum will evolve, extend, and add any new functionality as required
– Intel contributed EFI 1.10 SCT being used as starting base for UEFI conformance tests (UEFI SCT 2.1 released 2008)
*
Purpose: Worldwide adoption and promotion of UEFI specifications.
UEFI Overview
![Page 11: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/11.jpg)
UEFI Membership
• Any entity wanting to implement the specification
Adopters:
• Corporations, groups or individuals wanting to participate in UEFI
• Chance to join work groups and contribute to spec or test development
• Early access to drafts and work in progress
Contributors:
• Board and Corporate Officers
Promoters:
UEFI Overview
![Page 12: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/12.jpg)
Boot device support
• Hard disk
• Removable media – CD-ROM, DVD-ROM
• El Torito 1.0 “No emulation”
– Floppy, USB Storage, etc.
• Network – PXE BIOS support specification (Wire for
Management)
– iSCSI
• Future media via extensibility methods
Full Device Support
Boot Support
![Page 13: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/13.jpg)
Partition
Tab
le HD
R
Partition 1
MB
R
Partition
Tab
le HD
R
0 1 n ...
LBA0 LBA1 LBAn
Start partition
End partition Start partition
Primary Partition Table
Backup Partition Table
0 1 n ...
End partition
First useable block
Last useable block
See Section-5 UEFI 2.X Spec.
New Partition Structure
Boot Support
![Page 14: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/14.jpg)
GPT Advantages over MBR Partition Table
• 64-bit Logical Block Addressing. • Supports unlimited number of partitions • Uses a primary and backup table for redundancy. • Uses version number and size fields for future expansion. • Uses CRC32 fields for improved data integrity. • Defines a GUID for uniquely identifying each partition. • Uses a GUID and attributes to define partition content type. • Each partition contains a 36 Unicode character human
readable name. • No magic code must execute as part of booting • Fixes the 2.2 Terabyte Problem
Boot Support
![Page 15: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/15.jpg)
UEFI Specification - Key Concepts
• Objects - manage system state, including I/O devices, memory, and events
• The UEFI System Table - data structure with data in-formation tables to interface with the systems
• Handle database and protocols - callable interfaces that are registered
• UEFI images - the executable content format • Events - the software can be signaled in response
to some other activity • Device paths - a data structure that describes the
hardware location of an entity
UEFI Terminology
![Page 16: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/16.jpg)
UEFI Data Structures - UEFI System Table
EFI System Table
EFI Runtime Services Table
Variable Services
Real Time Clock Services Reset Services
Status Code Services Virtual Memory Services EFI Boot Services Table
Task Priority Level Services Memory Services
Event and Timer Services Protocol Handler Services
Image Services Driver Support Services
Input Console
Active Consoles
Output Console Standard Error Console
Version Information
EFI Specification Version Firmware Vendor Firmware Revision
Handle Database Protocol Interface Protocol Interface Protocol Interface
Protocol Interface Protocol Interface Protocol Interface
Boot Service Data Structures Runtime Data Structures
UEFI Terminology
![Page 17: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/17.jpg)
GUID
• “Globally” Unique Identity
–128-bit quantity defined by Wired for Management WfM 2.0 specification **
• Used to identify protocols
–1:1 with interfaces
• Regulate extension mechanism
–Documented in the spec
–Added through drivers
Safe co-existence of 3rd party extensions
** http://www.intel.com/design/archives/wfm/index.htm
UEFI Terminology
![Page 18: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/18.jpg)
Legacy BIOS vs UEFI
• UEFI
• GUID1 UEFI Specification
• GUID2 PI Specification
• GUID3 ODM defined
• GUID4 OEM defined
• GUID5 IBV defined
Legacy BIOS
INT 10h INT 13h
Chaining INT 16h INT 15h
?
Ralf Brown’s Interrupt List
UEFI Means the Pieces all Fit and Work!
![Page 19: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/19.jpg)
Handles
• All protocols have a handle which is associated with the protocol
• Every device and executable image in UEFI has a handle protocol in the handle database
• Every boot device must have a device path protocol to describe it
UEFI Terminology
![Page 20: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/20.jpg)
Protocols (API) GUID, Interface Structure, Services
DEVICE_PATH, DEVICE_IO, BLOCK_IO, DISK_IO, FILE_SYSTEM,
SIMPLE_INPUT, SIMPLE_TEXT_OUTPUT, SERIAL_IO, PXE_BC,
SIMPLE_NETWORK, LOAD_FILE, UNICODE_COLLATION
Handle
Function Ptr 1
Private Data
GUID
Function Ptr 2
. . .
Protocol Interface GUID 1
GUID 2
Function 1
Function 2
Access Device
or Services
Produced by Other UEFI
Drivers
BlkIo->ReadBlocks(BlkIo, …)
. . .
. . .
UEFI Terminology
![Page 21: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/21.jpg)
Handle Protocol Database
...
Handle
First Handle
GUID GUID
Protocol Interface
Instance Data
Protocol Interface
Instance Data
Handle
GUID
Protocol Interface
Instance Data
Image Handle Controller Handle Attributes
...
Image Handle Controller Handle Attributes
Image Handle Controller Handle Attributes
Image Handle Controller Handle Attributes
Image Handle Controller Handle Attributes
...
GUID
Protocol Interface
Instance Data
UEFI Terminology
![Page 22: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/22.jpg)
Device Path Protocol
• A data structure description of where a device is in the platform
• All boot devices, logical devices and images must be described by a device path
• 6 types of device paths: –Hardware –ACPI – UID/HID of device in AML –Messaging – i.e. LAN, Fiber Channel, ATAPI, SCSI, USB –Media – i.e. Hard Drive, Floppy or CD-ROM –EDD 3.0 boot device – see EDD 3.0 spec int13 48 –End of hardware – marks end of device path
See Section-9 UEFI 2.X Spec.
UEFI Terminology
![Page 23: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/23.jpg)
Acpi(PNP0A03,0) /Pci(1F|1) /Ata(Primary,Master) /HD(Part3, Sig010…) \EFI\Boot”/”OSLoader.efi”
An UEFI Device Path describes a boot target.
Binary description of the physical location of a specific target.
Why UEFI Device Path ? –
Acpi(PNP0A03,0) Acpi(PNP0A03,0) /Pci(1F|1) Acpi(PNP0A03,0) /Pci(1F|1) /Ata(Primary,Master) Acpi(PNP0A03,0) /Pci(1F|1) /Ata(Primary,Master) /HD(Part3, Sig010…) Acpi(PNP0A03,0) /Pci(1F|1) /Ata(Primary,Master) /HD(Part3, Sig010…) \EFI\Boot”/”OSLoader.efi”
Initialize PCI root Bridge
Initialize PCI Device
Initialize ATA Device
Initialize the Partition Driver
Initialize File System Driver
Launch O/S Loader
Connect PCI Root Bridge & Install OP ROM
Connect Consoles
Diagnostics/Shell
Boot
*
Bo
ot
Seq
uen
ce
UEFI Terminology
Note: Boot Sequence is part of the PI Spec.
![Page 24: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/24.jpg)
• Events and notifications – Polled devices, no
interrupts
• Watchdog timer – Elegant recovery
• Memory allocation
• Handle location – for finding protocols
• Image loading – Drivers, applications, OS
loader
RT Services are Minimal set to meet OSV needs
• Timer, Wakeup alarm – Allows system to wake up or
power on at a set time.
• Variables – Boot manager handshake
• System reset
Boot Services Runtime Services Available at both Boot time and Runtime
*
Exit
Bo
otS
ervi
ces(
)
UEFI Aware OS
![Page 25: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/25.jpg)
Typical System
CPU
PCI Host Bus
USB
IDE
PCI-ISA Bridge
VGA
Keyboard
Mouse
Floppy Drive
Hard Drive
CD-ROM
PCI Bus
USB Bus
ISA Bus
IDE Bus
Device Controller Bus Controller Other
ISA FDC
PCI-PCMCIA
See Section-2.5 UEFI 2.X Spec.
UEFI Driver Design
![Page 26: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/26.jpg)
Driver Initialization
• UEFI Driver Handoff State
• Not Allowed to Touch Hardware Resources
• Installs Driver Binding on Driver Image Handle
Installed in Driver Initialization Implemented by Driver Writer
Created by LoadImage() Driver Image Handle
EFI_DRIVER_BINDING
Registers Driver for Later Use
EFI_COMPONENT_NAME
UEFI Driver Design
![Page 27: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/27.jpg)
Driver Binding Protocol
Driver Image Handle
LOADED_IMAGE
DRIVER_BINDING DRIVER_BINDING Supported() Start() Stop() Version
*
UEFI Driver Design
![Page 28: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/28.jpg)
IDE ATAPI disk drive
Block IO Protocol
Device Path Protocol
Disk IO Protocol
File System Protocol(FAT)
HD Handle
UEFI ATAPI Driver
Ha
nd
leP
roto
col(
)
ATAPI Device Path ACPI(pnp0604,0)/PCI(0,1)/
ATA(primary, master)
UEF
I sy
ste
m
par
titi
on
U
EFI b
oo
t se
rvic
es
Image Handle
Device Path Protocol
Example: UEFI ATAPI Driver Stack
UEFI Driver Design
![Page 29: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/29.jpg)
Agenda
BIOS Background
UEFI Overview
Platform Initialization (PI) Overview
![Page 30: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/30.jpg)
Technology not addressed by UEFI
• Memory Initialization
• Recovery
• FLASH update
• ACPI S3
• Platform Initialization
• System Management Mode (SMM)
• Setup
UEFI Separates BIOS and OS
Technology not addressed by UEFI
![Page 31: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/31.jpg)
USWG/PIWG Relationship • UEFI Spec is about interfaces
between OS, add-in driver and system firmware – a new model for the interface
between the Operating systems and other high-level software and the platform firmware
• PI Specs relate to making UEFI implementations – Promote interoperability between
firmware components providers
– Modular components like silicon drivers (e.g. PCI) and value-add drivers (security)
Pla
tfo
rm In
itia
lizat
ion
PI Modular components
Hardware
UEFI- enabled
OS
Pre-boot Tools Legacy
OS
Option ROMs
CPU PEI Modules
C/S PEI Modules
UEFI
• • •
UEFI D
river
DX
E Driver
Co
mp
atibility
Sup
po
rt Mo
du
le
UEFI D
river
BD
S
UEFI D
river
UEFI and PI are Independent Interfaces
UEFI and PI Specifications
![Page 32: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/32.jpg)
OEM
x/OD
M y
Drive
rs
PI
Drive
rs
Co
mp
atibility
Sup
po
rt Mo
du
le A
IBV
z D
rivers
Architectural Protocols
Foundations
Hardware
EFI- enabled
OS
Pre-boot Tools
Today’s OS
Option ROMs
Intel® Platform Innovation Framework for UEFI and Platform Initialization (PI)
• Base Core Foundation (“Green H”) • Foundation lets different teams
share code • Developers can easily move between
projects • Chipset code enabled by Silicon
vendor • Standardization benefits the industry • IBV provides value add • Glue code “Big H” is Open Source on
www.tianocore.org • The framework1 Start point for
Platform Initialization (PI) Specification on www.UEFI.org
UEFI
IBV
x D
rivers
Co
mp
atibility
Sup
po
rt Mo
du
le B
MRC - CPU
1Intel® Platform Innovation Framework for UEFI
Technology not addressed by UEFI
![Page 33: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/33.jpg)
Intel® Platform Innovation Framework for UEFI and Platform
Initialization (PI) Overview
Specification time line
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
framework1 0.9 Spec
EFI 1.10
UEFI 2.0
PI 1.0
UEFI 2.1
PI 1.1
UEFI 2.3 UEFI 2.2
PI 1.2
Packaging 1.0
Shell 2.0
EFI 1.02
1Intel® Platform Innovation Framework for UEFI
Why PI
![Page 34: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/34.jpg)
The framework1 and PI Design Strategy
• High level design based on the framework1 plus modular components
• Generalize the framework1 Maximize reuse of infrastructure – High degree of independence from platform and
market segment specifics
• Specifics encapsulated in the drivers – Drivers map to software visible hardware
– Isolate hardware/platform specifics to support component-based firmware construction
Design Approach
1Intel® Platform Innovation Framework for UEFI
![Page 35: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/35.jpg)
Get to “C” Code Quickly • Commercial “C” compilers use stack model
– Requires some memory initialized for a stack • Split the framework1 and PI infrastructure in two
– Pre-EFI Initialization (PEI), preamble to get memory
– Driver Execution Environment (DXE), infrastructure to support “C” coded EFI drivers
• First part of the framework1 / PI finds memory by using special stack
– Infrastructure code plus PEI Modules • The framework1 / PI uses modules for CPU, chipset and board
– Minimum initialization to get memory working • Architecture only requires “enough” memory
– PEI limited so defer to rich DXE “C” environment
Standard tools Flexible memory initialization
Design Approach
![Page 36: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/36.jpg)
Architecture Execution Flow
Pre EFI Initialization (PEI)
Driver Execution Environment
(DXE)
Boot Dev Select (BDS)
Transient System Load
(TSL)
After Life (AL)
Power on [ . . Platform initialization . . ] [ . . . . OS boot . . . . ] Shutdown
Run Time (RT)
?
OS-Present App
Final OS Environment
Final OS Boot Loader
OS-Absent App
Transient OS Environment
Transient OS Boot Loader
Boot Manager
CPU Init
Chipset Init
Board Init
veri
fy
Device, Bus, or Service Driver
UEFI Interface Pre
Verifier
EFI Driver Dispatcher
Intrinsic Services
Security (SEC)
Boot Execution Flow
![Page 37: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/37.jpg)
POST Execution Flow – High Level Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Console Init
Device Init
Bus Init
Normal Boot
POST Dispatch
Boot Dev Select
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
Boot Execution Flow
![Page 38: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/38.jpg)
POST Execution Flow – High Level Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Console Init
Device Init
Bus Init
Normal Boot
POST Dispatch
Boot Dev Select
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
Console Init
Device Init
Bus Init
POST Dispatch
Boot Dev Select
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
PEI
Firmware Volumes
Cache as RAM
PEIM
Handoff Blocks HOB
NVRAM
Capsules
GUID
*
Boot Execution Flow
![Page 39: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/39.jpg)
POST Execution Flow – High Level Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Console Init
Device Init
Bus Init
Normal Boot
POST Dispatch
Boot Dev Select
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Boot Dev Select
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
DXE
EFI Driver Dispatcher
EFI/DXE Drivers
EFI Boot Services
Boot Execution Flow
![Page 40: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/40.jpg)
POST Execution Flow – High Level Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Console Init
Device Init
Bus Init
Normal Boot
POST Dispatch
Boot Dev Select
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
Normal Boot
Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Console Init
Device Init
Bus Init
POST Dispatch
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
BDS
EFI Boot Manager
Human Interface HII
Platform Policy
Boot Execution Flow
![Page 41: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/41.jpg)
POST Execution Flow – High Level Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Console Init
Device Init
Bus Init
Normal Boot
POST Dispatch
Boot Dev Select
EFI Pre-boot Application
Legacy OS
Load
OS
Runtime
Reset
CPU Init
Memory Init CS Init
Boot Mode
Recovery
S3
Resume
Console Init
Device Init
Bus Init
POST Dispatch
Boot Dev Select
TSL
Compatibility Support Module CSM
EFI Preboot
EFI Runtime Services
Boot Execution Flow
![Page 42: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/42.jpg)
Architecture Execution Flow
Pre EFI Initialization (PEI)
Driver Execution Environment
(DXE)
Boot Dev Select (BDS)
Transient System Load
(TSL)
After Life (AL)
Power on [ . . Platform initialization . . ] [ . . . . OS boot . . . . ] Shutdown
Run Time (RT)
?
OS-Present App
Final OS Environment
Final OS Boot Loader
OS-Absent App
Transient OS Environment
Transient OS Boot Loader
Boot Manager
CPU Init
Chipset Init
Board Init
veri
fy
Device, Bus, or Service Driver
UEFI Interface Pre
Verifier
EFI Driver Dispatcher
Intrinsic Services
Security (SEC)
Boot Execution Flow
![Page 43: Unified Extensible Firmware Interface (UEFI) Framework · Unified Extensible Firmware Interface (UEFI) Framework ... ons Spec n IBM 16 Bit BIOS Intel® ... API Motherboard](https://reader035.vdocuments.mx/reader035/viewer/2022082207/5ad587297f8b9a177c8d1f62/html5/thumbnails/43.jpg)