From: xgu3 Date: Thu, 10 Aug 2006 12:28:02 +0000 (+0000) Subject: Modify FtwLite and Variable DXE driver to use PCD instead of FlashMap HOB X-Git-Tag: edk2-stable201903~24637 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=202c5d55e5a5a1f065038cda8316ad36293aa6bb Modify FtwLite and Variable DXE driver to use PCD instead of FlashMap HOB git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1236 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/EdkModulePkg/EdkModulePkg.fpd b/EdkModulePkg/EdkModulePkg.fpd index deedec8a02..719b135443 100644 --- a/EdkModulePkg/EdkModulePkg.fpd +++ b/EdkModulePkg/EdkModulePkg.fpd @@ -1,4 +1,4 @@ - + EdkModuleAll @@ -1183,8 +1183,26 @@ + + + + PcdFlashNvStorageVariableBase + 0x30000001 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageVariableSize + 0x30000002 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + PcdMaximumUnicodeStringLength 0x00000001 @@ -1431,7 +1449,7 @@ - + PcdFlashNvStorageVariableBase 0x30000001 gEfiGenericPlatformTokenSpaceGuid @@ -1604,6 +1622,8 @@ + + @@ -1670,6 +1690,38 @@ 1 0xAF + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFC0000 + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00010000 + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFBE000 + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00002000 + NULL @@ -5747,6 +5799,8 @@ + + @@ -5813,6 +5867,22 @@ 1 0xAF + + PcdFlashNvStorageVariableBase + 0x30000001 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageVariableSize + 0x30000002 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + NULL @@ -5995,7 +6065,7 @@ - + PcdFlashNvStorageVariableBase 0x30000001 gEfiGenericPlatformTokenSpaceGuid @@ -6168,6 +6238,8 @@ + + @@ -6234,6 +6306,38 @@ 1 0xAF + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFC0000 + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00010000 + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFBE000 + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00002000 + NULL @@ -9686,6 +9790,8 @@ + + @@ -9752,6 +9858,22 @@ 1 0xAF + + PcdFlashNvStorageVariableBase + 0x30000001 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageVariableSize + 0x30000002 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + NULL @@ -9935,7 +10057,7 @@ - + PcdFlashNvStorageVariableBase 0x30000001 gEfiGenericPlatformTokenSpaceGuid @@ -10108,6 +10230,8 @@ + + @@ -10174,6 +10298,38 @@ 1 0xAF + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFC0000 + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00010000 + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFBE000 + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00002000 + NULL @@ -13536,7 +13692,7 @@ - + PcdFlashNvStorageVariableBase 0x30000001 gEfiGenericPlatformTokenSpaceGuid @@ -13709,6 +13865,8 @@ + + @@ -13775,6 +13933,38 @@ 1 0xAF + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFC0000 + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00010000 + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0xFFFBE000 + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x00002000 + NULL @@ -16512,6 +16702,74 @@ + + + PcdFlashNvStorageVariableBase + 0x30000001 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageVariableSize + 0x30000002 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + diff --git a/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.c b/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.c index 0d20e88058..f4c7e9199c 100644 --- a/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.c +++ b/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.c @@ -632,10 +632,8 @@ InitializeFtwLite ( UINTN Length; EFI_STATUS Status; UINTN Offset; - EFI_FLASH_MAP_ENTRY_DATA *FlashMapEntry; EFI_FV_BLOCK_MAP_ENTRY *FvbMapEntry; UINT32 LbaIndex; - EFI_PEI_HOB_POINTERS GuidHob; // // Allocate Private data of this driver, @@ -668,29 +666,11 @@ InitializeFtwLite ( FtwLiteDevice->FtwLastRecord = NULL; - FtwLiteDevice->SpareAreaLength = 0; - FtwLiteDevice->WorkSpaceLength = 0; + FtwLiteDevice->WorkSpaceAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwWorkingBase); + FtwLiteDevice->WorkSpaceLength = (UINTN) PcdGet32 (PcdFlashNvStorageFtwWorkingSize); - GuidHob.Raw = GetHobList (); - while (NULL != (GuidHob.Raw = GetNextGuidHob (&gEfiFlashMapHobGuid, GuidHob.Raw))) { - FlashMapEntry = (EFI_FLASH_MAP_ENTRY_DATA *) GET_GUID_HOB_DATA (GuidHob.Guid); - // - // Get the FTW work space Flash Map SUB area - // - if ((FlashMapEntry->AreaType == EFI_FLASH_AREA_FTW_STATE) && (FlashMapEntry->NumEntries == 1)) { - FtwLiteDevice->WorkSpaceAddress = FlashMapEntry->Entries[0].Base; - FtwLiteDevice->WorkSpaceLength = (UINTN) FlashMapEntry->Entries[0].Length; - } - // - // Get the FTW backup SUB area - // - if ((FlashMapEntry->AreaType == EFI_FLASH_AREA_FTW_BACKUP) && (FlashMapEntry->NumEntries == 1)) { - FtwLiteDevice->SpareAreaAddress = FlashMapEntry->Entries[0].Base; - FtwLiteDevice->SpareAreaLength = (UINTN) FlashMapEntry->Entries[0].Length; - } - - GuidHob.Raw = GET_NEXT_HOB (GuidHob); - } + FtwLiteDevice->SpareAreaAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwSpareBase); + FtwLiteDevice->SpareAreaLength = (UINTN) PcdGet32 (PcdFlashNvStorageFtwSpareSize); ASSERT ((FtwLiteDevice->WorkSpaceLength != 0) && (FtwLiteDevice->SpareAreaLength != 0)); diff --git a/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.msa b/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.msa index 90f6ad8482..3505b5eef3 100644 --- a/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.msa +++ b/EdkModulePkg/Universal/FirmwareVolume/FaultTolerantWriteLite/Dxe/FtwLite.msa @@ -30,6 +30,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.--> FtwLite + + PcdLib + DebugLib @@ -96,4 +99,26 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.--> InitializeFtwLite + + + PcdFlashNvStorageFtwSpareBase + gEfiGenericPlatformTokenSpaceGuid + To get base address of the FTW spare block section in NV firmware volume. + + + PcdFlashNvStorageFtwSpareSize + gEfiGenericPlatformTokenSpaceGuid + To get size of the FTW spare block section in NV firmware volume. + + + PcdFlashNvStorageFtwWorkingBase + gEfiGenericPlatformTokenSpaceGuid + To get base address of the FTW working block section in NV firmware volume. + + + PcdFlashNvStorageFtwWorkingSize + gEfiGenericPlatformTokenSpaceGuid + To get size of the FTW working block section in NV firmware volume. + + \ No newline at end of file diff --git a/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c index cfd3183f09..3fa16172cc 100644 --- a/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c +++ b/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.c @@ -1254,14 +1254,14 @@ Returns: UINT32 Instance; EFI_PHYSICAL_ADDRESS FvVolHdr; - EFI_FLASH_MAP_ENTRY_DATA *FlashMapEntryData; + UINT64 TempVariableStoreHeader; + EFI_GCD_MEMORY_SPACE_DESCRIPTOR GcdDescriptor; EFI_FLASH_SUBAREA_ENTRY VariableStoreEntry; UINT64 BaseAddress; UINT64 Length; UINTN Index; UINT8 Data; - EFI_PEI_HOB_POINTERS GuidHob; Status = gBS->AllocatePool ( EfiRuntimeServicesData, @@ -1305,35 +1305,13 @@ Returns: // Get non volatile varaible store // - FlashMapEntryData = NULL; - - GuidHob.Raw = GetHobList (); - while (NULL != (GuidHob.Raw = GetNextGuidHob (&gEfiFlashMapHobGuid, GuidHob.Raw))) { - FlashMapEntryData = (EFI_FLASH_MAP_ENTRY_DATA *) GET_GUID_HOB_DATA (GuidHob.Guid); - - if (FlashMapEntryData->AreaType == EFI_FLASH_AREA_EFI_VARIABLES) { - break; - } - GuidHob.Raw = GET_NEXT_HOB (GuidHob); - } - - if (NULL == GuidHob.Raw || FlashMapEntryData == NULL) { - gBS->FreePool (mVariableModuleGlobal); - gBS->FreePool (VolatileVariableStore); - return EFI_NOT_FOUND; - } - - // - // Currently only one non-volatile variable store is supported - // - if (FlashMapEntryData->NumEntries != 1) { - gBS->FreePool (mVariableModuleGlobal); - gBS->FreePool (VolatileVariableStore); - return EFI_UNSUPPORTED; - } - - CopyMem (&VariableStoreEntry, &FlashMapEntryData->Entries[0], sizeof (VariableStoreEntry)); + TempVariableStoreHeader = (UINT64) PcdGet32 (PcdFlashNvStorageVariableBase); + VariableStoreEntry.Base = TempVariableStoreHeader + \ + (((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) (TempVariableStoreHeader)) -> HeaderLength); + VariableStoreEntry.Length = (UINT64) PcdGet32 (PcdFlashNvStorageVariableSize) - \ + (((EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) (TempVariableStoreHeader)) -> HeaderLength); + VariableStoreEntry.Length = (UINT64) PcdGet32 (PcdFlashNvStorageVariableSize); // // Mark the variable storage region of the FLASH as RUNTIME // diff --git a/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.msa b/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.msa index c3f538abe6..049ee3731d 100644 --- a/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.msa +++ b/EdkModulePkg/Universal/Variable/RuntimeDxe/Variable.msa @@ -30,6 +30,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.--> Variable + + PcdLib + BaseLib @@ -150,4 +153,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.--> VariableClassAddressChangeEvent + + + PcdFlashNvStorageVariableBase + gEfiGenericPlatformTokenSpaceGuid + + The driver gets the Variable store base address from this PCD. This base address point to + an EFI_FIRMWARE_VOLUMN_HEADER struct. + + + + PcdFlashNvStorageVariableSize + gEfiGenericPlatformTokenSpaceGuid + + The driver gets the Variable store base address from this PCD. This base address point to + an EFI_FIRMWARE_VOLUMN_HEADER struct. + + + \ No newline at end of file diff --git a/EdkNt32Pkg/Include/FlashLayout.h b/EdkNt32Pkg/Include/FlashLayout.h index 5a95961709..1a13f16c50 100644 --- a/EdkNt32Pkg/Include/FlashLayout.h +++ b/EdkNt32Pkg/Include/FlashLayout.h @@ -48,9 +48,9 @@ Abstract: #define EFI_WINNT_RUNTIME_UPDATABLE_FV_HEADER_LENGTH 0x48 -#define EFI_VARIABLE_STORE_OFFSET (EFI_WINNT_RUNTIME_UPDATABLE_OFFSET + EFI_WINNT_RUNTIME_UPDATABLE_FV_HEADER_LENGTH) +#define EFI_VARIABLE_STORE_OFFSET EFI_WINNT_RUNTIME_UPDATABLE_OFFSET -#define EFI_VARIABLE_STORE_LENGTH (0x00C000 - EFI_WINNT_RUNTIME_UPDATABLE_FV_HEADER_LENGTH) +#define EFI_VARIABLE_STORE_LENGTH 0x00C000 #define EFI_EVENT_LOG_OFFSET (EFI_VARIABLE_STORE_OFFSET + EFI_VARIABLE_STORE_LENGTH) diff --git a/EdkNt32Pkg/Nt32.fpd b/EdkNt32Pkg/Nt32.fpd index 64ed3aaa80..4e9ceb19a1 100644 --- a/EdkNt32Pkg/Nt32.fpd +++ b/EdkNt32Pkg/Nt32.fpd @@ -714,13 +714,53 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + PcdFlashNvStorageVariableBase 0x30000001 gEfiGenericPlatformTokenSpaceGuid UINT32 4 - 0 + 0x0 + + + PcdFlashNvStorageVariableSize + 0x30000002 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 PcdMaximumUnicodeStringLength @@ -892,7 +932,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. gEfiGenericPlatformTokenSpaceGuid UINT32 4 - 0 + 0x0 PcdMaximumUnicodeStringLength @@ -2672,6 +2712,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + @@ -2738,6 +2780,38 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 1 0xAF + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + FV_RECOVERY @@ -2758,6 +2832,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + + @@ -2824,6 +2900,22 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 1 0xAF + + PcdFlashNvStorageVariableBase + 0x30000001 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + + + PcdFlashNvStorageVariableSize + 0x30000002 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + 0x0 + FV_RECOVERY @@ -6826,7 +6918,62 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 4 0 - 0 + 0x0 + + + + PcdFlashNvStorageVariableSize + 0x30000002 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwWorkingBase + 0x30000010 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwWorkingSize + 0x30000011 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwSpareBase + 0x30000013 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 + + + + PcdFlashNvStorageFtwSpareSize + 0x30000014 + gEfiGenericPlatformTokenSpaceGuid + UINT32 + 4 + + 0 + 0x0 diff --git a/EdkNt32Pkg/Pei/FlashMap/FlashMap.c b/EdkNt32Pkg/Pei/FlashMap/FlashMap.c index 54dc137a76..af8e13c9ff 100644 --- a/EdkNt32Pkg/Pei/FlashMap/FlashMap.c +++ b/EdkNt32Pkg/Pei/FlashMap/FlashMap.c @@ -176,6 +176,25 @@ Returns: FlashHobData.SubAreaData.Base = FdBase + (EFI_PHYSICAL_ADDRESS) (UINTN) mFlashAreaData[Index].Base; FlashHobData.SubAreaData.Length = (EFI_PHYSICAL_ADDRESS) (UINTN) mFlashAreaData[Index].Length; + // + // We also update a PCD entry so that any driver that depend on + // PCD entry will get the information. + // + if (FlashHobData.AreaType == EFI_FLASH_AREA_EFI_VARIABLES) { + PcdSet32 (PcdFlashNvStorageVariableBase, (UINT32) FlashHobData.SubAreaData.Base); + PcdSet32 (PcdFlashNvStorageVariableSize, (UINT32) FlashHobData.SubAreaData.Length); + } + + if (FlashHobData.AreaType == EFI_FLASH_AREA_FTW_STATE) { + PcdSet32 (PcdFlashNvStorageFtwWorkingBase, (UINT32) FlashHobData.SubAreaData.Base); + PcdSet32 (PcdFlashNvStorageFtwWorkingSize, (UINT32) FlashHobData.SubAreaData.Length); + } + + if (FlashHobData.AreaType == EFI_FLASH_AREA_FTW_BACKUP) { + PcdSet32 (PcdFlashNvStorageFtwSpareBase, (UINT32) FlashHobData.SubAreaData.Base); + PcdSet32 (PcdFlashNvStorageFtwSpareSize, (UINT32) FlashHobData.SubAreaData.Length); + } + switch (FlashHobData.AreaType) { case EFI_FLASH_AREA_RECOVERY_BIOS: case EFI_FLASH_AREA_MAIN_BIOS: @@ -202,12 +221,6 @@ Returns: &gEfiFirmwareVolumeBlockProtocolGuid, sizeof (EFI_GUID) ); - - // - // We also update a PCD entry so that any driver that depend on - // PCD entry PcdFlashNvStorageVariableBase will get the information. - // - PcdSet32 (PcdFlashNvStorageVariableBase, (UINT32) FlashHobData.SubAreaData.Base); break; default: diff --git a/EdkNt32Pkg/Pei/FlashMap/FlashMap.msa b/EdkNt32Pkg/Pei/FlashMap/FlashMap.msa index 2dba783f02..1a098cf057 100644 --- a/EdkNt32Pkg/Pei/FlashMap/FlashMap.msa +++ b/EdkNt32Pkg/Pei/FlashMap/FlashMap.msa @@ -1,4 +1,4 @@ - + normally a FIXED_AT_BUILD type as system memory map is fixed to BIOS. + + PcdFlashNvStorageFtwSpareBase + gEfiGenericPlatformTokenSpaceGuid + To get base address of the FTW spare block section in NV firmware volume. + + + PcdFlashNvStorageFtwSpareSize + gEfiGenericPlatformTokenSpaceGuid + To get size of the FTW spare block section in NV firmware volume. + + + PcdFlashNvStorageFtwWorkingBase + gEfiGenericPlatformTokenSpaceGuid + To get base address of the FTW working block section in NV firmware volume. + + + PcdFlashNvStorageFtwWorkingSize + gEfiGenericPlatformTokenSpaceGuid + To get size of the FTW working block section in NV firmware volume. +