diff options
author | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-12-07 06:02:54 +0000 |
---|---|---|
committer | xli24 <xli24@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-12-07 06:02:54 +0000 |
commit | 02918ed0ab12123f688fe23557180d4494efbbcc (patch) | |
tree | 7b4a751e1724a600b82d4f234ed2e453ea78a717 /EdkNt32Pkg | |
parent | 30f80dd8dedf2c333be4616442daf5d1b412e23e (diff) | |
download | edk2-platforms-02918ed0ab12123f688fe23557180d4494efbbcc.tar.xz |
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
Diffstat (limited to 'EdkNt32Pkg')
-rw-r--r-- | EdkNt32Pkg/Pei/FlashMap/FlashMap.c | 26 |
1 files changed, 18 insertions, 8 deletions
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);
}
|