summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--EdkModulePkg/EdkModulePkg.spd26
-rw-r--r--EdkModulePkg/Include/Common/WorkingBlockHeader.h8
2 files changed, 30 insertions, 4 deletions
diff --git a/EdkModulePkg/EdkModulePkg.spd b/EdkModulePkg/EdkModulePkg.spd
index 883df1873f..2a0b417380 100644
--- a/EdkModulePkg/EdkModulePkg.spd
+++ b/EdkModulePkg/EdkModulePkg.spd
@@ -991,5 +991,31 @@
<DefaultValue>4</DefaultValue>
<HelpText>kbytes size of runtime memory.</HelpText>
</PcdEntry>
+ <PcdEntry>
+ <C_Name>PcdFlashFvBaseArray</C_Name>
+ <Token>0x31000001</Token>
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>VOID*</DatumType>
+ <ValidUsage>DYNAMIC</ValidUsage>
+ <DefaultValue>{}</DefaultValue>
+ <HelpText>
+ This PCD is a array of EFI_PHYSICAL_ADDERSS of each Firmware Volume on the
+ platform. FVB driver will make use of this PCD entry to install EFI_FIRMWARE_BLOCK_PROTOCOL
+ on every FV specified.
+ </HelpText>
+ </PcdEntry>
+ <PcdEntry>
+ <C_Name>PcdFlashFvBaseArrayElementNumber</C_Name>
+ <Token>0x32000002</Token>
+ <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT8</DatumType>
+ <ValidUsage>DYNAMIC</ValidUsage>
+ <DefaultValue>3</DefaultValue>
+ <HelpText>
+ This PCD is a number element in the array defined by PcdFlashFvBaseArray in
+ gEfiGenericPlatformTokenSpaceGuid. Normally, we have 3 firmware volumes:
+ FV_MAIN, FV_RECOVERY, NV_STORAGE.
+ </HelpText>
+ </PcdEntry>
</PcdDeclarations>
</PackageSurfaceArea>
diff --git a/EdkModulePkg/Include/Common/WorkingBlockHeader.h b/EdkModulePkg/Include/Common/WorkingBlockHeader.h
index 235b740e83..234ebdd774 100644
--- a/EdkModulePkg/Include/Common/WorkingBlockHeader.h
+++ b/EdkModulePkg/Include/Common/WorkingBlockHeader.h
@@ -32,13 +32,13 @@ Abstract:
typedef struct {
EFI_GUID Signature;
UINT32 Crc;
- UINT32 WorkingBlockValid : 1;
- UINT32 WorkingBlockInvalid : 1;
+ UINT8 WorkingBlockValid : 1;
+ UINT8 WorkingBlockInvalid : 1;
#define WORKING_BLOCK_VALID 0x1
#define WORKING_BLOCK_INVALID 0x2
- UINT32 Reserved : 6;
+ UINT8 Reserved : 6;
UINT8 Reserved3[3];
- UINTN WriteQueueSize;
+ UINT32 WriteQueueSize;
//
// UINT8 WriteQueue[WriteQueueSize];
//