A.1 Firmware Volume Layout

This is a logical firmware volume layout by stage.

Binary FV Components Purpose
Stage I FvPreMemory.fv SecCore.efi
  • Reset Vector
  • Passes PEI core the address of FvFspmM
  • Passes PEI core the debug configuration
ReportFvPei.efi
  • Installs firmware volumes
SiliconPolicyPeiPreMemory.efi
  • Publishes silicon initialization configuration
PlatformInitPreMemory.efi
  • Performs pre memory initialization
FvSecurityPreMemory.fv</br>(child FV)
    Tcg2Pei.efi
  • TPM2 initialization
    Tcg2ConfigPei.efi
  • TPM2 selection
    Tcg2PlatformPei.efi
  • TPM2 platform module
    Additional Components
  • Additional pre-memory components required for Stage V boot
Additional Components
  • Additional pre-memory components required for Stage I boot
FvBspPreMemory.fv FvAdvancedPreMemory.fv</br>(child FV)
    Additional Components
  • Advanced feature pre-memory stacks
Additional Components
  • Additional pre-memory board support components
FvFspT.fv PlatformSec.efi
  • Initializes T-RAM silicon functionality
  • Tests T-RAM functionality
Additional Components
FvFspM.fv PeiCore.efi
  • PEI services and dispatcher
PcdPeim.efi
  • PCD service
FspPlatform.efi
  • Converts UPD to Policy PPI
FvPreMemorySilicon.fv</br>(child FV)
    Additional Components
  • Pre-memory silicon initialization components
ReportStatusCodeRouterPei.efi
  • Provide status code infrastructure
StatusCodeHandlerPei.efi
  • Provide status code listeners
Additional Components
FvFspS.fv FvPostMemorySilicon.fv</br>(child FV)
    Additional Components
  • Post-memory silicon initialization components
Additional components
Binary FV Components Purpose
Stage II FvPostMemory.fv ReadOnlyVariable.efi
  • Common core variable services
SiliconPolicyPeiPostMemory.efi
  • Publishes silicon initialization configuration
PlatformInitPostMemory.efi
  • Performs post memory initialization
DxeIpl.efi
  • Load and invoke DXE
ResetSystemRuntimeDxe.efi
  • Provides reset service
PciHostBridge.efi
  • PCI host bridge driver
Additional Components
  • Additional post-memory components required for Stage II boot
FvBsp.fv Additional Components
  • Post-memory board support components
Binary FV Components Purpose
Stage III FvUefiBoot.fv DxeCore.efi
  • DXE services and dispatcher
PcdDxe.efi
  • Provides PCD services
ReportStatusCodeRouterDxe.efi
  • Provides status code infrastructure
StatusCodeHandlerRuntimeDxe.efi
  • Provides status code listeners
BdsDxe.efi
  • Provides Boot Device Selection phase
CpuDxe.efi
  • Provides processor services
Metronome.efi
  • Provides metronome HW abstraction
MonotonicCounterRuntimeDxe.efi
  • Provides monotonic counter service
PcatRealTimeClockRuntimeDxe.efi
  • Provides RTC abstraction
WatchdogTimer.efi
  • Provides watchdog timer service
RuntimeDxe.efi
  • Provides UEFI runtime service functionality
Security.efi
  • Provides security services to core
HpetTimerDxe.efi
  • Provide timer service
EmuVariableRuntimeDxe.efi
  • Provides UEFI variable service
CapsuleRuntimeDxe.efi
  • Provides capsule service
PciBusDxe.efi
  • PCI bus driver
GraphicsOutputDxe.efi
  • Provides graphics support
TerminalDxe.efi
  • Provides terminal services
GraphicsConsoleDxe.efi
  • Provides graphics console
ConSplitterDxe.efi
  • Provides multi console support
EnglishDxe.efi
  • Provides Unicode collation services
MemoryTest.efi
  • Provide memory test
DevicePathDxe.efi
  • Provides device path services
DiskIo.efi
  • Provides disk IO services
Partition.efi
  • Provides disk partition services
Fat.efi
  • Provides FAT filesystem services
Additional Components
  • Additional post-memory components required for Stage III boot
Binary FV Components Purpose
Stage IV FvOsBoot.fv FvLateSilicon.fv
(child FV)
    Additional Components
  • Additional silicon initialization support that is performed late in the boot
AcpiTable.efi
  • Provides common ACPI services
PlatformAcpi.efi
  • Provides MinPlatform ACPI content
BoardAcpi.efi
  • Provides board ACPI content
PiSmmIpl.efi
  • SMM initial loader
PiSmmCore.efi
  • SMM core services
ReportStatusCodeRouterSmm.efi
  • SMM status code infrastructure
StatusCodeHandlerSmm.efi
  • SMM status code handlers
PiSmmCpu.efi
  • SMM CPU services
CpuIo2Smm.efi
  • SMM CPU IO services
FaultTolerantWriteSmm.efi
  • SMM fault tolerant write services
SpiFvbServiceSmm.efi
  • SMM SPI FLASH services
Additional Components
  • Additional post-memory components required for Stage IV boot
Binary FV Components Purpose
Stage V FvSecurity.fv Tcg2Dxe.efi
  • TPM2 services
Tcg2ConfigDxe.efi
  • TPM2 configuration UI
Tcg2PlatformDxe.efi
  • TPM2 platform module
Tcg2Smm.efi
  • TPM2 ACPI services
TcgMor.efi
  • TCG Memory Override support
IntelVTdPmrPei.efi
  • IOMMU PEI services
IntelVTdDxe.efi
  • IOMMU DXE services
SecurityStubDxe.efi
  • Provide security architecture protocol.
FaultTolerantWriteSmm.efi
  • Fault-tolerant services in SMM.
VariableSmm.efi
  • Provide Variable service in SMM.
VariableSmmRuntimeDxe.efi
  • Provide Variable service in UEFI.
SecureBootConfigDxe.efi
  • SecureBoot configuration UI.
Additional Components
  • Additional post-memory components required for Stage V boot
Binary FV Components Purpose
Stage VI FvAdvancedPreMemory.fv FeatureStack1.fv (child FV)
  • Feature 1
FeatureStack2.fv (child FV)
  • Feature 2
FvAdvanced.fv FeatureStack1.fv (child FV)
  • Feature 1
FeatureStack2.fv (child FV)
  • Feature 2
FeatureStack3.fv (child FV)
  • Feature 3
Additional Feature Stacks
  • Features
Table 71 Full Firmware Volume Layout