UEFI x64 - Comprehensive 4-day Course
Location US Pacific Time Zone
Date 10/6/2020 - 10/9/2020
Instructor Paul Devriendt
Comprehensive UEFI x64 Architecture Course Details:
MindShare's NVMe (Non-Volatile Memory Express) 1.4 course begins with an optional review of PCI Express (PCIe) basics as a foundation for the study of NVMe. Next, a high-level view of the architecture provides the big-picture context of the hardware architecture and software interactions. Finally, we drill down into details for each aspect of the NVMe architecture. The course add details included in the 1.1, 1.2, 1.3 and 1.4 specs.
You Will Learn:
- The order and relevance of UEFI PI/Tiano's phases.
- When and *how* key subsystems and devices are detected, initialized, and configured.
- How to leverage Platform Configuration Database to simplify the coding process.
- How to write a PEI or DXE device driver.
- How to effectively debug PEI and DXE PI phases.
- Where device configuration and management information is collected, stored, and communicated between the phases and to an operating system, including ACPI info.
- Process of handing over system control from Firmware to OS.
Course Length: 4-Days
US Pacific Time Zone Times:
Start time: 9:00am
End time: 5:00pm
Lunch break between noon-1:00pm
Who Should Attend?
Firmware/Driver/Software engineers and managers looking to understand the computer boot process from power-on until OS load
- What, why, and where is “firmware?”
- BIOS – The x86 legacy firmware architecture
- Limitations Legacy BIOS places on modern systems
- UEFI Forum’s Platform Initialization, Intel’s Framework, and UEFI (Unified Extensible Firmware
- x86 platform essentials
- CPU capabilities in real- and protected-mode.
- Real- and protected mode memory maps.
The UEFI PI and Tiano’s phases
- SEC – Security phase
- Available system resources
- Authenticating firmware boot code
- Hand-off information.
- Lab - Inspect transfer from SEC to PEI
- PEI – Pre-EFI Initialization phase
- Key PEI tasks
- PEI Foundation code
- PEIM – PEI Modules
- Dependency resolution
- Lab: Inspect HOBs
- Lab: Inspect Dispatcher Handoff.
- Lab: Inspect DEPEX evaluation.
- Lab: Detect and Trace DXE IPL handoff
- Lab: Review Data Structures
- PPI – The PEIM-to-PEIM Interface.
- Lab - Review PEIM-2-PEIM communication
- Creating HOBs – Hand-Off Blocks.
- DXE – Driver Execution Environment phase
- Key DXE tasks
- DXE Foundation code
- DXE Dispatcher
- The A Priori file
- Driver authentication
- DXE and EFI drivers
- DXE driver model
- EFI driver model
- Creation of the EFI System Table and other descriptor tables.
- Lab: Inspect DXE Core Entry
- Lab: Inspect DXE driver load
- Lab: Inspect PHIT
- Lab: Review Events and Task Priority Levels
- Lab: DXE driver implementation
- Lab: Review Data Structures
- Handle Database
- EFI System Table
- Boot Services Table
- System Configuration Table
- BDS – Boot Device Selection phase
- BDS and UEFI
- Console services
- Running EFI applications
- Boot paths
- Selecting a boot option
- Custom system configuration for selected operating system
- Operating system hand-off.
- Lab: UEFI memory application.
- Lab: Trace Shell Loading
ACPI Implementation in Tiano
- ACPI Support driver
- ACPI Platform driver
- ACPI table storage
- Firmware devices
- Firmware volumes
- FFS – the Firmware File System
- Different firmware file types
- Firmware file components
- Different sections
- Lab: Inspect Firmware Volume Structure.
EFI disk organization
- GUID partition advantages
- MBR preservation
- GPT (GUID Partition Table) disk architecture
- The System partition
- Exactly what is Secure Boot?
- How Secure Boot works
- OS vendors and Secure Boot
- Industry concerns
Attendees are expected to have a technical background. Basic knowledge of assembly language programming, microprocessor technology, memory, and standard peripherals is expected.
- Presentation PDF of materials presented in class
- Lab exercises
- Hands-on virtual environment
- UEFI x64 Architecture eLearning course which can be used to review content covered in class or additional topics not covered in class.