Thank for
@Ni, Ray quickly review.
If don't have any concern, May I get your help to add the push label on below PR.
https://github.com/tianocore/edk2/pull/2994
Thanks,
Gua Guo
-----Original Message-----
From: Ni, Ray <ray.ni@intel.com>
Sent: Tuesday, June 21, 2022 10:47 AM
To: Guo, Gua <gua.guo@intel.com>; devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
Subject: RE: [PATCH] UefiPayloadPkg: UniversalPayloadBuild.py to support --pcd feature
Reviewed-by: Ray Ni <ray.ni@intel.com>
> -----Original Message-----
> From: Guo, Gua <gua.guo@intel.com>
> Sent: Monday, June 20, 2022 9:56 AM
> To: devel@edk2.groups.io
> Cc: Guo, Gua <gua.guo@intel.com>; Dong, Guo <guo.dong@intel.com>;
Ni,
> Ray <ray.ni@intel.com>
> Subject: [PATCH] UefiPayloadPkg: UniversalPayloadBuild.py to support
> --pcd feature
>
> From: Gua Guo <gua.guo@intel.com>
>
> REF:
https://bugzilla.tianocore.org/show_bug.cgi?id=3955
>
> Currently, UPL freezed all PCD and only known UPL hob can hook DXE
> Drivers behavior, add optional feature on UniversalPayloadBuild.py to
> have another way to hook PCD value.
>
> Cc: Guo Dong <guo.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Signed-off-by: Gua Guo <gua.guo@intel.com>
> ---
> UefiPayloadPkg/UniversalPayloadBuild.py | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/UefiPayloadPkg/UniversalPayloadBuild.py
> b/UefiPayloadPkg/UniversalPayloadBuild.py
> index 089d631b51..c71526e0a6 100644
> --- a/UefiPayloadPkg/UniversalPayloadBuild.py
> +++ b/UefiPayloadPkg/UniversalPayloadBuild.py
> @@ -82,6 +82,11 @@ def BuildUniversalPayload(Args, MacroList):
> print("- Failed - Please check if LLVM is installed or if
> CLANG_BIN is set
> correctly")
>
> sys.exit(1)
>
>
>
> + Pcds = ""
>
> + if (Args.pcd != None):
>
> + for PcdItem in Args.pcd:
>
> + Pcds += " --pcd {}".format (PcdItem)
>
> +
>
> Defines = ""
>
> for key in MacroList:
>
> Defines +=" -D {0}={1}".format(key, MacroList[key])
>
> @@ -90,12 +95,14 @@ def BuildUniversalPayload(Args, MacroList):
> # Building DXE core and DXE drivers as DXEFV.
>
> #
>
> BuildPayload = f"build -p {DscPath} -b {BuildTarget} -a X64 -t
> {ToolChain} -y {PayloadReportPath} {Quiet}"
>
> + BuildPayload += Pcds
>
> BuildPayload += Defines
>
> RunCommand(BuildPayload)
>
> #
>
> # Building Universal Payload entry.
>
> #
>
> BuildModule = f"build -p {DscPath} -b {BuildTarget} -a
> {BuildArch} -m {EntryModuleInf} -t {ElfToolChain} -y {ModuleReportPath} {Quiet}"
>
> + BuildModule += Pcds
>
> BuildModule += Defines
>
> RunCommand(BuildModule)
>
>
>
> @@ -128,6 +135,7 @@ def main():
> parser.add_argument("-D", "--Macro", action="append",
> default=["UNIVERSAL_PAYLOAD=TRUE"])
>
> parser.add_argument('-i', '--ImageId', type=str, help='Specify
> payload ID
> (16 bytes maximal).', default ='UEFI')
>
> parser.add_argument('-q', '--Quiet', action='store_true',
> help='Disable all build messages except FATAL ERRORS.')
>
> + parser.add_argument("-p", "--pcd", action="append")
>
> MacroList = {}
>
> args = parser.parse_args()
>
> if args.Macro is not None:
>
> --
> 2.31.1.windows.1