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