]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg PcdDxe: ASSERT PcdSetNvStoreDefaultId set
authorStar Zeng <star.zeng@intel.com>
Fri, 12 Oct 2018 10:01:40 +0000 (18:01 +0800)
committerStar Zeng <star.zeng@intel.com>
Mon, 15 Oct 2018 06:11:31 +0000 (14:11 +0800)
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>
MdeModulePkg/Universal/PCD/Dxe/Pcd.c
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf

index bc308af1c5d8f263e7704f76d9b7335a8c52e3a5..f977c7f18e194f20d06ab3fd972cd159137c171f 100644 (file)
@@ -890,6 +890,11 @@ DxePcdSet16Ex (
   IN UINT16            Value\r
   )\r
 {\r
+  //\r
+  // PcdSetNvStoreDefaultId should be set in PEI phase to take effect.\r
+  //\r
+  ASSERT (!(CompareGuid (Guid, &gEfiMdeModulePkgTokenSpaceGuid) &&\r
+            (ExTokenNumber == PcdToken(PcdSetNvStoreDefaultId))));\r
   return  ExSetValueWorker (ExTokenNumber, Guid, &Value, sizeof (Value));\r
 }\r
 \r
index 066b86aaa5f305773349a87d79455d1fa73d7a87..1f41a316bd89f14dd14bb4e99c5849cb54ece1df 100644 (file)
 [Guids]\r
   gPcdDataBaseHobGuid                           ## SOMETIMES_CONSUMES  ## HOB\r
   gPcdDataBaseSignatureGuid                     ## CONSUMES  ## GUID  # PCD database signature GUID.\r
+  gEfiMdeModulePkgTokenSpaceGuid                ## SOMETIMES_CONSUMES  ## GUID\r
 \r
 [Protocols]\r
   gPcdProtocolGuid                              ## PRODUCES\r
   gEdkiiVariableLockProtocolGuid\r
 \r
 [Pcd]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress  ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress      ## SOMETIMES_CONSUMES\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetNvStoreDefaultId ## SOMETIMES_CONSUMES\r
 \r
 [Depex]\r
   TRUE\r