EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER is defined wrongly. It should be the same...
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Sun, 30 Jul 2006 07:40:03 +0000 (07:40 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Sun, 30 Jul 2006 07:40:03 +0000 (07:40 +0000)
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

EdkModulePkg/EdkModulePkg.spd
EdkModulePkg/Include/Common/WorkingBlockHeader.h

index 883df18..2a0b417 100644 (file)
       <DefaultValue>4</DefaultValue>\r
       <HelpText>kbytes size of runtime memory.</HelpText>\r
     </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdFlashFvBaseArray</C_Name>\r
+      <Token>0x31000001</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>VOID*</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>{}</DefaultValue>\r
+      <HelpText>\r
+      This PCD is a array of EFI_PHYSICAL_ADDERSS of each Firmware Volume on the\r
+      platform. FVB driver will make use of this PCD entry to install EFI_FIRMWARE_BLOCK_PROTOCOL\r
+      on every FV specified.\r
+      </HelpText>\r
+    </PcdEntry>\r
+    <PcdEntry>\r
+      <C_Name>PcdFlashFvBaseArrayElementNumber</C_Name>\r
+      <Token>0x32000002</Token>\r
+      <TokenSpaceGuidCName>gEfiGenericPlatformTokenSpaceGuid</TokenSpaceGuidCName>\r
+      <DatumType>UINT8</DatumType>\r
+      <ValidUsage>DYNAMIC</ValidUsage>\r
+      <DefaultValue>3</DefaultValue>\r
+      <HelpText>\r
+      This PCD is a number element in the array defined by PcdFlashFvBaseArray in\r
+      gEfiGenericPlatformTokenSpaceGuid. Normally, we have 3 firmware volumes:\r
+      FV_MAIN, FV_RECOVERY, NV_STORAGE.\r
+      </HelpText>\r
+    </PcdEntry>\r
   </PcdDeclarations>\r
 </PackageSurfaceArea>\r
index 235b740..234ebdd 100644 (file)
@@ -32,13 +32,13 @@ Abstract:
 typedef struct {\r
   EFI_GUID  Signature;\r
   UINT32    Crc;\r
-  UINT32    WorkingBlockValid : 1;\r
-  UINT32    WorkingBlockInvalid : 1;\r
+  UINT    WorkingBlockValid : 1;\r
+  UINT    WorkingBlockInvalid : 1;\r
 #define WORKING_BLOCK_VALID   0x1\r
 #define WORKING_BLOCK_INVALID 0x2\r
-  UINT32    Reserved : 6;\r
+  UINT    Reserved : 6;\r
   UINT8     Reserved3[3];\r
-  UINT    WriteQueueSize;\r
+  UINT32    WriteQueueSize;\r
   //\r
   // UINT8                WriteQueue[WriteQueueSize];\r
   //\r