]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.c
1) Use Dynamic Pcd for hold the base address and length of Flash-related block.
[mirror_edk2.git] / MdeModulePkg / Universal / FirmwareVolume / FaultTolerantWriteLite / Dxe / FtwLite.c
index a2ba2b4306acc62216d84ed0c4b1e97787d771ec..38fe11d80bee47964f85c898eed581e76a5d4493 100644 (file)
@@ -634,8 +634,7 @@ InitializeFtwLite (
   UINTN                               Offset;\r
   EFI_FV_BLOCK_MAP_ENTRY              *FvbMapEntry;\r
   UINT32                              LbaIndex;\r
-  EFI_PEI_HOB_POINTERS                FvHob;\r
-  EFI_FLASH_MAP_ENTRY_DATA            *FlashMapEntry;\r
+\r
   //\r
   // Allocate Private data of this driver,\r
   // INCLUDING THE FtwWorkSpace[FTW_WORK_SPACE_SIZE].\r
@@ -666,34 +665,12 @@ InitializeFtwLite (
   FtwLiteDevice->FtwWorkSpaceHeader = (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER *) FtwLiteDevice->FtwWorkSpace;\r
 \r
   FtwLiteDevice->FtwLastRecord      = NULL;\r
-        \r
-  //\r
-  // BUGBUG: Here should use Pcd after build tool support dynamic PCD\r
-  //        \r
-  FtwLiteDevice->SpareAreaLength  = 0;\r
-  FtwLiteDevice->WorkSpaceLength  = 0;\r
-  FvHob.Raw = GetHobList ();\r
-  while ((FvHob.Raw = GetNextGuidHob (&gEfiFlashMapHobGuid, FvHob.Raw)) != NULL) {\r
 \r
-    FlashMapEntry = (EFI_FLASH_MAP_ENTRY_DATA *) GET_GUID_HOB_DATA (FvHob.Guid);\r
-      \r
-    //\r
-    // Get the FTW work space Flash Map SUB area\r
-    //\r
-    if ((FlashMapEntry->AreaType == EFI_FLASH_AREA_FTW_STATE) && (FlashMapEntry->NumEntries == 1)) {\r
-      FtwLiteDevice->WorkSpaceAddress = FlashMapEntry->Entries[0].Base;\r
-      FtwLiteDevice->WorkSpaceLength  = (UINTN) FlashMapEntry->Entries[0].Length;\r
-    }\r
-    //\r
-    // Get the FTW backup SUB area\r
-    //\r
-    if ((FlashMapEntry->AreaType == EFI_FLASH_AREA_FTW_BACKUP) && (FlashMapEntry->NumEntries == 1)) {\r
-      FtwLiteDevice->SpareAreaAddress = FlashMapEntry->Entries[0].Base;\r
-      FtwLiteDevice->SpareAreaLength  = (UINTN) FlashMapEntry->Entries[0].Length;\r
-    }\r
-    \r
-    FvHob.Raw = GET_NEXT_HOB (FvHob);\r
-  }\r
+  FtwLiteDevice->WorkSpaceAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwWorkingBase);\r
+  FtwLiteDevice->WorkSpaceLength  = (UINTN) PcdGet32 (PcdFlashNvStorageFtwWorkingSize);\r
+\r
+  FtwLiteDevice->SpareAreaAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwSpareBase);\r
+  FtwLiteDevice->SpareAreaLength  = (UINTN) PcdGet32 (PcdFlashNvStorageFtwSpareSize);\r
 \r
   ASSERT ((FtwLiteDevice->WorkSpaceLength != 0) && (FtwLiteDevice->SpareAreaLength != 0));\r
 \r