add assertion to ensure HwErr type variable range is less than or equal to VariableStore range.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9199 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
eric_tian 2009-08-26 02:59:28 +00:00
parent e77d8dd3ce
commit 48cd992ac7
3 changed files with 20 additions and 3 deletions

View File

@ -272,10 +272,11 @@
# In IA64 platforms, this value should be larger than 128KB.
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004
## The size of reserved HwErr variable space. This space is located at NV variable range.
# HwErr type variable is stored with common non-volatile variables in NV region.
## The size of reserved HwErr variable space. Note that this value must be less than or equal to PcdFlashNvStorageVariableSize
# In EdkII implementation, HwErr type variable is stored with common non-volatile variables in the same NV region.
# so the platform integrator should ensure this value is less than or equal to PcdFlashNvStorageVariableSize.
# this value is used to guarantee the space of HwErr type variable and not populated by common variable.
gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x8000|UINT32|0x30000006
gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x0000|UINT32|0x30000006
## The size of volatile buffer. This buffer is used to store VOLATILE attribute variable.
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005

View File

@ -1313,6 +1313,14 @@ InitializeVariableStore (
{
VARIABLE_STORE_HEADER *VariableStore;
//
// Note that in EdkII variable driver implementation, Hardware Error Record type variable
// is stored with common variable in the same NV region. So the platform integrator should
// ensure that the value of PcdHwErrStorageSize is less than or equal to the value of
// PcdFlashNvStorageVariableSize.
//
ASSERT (FixedPcdGet32(PcdHwErrStorageSize) <= FixedPcdGet32(PcdFlashNvStorageVariableSize));
//
// Allocate memory for volatile variable store
//

View File

@ -2246,6 +2246,14 @@ VariableCommonInitialize (
EfiInitializeLock(&mVariableModuleGlobal->VariableGlobal.VariableServicesLock, TPL_NOTIFY);
//
// Note that in EdkII variable driver implementation, Hardware Error Record type variable
// is stored with common variable in the same NV region. So the platform integrator should
// ensure that the value of PcdHwErrStorageSize is less than or equal to the value of
// PcdFlashNvStorageVariableSize.
//
ASSERT (FixedPcdGet32(PcdHwErrStorageSize) <= FixedPcdGet32(PcdFlashNvStorageVariableSize));
//
// Allocate memory for volatile variable store, note that there is a scratch space to store scratch data.
//