Reviewed-by: Jian J Wang <[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