-
Notifications
You must be signed in to change notification settings - Fork 344
OVMF Boot Overview
Jordan Justen edited this page Feb 8, 2016
·
1 revision
This page provides a high-level overview of the boot process for OVMF.
- UefiCpuPkg/ResetVector/Vtf0
- Ia16/ResetVectorVtf0.asm: Starts at resetVector
- Ia16/Real16ToFlat32.asm: Mode Switch: Real => 32-bit Flat
- Ia32/SearchForBfvBase.asm: Locates the Boot FirmwareVolume (BFV)
- Ia32/SearchForSecEntry.asm: Locates the SEC Core with BFV
- Ia32/Flat32ToFlat64.asm: If 64-bit PEI, then Mode Switch: 32-bit Flat to 64-bit Long
- SEC Core: OvmfPkg/Sec
- OvmfPkg/Sec/SecMain.c: Finds PEI Core
Pre-EFI Initialization
- PEI Core: MdeModulePkg/Core/Pei
- Various PEI drivers now run
- DXE IPL (Loader for the DXE Core)
- Finds DXE Core
- If PEI is 32-bit and DXE is 64-bit, then Mode Switch: 32-bit Flat to 64-bit Long
- Jumps to DXE Core
Driver Execution Environment
- DXE Core: MdeModulePkg/Core/Dxe
- Various DXE/UEFI drivers now run
- BDS is run after all DXE architectural protocols are available
Boot Device Selection
- BDS: IntelFrameworkModulePkg/Universal/BdsDxe + IntelFrameworkModulePkg/Library/GenericBdsLib
- OvmfPkg/Library/PlatformBdsLib guides BDS in a platform specific manner
- BDS figures out what to boot, and starts devices to enable the boot
- BDS may be able to load the EFI shell if it is present in the system firmware file system
Home
Getting Started with EDK II
Build Instructions
EDK II Platforms
EDK II Documents
EDK II Release Planning
Reporting Issues
Reporting Security Issues
Community Information
Inclusive Language
Additional Projects & Tasks
Training
Community Support
Community Virtual Meetings
GHSA GitHub Security Advisories Proceess (Draft)