summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/PCD
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2018-10-12 18:01:40 +0800
committerStar Zeng <star.zeng@intel.com>2018-10-15 14:11:31 +0800
commit425084cd45860df8959ea1f890ca0e855d2a6220 (patch)
tree6fb89f658727c86614005e8be8690a686a505ab1 /MdeModulePkg/Universal/PCD
parent04aa423c8d08e93e8369fbe7793c7df9b3327c8c (diff)
downloadedk2-425084cd45860df8959ea1f890ca0e855d2a6220.tar.gz
edk2-425084cd45860df8959ea1f890ca0e855d2a6220.tar.bz2
edk2-425084cd45860df8959ea1f890ca0e855d2a6220.zip
MdeModulePkg PcdDxe: ASSERT PcdSetNvStoreDefaultId set
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1245 In current implementation and according to the description in MdeModulePkg.dec, PcdSetNvStoreDefaultId should be set in PEI phase to take effect. This patch ASSERTs PcdSetNvStoreDefaultId set in PcdDxe to alert the invalid operation. Cc: Liming Gao <liming.gao@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Diffstat (limited to 'MdeModulePkg/Universal/PCD')
-rw-r--r--MdeModulePkg/Universal/PCD/Dxe/Pcd.c5
-rw-r--r--MdeModulePkg/Universal/PCD/Dxe/Pcd.inf4
2 files changed, 8 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.c b/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
index bc308af1c5..f977c7f18e 100644
--- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
+++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
@@ -890,6 +890,11 @@ DxePcdSet16Ex (
IN UINT16 Value
)
{
+ //
+ // PcdSetNvStoreDefaultId should be set in PEI phase to take effect.
+ //
+ ASSERT (!(CompareGuid (Guid, &gEfiMdeModulePkgTokenSpaceGuid) &&
+ (ExTokenNumber == PcdToken(PcdSetNvStoreDefaultId))));
return ExSetValueWorker (ExTokenNumber, Guid, &Value, sizeof (Value));
}
diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
index 066b86aaa5..1f41a316bd 100644
--- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
@@ -331,6 +331,7 @@
[Guids]
gPcdDataBaseHobGuid ## SOMETIMES_CONSUMES ## HOB
gPcdDataBaseSignatureGuid ## CONSUMES ## GUID # PCD database signature GUID.
+ gEfiMdeModulePkgTokenSpaceGuid ## SOMETIMES_CONSUMES ## GUID
[Protocols]
gPcdProtocolGuid ## PRODUCES
@@ -342,7 +343,8 @@
gEdkiiVariableLockProtocolGuid
[Pcd]
- gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress ## SOMETIMES_CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetNvStoreDefaultId ## SOMETIMES_CONSUMES
[Depex]
TRUE