From 02918ed0ab12123f688fe23557180d4494efbbcc Mon Sep 17 00:00:00 2001 From: xli24 Date: Thu, 7 Dec 2006 06:02:54 +0000 Subject: Let specify GUID value for GUID-defined FV region, and remove potential dead loop in Nt32 package. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2065 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkNt32Pkg/Pei/FlashMap/FlashMap.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'EdkNt32Pkg/Pei') diff --git a/EdkNt32Pkg/Pei/FlashMap/FlashMap.c b/EdkNt32Pkg/Pei/FlashMap/FlashMap.c index af8e13c9ff..ae3ceb9dd7 100644 --- a/EdkNt32Pkg/Pei/FlashMap/FlashMap.c +++ b/EdkNt32Pkg/Pei/FlashMap/FlashMap.c @@ -60,7 +60,9 @@ static EFI_FLASH_AREA_DATA mFlashAreaData[] = { EFI_VARIABLE_STORE_OFFSET, EFI_VARIABLE_STORE_LENGTH, EFI_FLASH_AREA_SUBFV | EFI_FLASH_AREA_MEMMAPPED_FV, - EFI_FLASH_AREA_EFI_VARIABLES + EFI_FLASH_AREA_EFI_VARIABLES, + 0, 0, 0, + { 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // // FTW spare (backup) block @@ -69,7 +71,9 @@ static EFI_FLASH_AREA_DATA mFlashAreaData[] = { EFI_WINNT_FTW_SPARE_BLOCK_OFFSET, EFI_WINNT_FTW_SPARE_BLOCK_LENGTH, EFI_FLASH_AREA_SUBFV | EFI_FLASH_AREA_MEMMAPPED_FV, - EFI_FLASH_AREA_FTW_BACKUP + EFI_FLASH_AREA_FTW_BACKUP, + 0, 0, 0, + { 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // // FTW private working (state) area @@ -78,7 +82,9 @@ static EFI_FLASH_AREA_DATA mFlashAreaData[] = { EFI_FTW_WORKING_OFFSET, EFI_FTW_WORKING_LENGTH, EFI_FLASH_AREA_SUBFV | EFI_FLASH_AREA_MEMMAPPED_FV, - EFI_FLASH_AREA_FTW_STATE + EFI_FLASH_AREA_FTW_STATE, + 0, 0, 0, + { 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // // Recovery FV @@ -87,7 +93,9 @@ static EFI_FLASH_AREA_DATA mFlashAreaData[] = { EFI_WINNT_FIRMWARE_OFFSET, EFI_WINNT_FIRMWARE_LENGTH, EFI_FLASH_AREA_FV | EFI_FLASH_AREA_MEMMAPPED_FV, - EFI_FLASH_AREA_RECOVERY_BIOS + EFI_FLASH_AREA_RECOVERY_BIOS, + 0, 0, 0, + { 0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // // System Non-Volatile Storage FV @@ -96,7 +104,9 @@ static EFI_FLASH_AREA_DATA mFlashAreaData[] = { EFI_WINNT_RUNTIME_UPDATABLE_OFFSET, EFI_WINNT_RUNTIME_UPDATABLE_LENGTH + EFI_WINNT_FTW_SPARE_BLOCK_LENGTH, EFI_FLASH_AREA_FV | EFI_FLASH_AREA_MEMMAPPED_FV, - EFI_FLASH_AREA_GUID_DEFINED + EFI_FLASH_AREA_GUID_DEFINED, + 0, 0, 0, + EFI_SYSTEM_NV_DATA_HOB_GUID }, }; @@ -213,7 +223,7 @@ Returns: case EFI_FLASH_AREA_GUID_DEFINED: (*PeiServices)->CopyMem ( &FlashHobData.AreaTypeGuid, - &gEfiSystemNvDataHobGuid, + &mFlashAreaData[Index].AreaTypeGuid, sizeof (EFI_GUID) ); (*PeiServices)->CopyMem ( @@ -275,7 +285,7 @@ GetAreaInfo ( if (AreaType == FlashMapEntry->AreaType) { if (AreaType == EFI_FLASH_AREA_GUID_DEFINED) { if (!CompareGuid (AreaTypeGuid, &FlashMapEntry->AreaTypeGuid)) { - continue; + goto NextHob; } } @@ -284,7 +294,7 @@ GetAreaInfo ( return EFI_SUCCESS; } } - + NextHob: Hob.Raw = GET_NEXT_HOB (Hob); } -- cgit v1.2.3