summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-30 07:40:03 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2006-07-30 07:40:03 +0000
commit563671d4d7c483a53535475a2737eba71372d7a8 (patch)
tree355c30cc331ec4be33e65e3973e0254dc2a5ba3d
parenteece174ad00f11db8688a36f7c7ef57c9ced98db (diff)
downloadedk2-platforms-563671d4d7c483a53535475a2737eba71372d7a8.tar.xz
EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER is defined wrongly. It should be the same with what is written down in FTW specification.
And WriteQueueSize should be defined UINT32 to make it the same width in 32 or 64-bits system. Added two PCD entry: PcdFlashFvBaseArray and PcdFlashFvBaseArrayElementNumber git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1151 6f19259b-4bc3-4df7-8a09-765794883524
-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];
//