summaryrefslogtreecommitdiff
path: root/MdeModulePkg/MdeModulePkg.dec
diff options
context:
space:
mode:
authoreric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>2009-04-07 06:42:12 +0000
committereric_tian <eric_tian@6f19259b-4bc3-4df7-8a09-765794883524>2009-04-07 06:42:12 +0000
commit2fcdca1d73deaaae32ba75223b102194e9382a82 (patch)
tree05a2e0ef9b1d54e8a7d59eb90c62b379833f476e /MdeModulePkg/MdeModulePkg.dec
parent8a67d804b3b660b233ba58e24fee81c76786001b (diff)
downloadedk2-2fcdca1d73deaaae32ba75223b102194e9382a82.zip
edk2-2fcdca1d73deaaae32ba75223b102194e9382a82.tar.gz
edk2-2fcdca1d73deaaae32ba75223b102194e9382a82.tar.bz2
1. The original code has a bug on calculate the size of SCRATCH_SIZE. It should be maximum value between PcdMaxVariableSize and PcdMaxHardwareErrorVariableSize.
2. Boot time variable reclaim issue is caused by incorrect flash layout. Platform integrator should ensure that the size of variable region must less than FTW spare space size. 3. Per UEFI Specification, variables of attribute HARDWARE_ERROR_RECORD are guaranteed to have its own storage space size.original implementation doesn’t meet this requirement git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8029 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/MdeModulePkg.dec')
-rw-r--r--MdeModulePkg/MdeModulePkg.dec27
1 files changed, 19 insertions, 8 deletions
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 366a4be..a5e348f 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -268,21 +268,32 @@
## Maximum PPI count is supported by PeiCore's PPI database.
gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPpiSupported|64|UINT32|0x00010033
- ## Size of the NV variable range.
+ ## Size of the NV variable range. Note that this value should less than or equal to PcdFlashNvStorageFtwSpareSize
+ # The root cause is that variable driver will use FTW protocol to reclaim variable region.
+ # If the length of variable region is larger than FTW spare size, it means the whole variable region can not
+ # be reflushed through the manner of fault tolerant write.
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x0|UINT32|0x30000002
- ## Maximum allowable size of a common type variable, that is, non-hardware error type variable.
+ ## The maximum size of single common variable, that is non-HwErr type varible.
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x400|UINT32|0x30000003
- ## Maximum allowable size of a single hardware error record variable.
+ ## The maximum size of single hardware error record variable.
+ # In IA32/X64 platforms, this value should be larger than 1KB.
+ # In IA64 platforms, this value should be larger than 128KB.
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000|UINT32|0x30000004
- ## Size of allocated memory for volatile variable store. Variables are stored in such region and
- # total length of all variables should not larger than this value.
- ##
+ ## 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.
+ # this value is used to guarantee the space of HwErr type variable and not populated by common variable.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHwErrStorageSize|0x8000|UINT32|0x30000006
+
+ ## The size of volatile buffer. This buffer is used to store VOLATILE attribute variable.
gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000|UINT32|0x30000005
-
- ## Size of the FTW spare block range.
+
+ ## Size of the FTW spare block range. Note that this value should larger than PcdFlashNvStorageVariableSize
+ # The root cause is that variable driver will use FTW protocol to reclaim variable region.
+ # If the length of variable region is larger than FTW spare size, it means the whole variable region can not
+ # be reflushed through the manner of fault tolerant write.
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x0|UINT32|0x30000014
## Size of the FTW working block range.