summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Include/Guid/VariableFlashInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Include/Guid/VariableFlashInfo.h')
-rw-r--r--MdeModulePkg/Include/Guid/VariableFlashInfo.h222
1 files changed, 111 insertions, 111 deletions
diff --git a/MdeModulePkg/Include/Guid/VariableFlashInfo.h b/MdeModulePkg/Include/Guid/VariableFlashInfo.h
index 992a0dcdd3..5d836f3ea9 100644
--- a/MdeModulePkg/Include/Guid/VariableFlashInfo.h
+++ b/MdeModulePkg/Include/Guid/VariableFlashInfo.h
@@ -1,111 +1,111 @@
-/** @file
- This file defines the GUID and data structure used to pass information about
- a variable store mapped on flash (i.e. a MMIO firmware volume) to the modules
- that consume that information such as the DXE and MM UEFI variable drivers.
-
- The HOB described in this file is currently optional. It is primarily provided
- to allow a platform to dynamically describe the flash information to environments
- such as Standalone MM that cannot access the prior method using dynamic PCDs.
-
- Even for platforms that use Standalone MM, if the information is only stored
- statically such as with FixedAtBuild PCDs, the HOB is not required.
-
- Every point of consumption in this package that uses the PCDs will first check
- for the HOB and use its value if present.
-
- Early modules such as the PEI UEFI variable driver might also consume this
- information. For modules such as these, that execute early in the boot flow,
- at least two approaches are possible depending on platform design.
-
- 1. If the information in the HOB exactly matches the information in the PCDs,
- (i.e. the HOB values are set using the PCD values), let the driver read
- the information from the PCD and produce the HOB later in boot.
-
- 2. Produce the HOB very early in boot. For example, the earliest point the HOB
- is currently consumed is in FaultTolerantWritePei. Note that FaultTolerantWritePei
- produces gEdkiiFaultTolerantWriteGuid which is a dependency for VariablePei.
-
- Therefore, attaching a NULL class library to FaultTolerantWritePei with a
- constructor that produces the HOB will guarantee it is produced before the first
- point of consumption as the constructor is executed before the module entry point.
-
- Copyright (c) Microsoft Corporation.<BR>
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#ifndef VARIABLE_FLASH_INFO_H_
-#define VARIABLE_FLASH_INFO_H_
-
-#define VARIABLE_FLASH_INFO_HOB_GUID \
- { 0x5d11c653, 0x8154, 0x4ac3, { 0xa8, 0xc2, 0xfb, 0xa2, 0x89, 0x20, 0xfc, 0x90 }}
-
-#define VARIABLE_FLASH_INFO_HOB_VERSION 1
-
-extern EFI_GUID gVariableFlashInfoHobGuid;
-
-#pragma pack (push, 1)
-
-///
-/// This structure can be used to describe UEFI variable
-/// flash information.
-///
-typedef struct {
- ///
- /// Version of this structure.
- ///
- /// Increment the value when the structure is modified.
- ///
- UINT32 Version;
- ///
- /// Reserved field.
- ///
- /// Currently reserved for natural alignment.
- ///
- UINT32 Reserved;
- ///
- /// Base address of the non-volatile variable range in the flash device.
- ///
- /// Note that this address should align with the block size requirements of the flash device.
- ///
- EFI_PHYSICAL_ADDRESS NvVariableBaseAddress;
- ///
- /// Size of the non-volatile variable range in the flash device.
- ///
- /// Note that this value should be less than or equal to FtwSpareLength to support reclaim of
- /// entire variable store area.
- /// Note that this address should align with the block size requirements of the flash device.
- ///
- UINT64 NvVariableLength;
- ///
- /// Base address of the FTW spare block range in the flash device.
- ///
- /// Note that this address should align with the block size requirements of the flash device.
- ///
- EFI_PHYSICAL_ADDRESS FtwSpareBaseAddress;
- ///
- /// Size of the FTW spare block range in the flash device.
- ///
- /// Note that this value should be greater than or equal to NvVariableLength.
- /// Note that this address should align with the block size requirements of the flash device.
- ///
- UINT64 FtwSpareLength;
- ///
- /// Base address of the FTW working block range in the flash device.
- ///
- /// Note that if FtwWorkingLength is larger than on block size, this value should be block size aligned.
- ///
- EFI_PHYSICAL_ADDRESS FtwWorkingBaseAddress;
- ///
- /// Size of the FTW working block range in the flash device.
- ///
- /// Note that if the value is less than on block size, the range should not span blocks.
- /// Note that if the value is larger than one block size, this value should be block size aligned.
- ///
- UINT64 FtwWorkingLength;
-} VARIABLE_FLASH_INFO;
-
-#pragma pack (pop)
-
-#endif
+/** @file
+ This file defines the GUID and data structure used to pass information about
+ a variable store mapped on flash (i.e. a MMIO firmware volume) to the modules
+ that consume that information such as the DXE and MM UEFI variable drivers.
+
+ The HOB described in this file is currently optional. It is primarily provided
+ to allow a platform to dynamically describe the flash information to environments
+ such as Standalone MM that cannot access the prior method using dynamic PCDs.
+
+ Even for platforms that use Standalone MM, if the information is only stored
+ statically such as with FixedAtBuild PCDs, the HOB is not required.
+
+ Every point of consumption in this package that uses the PCDs will first check
+ for the HOB and use its value if present.
+
+ Early modules such as the PEI UEFI variable driver might also consume this
+ information. For modules such as these, that execute early in the boot flow,
+ at least two approaches are possible depending on platform design.
+
+ 1. If the information in the HOB exactly matches the information in the PCDs,
+ (i.e. the HOB values are set using the PCD values), let the driver read
+ the information from the PCD and produce the HOB later in boot.
+
+ 2. Produce the HOB very early in boot. For example, the earliest point the HOB
+ is currently consumed is in FaultTolerantWritePei. Note that FaultTolerantWritePei
+ produces gEdkiiFaultTolerantWriteGuid which is a dependency for VariablePei.
+
+ Therefore, attaching a NULL class library to FaultTolerantWritePei with a
+ constructor that produces the HOB will guarantee it is produced before the first
+ point of consumption as the constructor is executed before the module entry point.
+
+ Copyright (c) Microsoft Corporation.<BR>
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef VARIABLE_FLASH_INFO_H_
+#define VARIABLE_FLASH_INFO_H_
+
+#define VARIABLE_FLASH_INFO_HOB_GUID \
+ { 0x5d11c653, 0x8154, 0x4ac3, { 0xa8, 0xc2, 0xfb, 0xa2, 0x89, 0x20, 0xfc, 0x90 }}
+
+#define VARIABLE_FLASH_INFO_HOB_VERSION 1
+
+extern EFI_GUID gVariableFlashInfoHobGuid;
+
+#pragma pack (push, 1)
+
+///
+/// This structure can be used to describe UEFI variable
+/// flash information.
+///
+typedef struct {
+ ///
+ /// Version of this structure.
+ ///
+ /// Increment the value when the structure is modified.
+ ///
+ UINT32 Version;
+ ///
+ /// Reserved field.
+ ///
+ /// Currently reserved for natural alignment.
+ ///
+ UINT32 Reserved;
+ ///
+ /// Base address of the non-volatile variable range in the flash device.
+ ///
+ /// Note that this address should align with the block size requirements of the flash device.
+ ///
+ EFI_PHYSICAL_ADDRESS NvVariableBaseAddress;
+ ///
+ /// Size of the non-volatile variable range in the flash device.
+ ///
+ /// Note that this value should be less than or equal to FtwSpareLength to support reclaim of
+ /// entire variable store area.
+ /// Note that this address should align with the block size requirements of the flash device.
+ ///
+ UINT64 NvVariableLength;
+ ///
+ /// Base address of the FTW spare block range in the flash device.
+ ///
+ /// Note that this address should align with the block size requirements of the flash device.
+ ///
+ EFI_PHYSICAL_ADDRESS FtwSpareBaseAddress;
+ ///
+ /// Size of the FTW spare block range in the flash device.
+ ///
+ /// Note that this value should be greater than or equal to NvVariableLength.
+ /// Note that this address should align with the block size requirements of the flash device.
+ ///
+ UINT64 FtwSpareLength;
+ ///
+ /// Base address of the FTW working block range in the flash device.
+ ///
+ /// Note that if FtwWorkingLength is larger than on block size, this value should be block size aligned.
+ ///
+ EFI_PHYSICAL_ADDRESS FtwWorkingBaseAddress;
+ ///
+ /// Size of the FTW working block range in the flash device.
+ ///
+ /// Note that if the value is less than on block size, the range should not span blocks.
+ /// Note that if the value is larger than one block size, this value should be block size aligned.
+ ///
+ UINT64 FtwWorkingLength;
+} VARIABLE_FLASH_INFO;
+
+#pragma pack (pop)
+
+#endif