Reviewed-by: Liming Gao <[email protected]>

>-----Original Message-----
>From: Zeng, Star
>Sent: Friday, October 12, 2018 6:23 PM
>To: [email protected]
>Cc: Zeng, Star <[email protected]>; Gao, Liming <[email protected]>;
>Yao, Jiewen <[email protected]>; Wang, Jian J <[email protected]>
>Subject: [PATCH] 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 <[email protected]>
>Cc: Jiewen Yao <[email protected]>
>Cc: Jian J Wang <[email protected]>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Star Zeng <[email protected]>
>---
> MdeModulePkg/Universal/PCD/Dxe/Pcd.c   | 5 +++++
> MdeModulePkg/Universal/PCD/Dxe/Pcd.inf | 4 +++-
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
>diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
>b/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
>index bc308af1c5d8..f977c7f18e19 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 066b86aaa5f3..1f41a316bd89 100644
>--- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
>+++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
>@@ -331,6 +331,7 @@ [LibraryClasses]
> [Guids]
>   gPcdDataBaseHobGuid                           ## SOMETIMES_CONSUMES  ## HOB
>   gPcdDataBaseSignatureGuid                     ## CONSUMES  ## GUID  # PCD
>database signature GUID.
>+  gEfiMdeModulePkgTokenSpaceGuid                ## SOMETIMES_CONSUMES
>## GUID
>
> [Protocols]
>   gPcdProtocolGuid                              ## PRODUCES
>@@ -342,7 +343,8 @@ [Protocols]
>   gEdkiiVariableLockProtocolGuid
>
> [Pcd]
>-  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress  ##
>SOMETIMES_CONSUMES
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress      ##
>SOMETIMES_CONSUMES
>+  gEfiMdeModulePkgTokenSpaceGuid.PcdSetNvStoreDefaultId ##
>SOMETIMES_CONSUMES
>
> [Depex]
>   TRUE
>--
>2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to