//\r
// Install FlashMap PPI\r
//\r
- Status = PeiCoreInstallPpi (&mPpiListFlashMap);\r
+ Status = PeiServicesInstallPpi (&mPpiListFlashMap);\r
ASSERT_EFI_ERROR (Status);\r
\r
\r
//\r
// Get the Fwh Information PPI\r
//\r
- Status = PeiCoreLocatePpi (\r
+ Status = PeiServicesLocatePpi (\r
&gNtFwhPpiGuid, // GUID\r
0, // INSTANCE\r
&PpiDescriptor, // EFI_PEI_PPI_DESCRIPTOR\r
FlashHobData.SubAreaData.Base = FdBase + (EFI_PHYSICAL_ADDRESS) (UINTN) mFlashAreaData[Index].Base;\r
FlashHobData.SubAreaData.Length = (EFI_PHYSICAL_ADDRESS) (UINTN) mFlashAreaData[Index].Length;\r
\r
+ //\r
+ // We also update a PCD entry so that any driver that depend on\r
+ // PCD entry will get the information.\r
+ //\r
+ if (FlashHobData.AreaType == EFI_FLASH_AREA_EFI_VARIABLES) {\r
+ PcdSet32 (PcdFlashNvStorageVariableBase, (UINT32) FlashHobData.SubAreaData.Base);\r
+ PcdSet32 (PcdFlashNvStorageVariableSize, (UINT32) FlashHobData.SubAreaData.Length);\r
+ }\r
+\r
+ if (FlashHobData.AreaType == EFI_FLASH_AREA_FTW_STATE) {\r
+ PcdSet32 (PcdFlashNvStorageFtwWorkingBase, (UINT32) FlashHobData.SubAreaData.Base);\r
+ PcdSet32 (PcdFlashNvStorageFtwWorkingSize, (UINT32) FlashHobData.SubAreaData.Length);\r
+ }\r
+\r
+ if (FlashHobData.AreaType == EFI_FLASH_AREA_FTW_BACKUP) {\r
+ PcdSet32 (PcdFlashNvStorageFtwSpareBase, (UINT32) FlashHobData.SubAreaData.Base);\r
+ PcdSet32 (PcdFlashNvStorageFtwSpareSize, (UINT32) FlashHobData.SubAreaData.Length);\r
+ }\r
+\r
switch (FlashHobData.AreaType) {\r
case EFI_FLASH_AREA_RECOVERY_BIOS:\r
case EFI_FLASH_AREA_MAIN_BIOS:\r
EFI_PEI_HOB_POINTERS Hob;\r
EFI_HOB_FLASH_MAP_ENTRY_TYPE *FlashMapEntry;\r
\r
- Status = PeiCoreGetHobList (&Hob.Raw);\r
+ Status = PeiServicesGetHobList (&Hob.Raw);\r
while (!END_OF_HOB_LIST (Hob)) {\r
if (Hob.Header->HobType == EFI_HOB_TYPE_GUID_EXTENSION && CompareGuid (&Hob.Guid->Name, &gEfiFlashMapHobGuid)) {\r
FlashMapEntry = (EFI_HOB_FLASH_MAP_ENTRY_TYPE *) Hob.Raw;\r