]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/FaultTolerantWriteDxe/UpdateWorkingBlock.c
MdeModulePkg/FaultTolerantWrite: Consume Variable Flash Info
[mirror_edk2.git] / MdeModulePkg / Universal / FaultTolerantWriteDxe / UpdateWorkingBlock.c
index 61e7a92ccea15129b20f31c97305637888ff8fd5..fd563643eb6346c639d4d7bb86cf833d101cc20f 100644 (file)
@@ -16,10 +16,13 @@ EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER  mWorkingBlockHeader = { ZERO_GUID, 0, 0
 \r
   Since Signature and WriteQueueSize have been known, Crc can be calculated out,\r
   then the work space header will be fixed.\r
 \r
   Since Signature and WriteQueueSize have been known, Crc can be calculated out,\r
   then the work space header will be fixed.\r
+\r
+  @param[in]  WorkSpaceLength     Length in bytes of the FTW workspace area.\r
+\r
 **/\r
 VOID\r
 InitializeLocalWorkSpaceHeader (\r
 **/\r
 VOID\r
 InitializeLocalWorkSpaceHeader (\r
-  VOID\r
+  IN  UINTN  WorkSpaceLength\r
   )\r
 {\r
   //\r
   )\r
 {\r
   //\r
@@ -46,7 +49,7 @@ InitializeLocalWorkSpaceHeader (
     &gEdkiiWorkingBlockSignatureGuid,\r
     sizeof (EFI_GUID)\r
     );\r
     &gEdkiiWorkingBlockSignatureGuid,\r
     sizeof (EFI_GUID)\r
     );\r
-  mWorkingBlockHeader.WriteQueueSize = PcdGet32 (PcdFlashNvStorageFtwWorkingSize) - sizeof (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER);\r
+  mWorkingBlockHeader.WriteQueueSize = WorkSpaceLength - sizeof (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER);\r
 \r
   //\r
   // Crc is calculated with all the fields except Crc and STATE, so leave them as FTW_ERASED_BYTE.\r
 \r
   //\r
   // Crc is calculated with all the fields except Crc and STATE, so leave them as FTW_ERASED_BYTE.\r