public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Kubacki, Michael A" <michael.a.kubacki@intel.com>
To: devel@edk2.groups.io
Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>,
	Nate DeSimone <nathaniel.l.desimone@intel.com>
Subject: [tianocore-docs][PATCH V1 1/1] edk2-MinimumPlatformSpecification: Add FvAdvancedPreMemory
Date: Tue, 28 Jan 2020 00:09:50 -0800	[thread overview]
Message-ID: <20200128080950.9004-1-michael.a.kubacki@intel.com> (raw)

Adds FvAdvancedPreMemory as a Stage VI firmware volume.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com>
---
 8_stage_6_advanced_feature_selection/82_firmware_volumes.md |  27 ++-
 8_stage_6_advanced_feature_selection/83_configuration.md    |  12 +-
 appendix_a_full_maps/a1_firmware_volume_layout.md           | 202 ++++++++++----------
 3 files changed, 126 insertions(+), 115 deletions(-)

diff --git a/8_stage_6_advanced_feature_selection/82_firmware_volumes.md b/8_stage_6_advanced_feature_selection/82_firmware_volumes.md
index 91cce9c..5d7608d 100644
--- a/8_stage_6_advanced_feature_selection/82_firmware_volumes.md
+++ b/8_stage_6_advanced_feature_selection/82_firmware_volumes.md
@@ -1,7 +1,7 @@
 <!--- @file
   8.2 Firmware Volumes
 
-  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
 
   Redistribution and use in source (original document form) and 'compiled'
   forms (converted to PDF, epub, HTML and other formats) with or without
@@ -34,20 +34,27 @@
 Stage VI enables advanced features. There is a container FV for adding advanced
 features:
 
-| `Name`     | `Content`                        | `Compressed` | `Parent FV` |
-| ---------- | -------------------------------- | ------------ | ----------- |
-| FvAdvanced | Advanced feature software stacks | Yes          | None        |
+| `Name`               | `Content`                                                                          | `Compressed` | `Parent FV` |
+| -------------------- | ---------------------------------------------------------------------------------- | ------------ | ----------- |
+| FvAdvancedPreMemory  | Advanced feature drivers that should be dispatched prior to memory initialization  | No           | None        |
+| FvAdvanced           | Advanced feature drivers that should be dispatched after memory initialization     | Yes          | None        |
 
 ###### Table 67 Stage VI Firmware Volumes
 
 Which yields this example extension of the flash map for MMIO storage (append to Stage I-Stage V map):
 
-| `Binary` | `FV`          | `Components`              | `Purpose`                    |
-| -------- | ------------- | ------------------------- | ---------------------------- |
-| Stage VI | FvAdvanced.fv | FeatureStack1.fv          | Feature 1                    |
-|          |               | FeatureStack2.fv          | Feature 2                    |
-|          |               | FeatureStack3.fv          | Feature 3                    |
-|          |               | Additional Feature Stacks | Additional advanced features |
+| `Binary` | `FV`                   | `Components`              | `Purpose`                               |
+| -------- | ---------------------- | ------------------------- | --------------------------------------- |
+| Stage VI | FvAdvancedPreMemory.fv | FeatureStack1.fv          | Feature 1                               |
+|          |                        | Additional Feature Stacks | Additional pre-memory advanced features |
+|          | FvAdvanced.fv          | FeatureStack1.fv          | Feature 1                               |
+|          |                        | FeatureStack2.fv          | Feature 2                               |
+|          |                        | FeatureStack3.fv          | Feature 3                               |
+|          |                        | Additional Feature Stacks | Additional advanced features            |
+
+The modules that constitute a particular feature are not required to be contained within a single firmware volume and
+this might especially be the case in systems with limited flash storage capacity which could be impacted by firmware
+volume alignment requirements.
 
 ###### Table 68 Stage VI FV and Component Layout
 
diff --git a/8_stage_6_advanced_feature_selection/83_configuration.md b/8_stage_6_advanced_feature_selection/83_configuration.md
index 518eeb9..78b3522 100644
--- a/8_stage_6_advanced_feature_selection/83_configuration.md
+++ b/8_stage_6_advanced_feature_selection/83_configuration.md
@@ -1,7 +1,7 @@
 <!--- @file
   8.3 Configuration
 
-  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
 
   Redistribution and use in source (original document form) and 'compiled'
   forms (converted to PDF, epub, HTML and other formats) with or without
@@ -33,9 +33,11 @@
 
 ### 8.3.1 FV Related Configuration
 
-| `PCD`                                                | `Purpose`                          |
-| ---------------------------------------------------- | ---------------------------------- |
-| gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase | Advanced Features FV base address. |
-| gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize | Advanced Features FV size.         |
+| `PCD`                                                           | `Purpose`                                     |
+| --------------------------------------------------------------- | --------------------------------------------- |
+| gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemoryBase   | Pre-memory advanced features FV base address. |
+| gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedPreMemorySize   | Pre-memory advanced features FV size.         |
+| gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedBase            | Advanced Features FV base address.            |
+| gMinPlatformPkgTokenSpaceGuid.PcdFlashFvAdvancedSize            | Advanced Features FV size.                    |
 
 ###### Table 69 Stage VI Flash Map Configuration PCDs
diff --git a/appendix_a_full_maps/a1_firmware_volume_layout.md b/appendix_a_full_maps/a1_firmware_volume_layout.md
index 70b8994..a8f6ccd 100644
--- a/appendix_a_full_maps/a1_firmware_volume_layout.md
+++ b/appendix_a_full_maps/a1_firmware_volume_layout.md
@@ -1,7 +1,7 @@
 <!--- @file
   Appendix A.1 Firmware Volume Layout
 
-  Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
 
   Redistribution and use in source (original document form) and 'compiled'
   forms (converted to PDF, epub, HTML and other formats) with or without
@@ -33,104 +33,106 @@
 
 This is a logical firmware volume layout by stage.
 
-| `Binary`   | `FV`                | `Components`                                   | `Purpose`                                                                                                                                      |
-| ---------- | ------------------- | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
-| `Stage I`  | `FvPreMemory.fv`    | SecCore.efi                                    | <ul><li>Reset Vector</li><li>Passes PEI core the address of FvFspmM</li><li>Passes PEI core the debug configuration</li></ul>                  |
-|            |                     | ReportFvPei.efi                                | <ul><li>Installs firmware volumes</li></ul>                                                                                                    |
-|            |                     | SiliconPolicyPeiPreMemory.efi                  | <ul><li>Publishes silicon initialization configuration</li></ul>                                                                               |
-|            |                     | PlatformInitPreMemory.efi                      | <ul><li>Performs pre memory initialization</li></ul>                                                                                           |
-|            |                     | **FvSecurityPreMemory.fv**</br>_(child FV)_    |                                                                                                                                                |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;Tcg2Pei.efi            | <ul><li>TPM2 initialization</li></ul>                                                                                                          |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;Tcg2ConfigPei.efi      | <ul><li>TPM2 selection</li></ul>                                                                                                               |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;Tcg2PlatformPei.efi    | <ul><li>TPM2 platform module</li></ul>                                                                                                         |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Additional pre-memory components required for Stage V boot</li></ul>                                                                   |
-|            |                     | Additional Components                          | <ul><li>Additional pre-memory components required for Stage I boot</li></ul>                                                                   |
-|            | `FvBspPreMemory.fv` | **FvAdvancedPreMemory.fv**</br>_(child FV)_    |                                                                                                                                                |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Advanced feature pre-memory stacks</li></ul>                                                                                           |
-|            |                     | Additional Components                          | <ul><li>Additional pre-memory board support components</li></ul>                                                                               |
-|            | `FvFspT.fv`         | PlatformSec.efi                                | <ul><li>Initializes T-RAM silicon functionality</li><li>Tests T-RAM functionality</li></ul>                                                    |
-|            |                     | Additional Components                          |                                                                                                                                                |
-|            | `FvFspM.fv`         | PeiCore.efi                                    | <ul><li>PEI services and dispatcher</li></ul>                                                                                                  |
-|            |                     | PcdPeim.efi                                    | <ul><li>PCD service</li></ul>                                                                                                                  |
-|            |                     | FspPlatform.efi                                | <ul><li>Converts UPD to Policy PPI</li></ul>                                                                                                   |
-|            |                     | **FvPreMemorySilicon.fv**</br>_(child FV)_     |                                                                                                                                                |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Pre-memory silicon initialization components</li></ul>                                                                                 |
-|            |                     | ReportStatusCodeRouterPei.efi                  | <ul><li>Provide status code infrastructure</li></ul>                                                                                           |
-|            |                     | StatusCodeHandlerPei.efi                       | <ul><li>Provide status code listeners</li></ul>                                                                                                |
-|            |                     | Additional Components                          |                                                                                                                                                |
-|            | `FvFspS.fv`         | **FvPostMemorySilicon.fv**</br>_(child FV)_    |                                                                                                                                                |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Post-memory silicon initialization components</li></ul>                                                                                |
-|            |                     | Additional components                          |                                                                                                                                                |
-| `Binary`   | `FV`                | `Components`                                   | `Purpose`                                                                                                                                      |
-| `Stage II` | `FvPostMemory.fv`   | ReadOnlyVariable.efi                           | <ul><li>Common core variable services</li></ul>                                                                                                |
-|            |                     | SiliconPolicyPeiPostMemory.efi                 | <ul><li>Publishes silicon initialization configuration</li></ul>                                                                               |
-|            |                     | PlatformInitPostMemory.efi                     | <ul><li>Performs post memory initialization</li></ul>                                                                                          |
-|            |                     | DxeIpl.efi                                     | <ul><li>Load and invoke DXE</li></ul>                                                                                                          |
-|            |                     | ResetSystemRuntimeDxe.efi                      | <ul><li>Provides reset service</li></ul>                                                                                                       |
-|            |                     | PciHostBridge.efi                              | <ul><li>PCI host bridge driver</li></ul>                                                                                                       |
-|            |                     | Additional Components                          | <ul><li>Additional post-memory components required for Stage II boot</li></ul>                                                                 |
-|            | `FvBsp.fv`          | Additional Components                          | <ul><li>Post-memory board support components</li></ul>                                                                                         |
-| `Binary`   | `FV`                | `Components`                                   | `Purpose`                                                                                                                                      |
-| `Stage III`| `FvUefiBoot.fv`     | DxeCore.efi                                    | <ul><li>DXE services and dispatcher</li></ul>                                                                                                  |
-|            |                     | PcdDxe.efi                                     | <ul><li>Provides PCD services</li></ul>                                                                                                        |
-|            |                     | ReportStatusCodeRouterDxe.efi                  | <ul><li>Provides status code infrastructure</li></ul>                                                                                          |
-|            |                     | StatusCodeHandlerRuntimeDxe.efi                | <ul><li>Provides status code listeners</li></ul>                                                                                               |
-|            |                     | BdsDxe.efi                                     | <ul><li>Provides Boot Device Selection phase</li></ul>                                                                                         |
-|            |                     | CpuDxe.efi                                     | <ul><li>Provides processor services</li></ul>                                                                                                  |
-|            |                     | Metronome.efi                                  | <ul><li>Provides metronome HW abstraction</li></ul>                                                                                            |
-|            |                     | MonotonicCounterRuntimeDxe.efi                 | <ul><li>Provides monotonic counter service</li></ul>                                                                                           |
-|            |                     | PcatRealTimeClockRuntimeDxe.efi                | <ul><li>Provides RTC abstraction</li></ul>                                                                                                     |
-|            |                     | WatchdogTimer.efi                              | <ul><li>Provides watchdog timer service</li></ul>                                                                                              |
-|            |                     | RuntimeDxe.efi                                 | <ul><li>Provides UEFI runtime service functionality</li></ul>                                                                                  |
-|            |                     | Security.efi                                   | <ul><li>Provides security services to core</li></ul>                                                                                           |
-|            |                     | HpetTimerDxe.efi                               | <ul><li>Provide timer service</li></ul>                                                                                                        |
-|            |                     | EmuVariableRuntimeDxe.efi                      | <ul><li>Provides UEFI variable service</li></ul>                                                                                               |
-|            |                     | CapsuleRuntimeDxe.efi                          | <ul><li>Provides capsule service</li></ul>                                                                                                     |
-|            |                     | PciBusDxe.efi                                  | <ul><li>PCI bus driver</li></ul>                                                                                                               |
-|            |                     | GraphicsOutputDxe.efi                          | <ul><li>Provides graphics support</li></ul>                                                                                                    |
-|            |                     | TerminalDxe.efi                                | <ul><li>Provides terminal services</li></ul>                                                                                                   |
-|            |                     | GraphicsConsoleDxe.efi                         | <ul><li>Provides graphics console</li></ul>                                                                                                    |
-|            |                     | ConSplitterDxe.efi                             | <ul><li>Provides multi console support</li></ul>                                                                                               |
-|            |                     | EnglishDxe.efi                                 | <ul><li>Provides Unicode collation services</li></ul>                                                                                          |
-|            |                     | MemoryTest.efi                                 | <ul><li>Provide memory test</li></ul>                                                                                                          |
-|            |                     | DevicePathDxe.efi                              | <ul><li>Provides device path services</li></ul>                                                                                                |
-|            |                     | DiskIo.efi                                     | <ul><li>Provides disk IO services</li></ul>                                                                                                    |
-|            |                     | Partition.efi                                  | <ul><li>Provides disk partition services</li></ul>                                                                                             |
-|            |                     | Fat.efi                                        | <ul><li>Provides FAT filesystem services</li></ul>                                                                                             |
-|            |                     | Additional Components                          | <ul><li>Additional post-memory components required for Stage III boot</li></ul>                                                                |
-| `Binary`   | `FV`                | `Components`                                   | `Purpose`                                                                                                                                      |
-| `Stage IV` | `FvOsBoot.fv`       | **FvLateSilicon.fv**<br />_(child FV)_         |                                                                                                                                                |
-|            |                     | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Additional silicon initialization support that is performed late in the boot</li></ul>                                                 |
-|            |                     | AcpiTable.efi                                  | <ul><li>Provides common ACPI services</li></ul>                                                                                                |
-|            |                     | PlatformAcpi.efi                               | <ul><li>Provides MinPlatform ACPI content</li></ul>                                                                                            |
-|            |                     | BoardAcpi.efi                                  | <ul><li>Provides board ACPI content</li></ul>                                                                                                  |
-|            |                     | PiSmmIpl.efi                                   | <ul><li>SMM initial loader</li></ul>                                                                                                           |
-|            |                     | PiSmmCore.efi                                  | <ul><li>SMM core services</li></ul>                                                                                                            |
-|            |                     | ReportStatusCodeRouterSmm.efi                  | <ul><li>SMM status code infrastructure</li></ul>                                                                                               |
-|            |                     | StatusCodeHandlerSmm.efi                       | <ul><li>SMM status code handlers</li></ul>                                                                                                     |
-|            |                     | PiSmmCpu.efi                                   | <ul><li>SMM CPU services</li></ul>                                                                                                             |
-|            |                     | CpuIo2Smm.efi                                  | <ul><li>SMM CPU IO services</li></ul>                                                                                                          |
-|            |                     | FaultTolerantWriteSmm.efi                      | <ul><li>SMM fault tolerant write services</li></ul>                                                                                            |
-|            |                     | SpiFvbServiceSmm.efi                           | <ul><li>SMM SPI FLASH services</li></ul>                                                                                                       |
-|            |                     | Additional Components                          | <ul><li>Additional post-memory components required for Stage IV boot</li></ul>                                                                 |
-| `Binary`   | `FV`                | `Components`                                   | `Purpose`                                                                                                                                      |
-| `Stage V`  | `FvSecurity.fv`     | Tcg2Dxe.efi                                    | <ul><li>TPM2 services</li></ul>                                                                                                                |
-|            |                     | Tcg2ConfigDxe.efi                              | <ul><li>TPM2 configuration UI</li></ul>                                                                                                        |
-|            |                     | Tcg2PlatformDxe.efi                            | <ul><li>TPM2 platform module</li></ul>                                                                                                         |
-|            |                     | Tcg2Smm.efi                                    | <ul><li>TPM2 ACPI services</li></ul>                                                                                                           |
-|            |                     | TcgMor.efi                                     | <ul><li>TCG Memory Override support</li></ul>                                                                                                  |
-|            |                     | IntelVTdPmrPei.efi                             | <ul><li>IOMMU PEI services</li></ul>                                                                                                           |
-|            |                     | IntelVTdDxe.efi                                | <ul><li>IOMMU DXE services</li></ul>                                                                                                           |
-|            |                     | SecurityStubDxe.efi                            | <ul><li>Provide security architecture protocol.</li></ul>                                                                                      |
-|            |                     | FaultTolerantWriteSmm.efi                      | <ul><li>Fault-tolerant services in SMM.</li></ul>                                                                                              |
-|            |                     | VariableSmm.efi                                | <ul><li>Provide Variable service in SMM.</li></ul>                                                                                             |
-|            |                     | VariableSmmRuntimeDxe.efi                      | <ul><li>Provide Variable service in UEFI.</li></ul>                                                                                            |
-|            |                     | SecureBootConfigDxe.efi                        | <ul><li>SecureBoot configuration UI.</li></ul>                                                                                                 |
-|            |                     | Additional Components                          | <ul><li>Additional post-memory components required for Stage V boot</li></ul>                                                                  |
-| `Binary`   | `FV`                | `Components`                                   | `Purpose`                                                                                                                                      |
-| `Stage VI` | `FvAdvanced.fv`     | **FeatureStack1.fv** (child FV)                | <ul><li>Feature 1</li></ul>                                                                                                                    |
-|            |                     | **FeatureStack2.fv** (child FV)                | <ul><li>Feature 2</li></ul>                                                                                                                    |
-|            |                     | **FeatureStack3.fv** (child FV)                | <ul><li>Feature 3</li></ul>                                                                                                                    |
-|            |                     | Additional Feature Stacks                      | <ul><li>Features</li></ul>                                                                                                                     |
+| `Binary`   | `FV`                     | `Components`                                   | `Purpose`                                                                                                                                      |
+| ---------- | ------------------------ | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Stage I`  | `FvPreMemory.fv`         | SecCore.efi                                    | <ul><li>Reset Vector</li><li>Passes PEI core the address of FvFspmM</li><li>Passes PEI core the debug configuration</li></ul>                  |
+|            |                          | ReportFvPei.efi                                | <ul><li>Installs firmware volumes</li></ul>                                                                                                    |
+|            |                          | SiliconPolicyPeiPreMemory.efi                  | <ul><li>Publishes silicon initialization configuration</li></ul>                                                                               |
+|            |                          | PlatformInitPreMemory.efi                      | <ul><li>Performs pre memory initialization</li></ul>                                                                                           |
+|            |                          | **FvSecurityPreMemory.fv**</br>_(child FV)_    |                                                                                                                                                |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;Tcg2Pei.efi            | <ul><li>TPM2 initialization</li></ul>                                                                                                          |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;Tcg2ConfigPei.efi      | <ul><li>TPM2 selection</li></ul>                                                                                                               |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;Tcg2PlatformPei.efi    | <ul><li>TPM2 platform module</li></ul>                                                                                                         |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Additional pre-memory components required for Stage V boot</li></ul>                                                                   |
+|            |                          | Additional Components                          | <ul><li>Additional pre-memory components required for Stage I boot</li></ul>                                                                   |
+|            | `FvBspPreMemory.fv`      | **FvAdvancedPreMemory.fv**</br>_(child FV)_    |                                                                                                                                                |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Advanced feature pre-memory stacks</li></ul>                                                                                           |
+|            |                          | Additional Components                          | <ul><li>Additional pre-memory board support components</li></ul>                                                                               |
+|            | `FvFspT.fv`              | PlatformSec.efi                                | <ul><li>Initializes T-RAM silicon functionality</li><li>Tests T-RAM functionality</li></ul>                                                    |
+|            |                          | Additional Components                          |                                                                                                                                                |
+|            | `FvFspM.fv`              | PeiCore.efi                                    | <ul><li>PEI services and dispatcher</li></ul>                                                                                                  |
+|            |                          | PcdPeim.efi                                    | <ul><li>PCD service</li></ul>                                                                                                                  |
+|            |                          | FspPlatform.efi                                | <ul><li>Converts UPD to Policy PPI</li></ul>                                                                                                   |
+|            |                          | **FvPreMemorySilicon.fv**</br>_(child FV)_     |                                                                                                                                                |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Pre-memory silicon initialization components</li></ul>                                                                                 |
+|            |                          | ReportStatusCodeRouterPei.efi                  | <ul><li>Provide status code infrastructure</li></ul>                                                                                           |
+|            |                          | StatusCodeHandlerPei.efi                       | <ul><li>Provide status code listeners</li></ul>                                                                                                |
+|            |                          | Additional Components                          |                                                                                                                                                |
+|            | `FvFspS.fv`              | **FvPostMemorySilicon.fv**</br>_(child FV)_    |                                                                                                                                                |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Post-memory silicon initialization components</li></ul>                                                                                |
+|            |                          | Additional components                          |                                                                                                                                                |
+| `Binary`   | `FV`                     | `Components`                                   | `Purpose`                                                                                                                                      |
+| `Stage II` | `FvPostMemory.fv`        | ReadOnlyVariable.efi                           | <ul><li>Common core variable services</li></ul>                                                                                                |
+|            |                          | SiliconPolicyPeiPostMemory.efi                 | <ul><li>Publishes silicon initialization configuration</li></ul>                                                                               |
+|            |                          | PlatformInitPostMemory.efi                     | <ul><li>Performs post memory initialization</li></ul>                                                                                          |
+|            |                          | DxeIpl.efi                                     | <ul><li>Load and invoke DXE</li></ul>                                                                                                          |
+|            |                          | ResetSystemRuntimeDxe.efi                      | <ul><li>Provides reset service</li></ul>                                                                                                       |
+|            |                          | PciHostBridge.efi                              | <ul><li>PCI host bridge driver</li></ul>                                                                                                       |
+|            |                          | Additional Components                          | <ul><li>Additional post-memory components required for Stage II boot</li></ul>                                                                 |
+|            | `FvBsp.fv`               | Additional Components                          | <ul><li>Post-memory board support components</li></ul>                                                                                         |
+| `Binary`   | `FV`                     | `Components`                                   | `Purpose`                                                                                                                                      |
+| `Stage III`| `FvUefiBoot.fv`          | DxeCore.efi                                    | <ul><li>DXE services and dispatcher</li></ul>                                                                                                  |
+|            |                          | PcdDxe.efi                                     | <ul><li>Provides PCD services</li></ul>                                                                                                        |
+|            |                          | ReportStatusCodeRouterDxe.efi                  | <ul><li>Provides status code infrastructure</li></ul>                                                                                          |
+|            |                          | StatusCodeHandlerRuntimeDxe.efi                | <ul><li>Provides status code listeners</li></ul>                                                                                               |
+|            |                          | BdsDxe.efi                                     | <ul><li>Provides Boot Device Selection phase</li></ul>                                                                                         |
+|            |                          | CpuDxe.efi                                     | <ul><li>Provides processor services</li></ul>                                                                                                  |
+|            |                          | Metronome.efi                                  | <ul><li>Provides metronome HW abstraction</li></ul>                                                                                            |
+|            |                          | MonotonicCounterRuntimeDxe.efi                 | <ul><li>Provides monotonic counter service</li></ul>                                                                                           |
+|            |                          | PcatRealTimeClockRuntimeDxe.efi                | <ul><li>Provides RTC abstraction</li></ul>                                                                                                     |
+|            |                          | WatchdogTimer.efi                              | <ul><li>Provides watchdog timer service</li></ul>                                                                                              |
+|            |                          | RuntimeDxe.efi                                 | <ul><li>Provides UEFI runtime service functionality</li></ul>                                                                                  |
+|            |                          | Security.efi                                   | <ul><li>Provides security services to core</li></ul>                                                                                           |
+|            |                          | HpetTimerDxe.efi                               | <ul><li>Provide timer service</li></ul>                                                                                                        |
+|            |                          | EmuVariableRuntimeDxe.efi                      | <ul><li>Provides UEFI variable service</li></ul>                                                                                               |
+|            |                          | CapsuleRuntimeDxe.efi                          | <ul><li>Provides capsule service</li></ul>                                                                                                     |
+|            |                          | PciBusDxe.efi                                  | <ul><li>PCI bus driver</li></ul>                                                                                                               |
+|            |                          | GraphicsOutputDxe.efi                          | <ul><li>Provides graphics support</li></ul>                                                                                                    |
+|            |                          | TerminalDxe.efi                                | <ul><li>Provides terminal services</li></ul>                                                                                                   |
+|            |                          | GraphicsConsoleDxe.efi                         | <ul><li>Provides graphics console</li></ul>                                                                                                    |
+|            |                          | ConSplitterDxe.efi                             | <ul><li>Provides multi console support</li></ul>                                                                                               |
+|            |                          | EnglishDxe.efi                                 | <ul><li>Provides Unicode collation services</li></ul>                                                                                          |
+|            |                          | MemoryTest.efi                                 | <ul><li>Provide memory test</li></ul>                                                                                                          |
+|            |                          | DevicePathDxe.efi                              | <ul><li>Provides device path services</li></ul>                                                                                                |
+|            |                          | DiskIo.efi                                     | <ul><li>Provides disk IO services</li></ul>                                                                                                    |
+|            |                          | Partition.efi                                  | <ul><li>Provides disk partition services</li></ul>                                                                                             |
+|            |                          | Fat.efi                                        | <ul><li>Provides FAT filesystem services</li></ul>                                                                                             |
+|            |                          | Additional Components                          | <ul><li>Additional post-memory components required for Stage III boot</li></ul>                                                                |
+| `Binary`   | `FV`                     | `Components`                                   | `Purpose`                                                                                                                                      |
+| `Stage IV` | `FvOsBoot.fv`            | **FvLateSilicon.fv**<br />_(child FV)_         |                                                                                                                                                |
+|            |                          | &nbsp;&nbsp;&nbsp;&nbsp;_Additional Components_| <ul><li>Additional silicon initialization support that is performed late in the boot</li></ul>                                                 |
+|            |                          | AcpiTable.efi                                  | <ul><li>Provides common ACPI services</li></ul>                                                                                                |
+|            |                          | PlatformAcpi.efi                               | <ul><li>Provides MinPlatform ACPI content</li></ul>                                                                                            |
+|            |                          | BoardAcpi.efi                                  | <ul><li>Provides board ACPI content</li></ul>                                                                                                  |
+|            |                          | PiSmmIpl.efi                                   | <ul><li>SMM initial loader</li></ul>                                                                                                           |
+|            |                          | PiSmmCore.efi                                  | <ul><li>SMM core services</li></ul>                                                                                                            |
+|            |                          | ReportStatusCodeRouterSmm.efi                  | <ul><li>SMM status code infrastructure</li></ul>                                                                                               |
+|            |                          | StatusCodeHandlerSmm.efi                       | <ul><li>SMM status code handlers</li></ul>                                                                                                     |
+|            |                          | PiSmmCpu.efi                                   | <ul><li>SMM CPU services</li></ul>                                                                                                             |
+|            |                          | CpuIo2Smm.efi                                  | <ul><li>SMM CPU IO services</li></ul>                                                                                                          |
+|            |                          | FaultTolerantWriteSmm.efi                      | <ul><li>SMM fault tolerant write services</li></ul>                                                                                            |
+|            |                          | SpiFvbServiceSmm.efi                           | <ul><li>SMM SPI FLASH services</li></ul>                                                                                                       |
+|            |                          | Additional Components                          | <ul><li>Additional post-memory components required for Stage IV boot</li></ul>                                                                 |
+| `Binary`   | `FV`                     | `Components`                                   | `Purpose`                                                                                                                                      |
+| `Stage V`  | `FvSecurity.fv`          | Tcg2Dxe.efi                                    | <ul><li>TPM2 services</li></ul>                                                                                                                |
+|            |                          | Tcg2ConfigDxe.efi                              | <ul><li>TPM2 configuration UI</li></ul>                                                                                                        |
+|            |                          | Tcg2PlatformDxe.efi                            | <ul><li>TPM2 platform module</li></ul>                                                                                                         |
+|            |                          | Tcg2Smm.efi                                    | <ul><li>TPM2 ACPI services</li></ul>                                                                                                           |
+|            |                          | TcgMor.efi                                     | <ul><li>TCG Memory Override support</li></ul>                                                                                                  |
+|            |                          | IntelVTdPmrPei.efi                             | <ul><li>IOMMU PEI services</li></ul>                                                                                                           |
+|            |                          | IntelVTdDxe.efi                                | <ul><li>IOMMU DXE services</li></ul>                                                                                                           |
+|            |                          | SecurityStubDxe.efi                            | <ul><li>Provide security architecture protocol.</li></ul>                                                                                      |
+|            |                          | FaultTolerantWriteSmm.efi                      | <ul><li>Fault-tolerant services in SMM.</li></ul>                                                                                              |
+|            |                          | VariableSmm.efi                                | <ul><li>Provide Variable service in SMM.</li></ul>                                                                                             |
+|            |                          | VariableSmmRuntimeDxe.efi                      | <ul><li>Provide Variable service in UEFI.</li></ul>                                                                                            |
+|            |                          | SecureBootConfigDxe.efi                        | <ul><li>SecureBoot configuration UI.</li></ul>                                                                                                 |
+|            |                          | Additional Components                          | <ul><li>Additional post-memory components required for Stage V boot</li></ul>                                                                  |
+| `Binary`   | `FV`                     | `Components`                                   | `Purpose`                                                                                                                                      |
+| `Stage VI` | `FvAdvancedPreMemory.fv` | **FeatureStack1.fv** (child FV)                | <ul><li>Feature 1</li></ul>                                                                                                                    |
+|            |                          | **FeatureStack2.fv** (child FV)                | <ul><li>Feature 2</li></ul>                                                                                                                    |
+|            | `FvAdvanced.fv`          | **FeatureStack1.fv** (child FV)                | <ul><li>Feature 1</li></ul>                                                                                                                    |
+|            |                          | **FeatureStack2.fv** (child FV)                | <ul><li>Feature 2</li></ul>                                                                                                                    |
+|            |                          | **FeatureStack3.fv** (child FV)                | <ul><li>Feature 3</li></ul>                                                                                                                    |
+|            |                          | Additional Feature Stacks                      | <ul><li>Features</li></ul>                                                                                                                     |
 
 ###### Table 71 Full Firmware Volume Layout
-- 
2.16.2.windows.1


                 reply	other threads:[~2020-01-28  8:10 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200128080950.9004-1-michael.a.kubacki@intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox