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
This commit is contained in:
qwang12 2006-07-30 07:40:03 +00:00
parent eece174ad0
commit 563671d4d7
2 changed files with 30 additions and 4 deletions

View File

@ -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>

View File

@ -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];
//