Ming, With this change, are the same PCDs listed as both a Feature Flag PCD and a non-Feature Flag PCD?
That should not be allowed, and if that passes the build, then the build tools should flag that as an error condition. Mike > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On > Behalf Of Wang, Jian J > Sent: Wednesday, June 17, 2020 7:43 AM > To: Tan, Ming <ming....@intel.com>; devel@edk2.groups.io > Cc: Wu, Hao A <hao.a...@intel.com> > Subject: Re: [edk2-devel] [PATCH v5 1/1] > MdeModulePkg.dec: Change PCDs for status code. > > Reviewed-by: Jian J Wang <jian.j.w...@intel.com> > > Regards, > Jian > > > -----Original Message----- > > From: Tan, Ming <ming....@intel.com> > > Sent: Wednesday, June 17, 2020 3:36 PM > > To: devel@edk2.groups.io > > Cc: Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A > <hao.a...@intel.com> > > Subject: [PATCH v5 1/1] MdeModulePkg.dec: Change PCDs > for status code. > > > > REF: > https://bugzilla.tianocore.org/show_bug.cgi?id=2786 > > > > In order to support enable/disable report status code > through memory > > or serial dynamic, change the following PCDs from > [PcdsFeatureFlag] to > > [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, > PcdsDynamicEx]: > > PcdStatusCodeUseSerial > > PcdStatusCodeUseMemory > > The original plaforms can use PcdsFixedAtBuild in .dsc > files to save size. > > Currently do not remove the old pcd type to keep > compatible. > > > > Cc: Jian J Wang <jian.j.w...@intel.com> > > Cc: Hao A Wu <hao.a...@intel.com> > > Signed-off-by: Ming Tan <ming....@intel.com> > > --- > > V5: Do not remove th old pcd type to keep compatible, > and change to > > standalone patch. > > V4: No change for this 1/4 patch, just modify the 2- > 4/4 patchs. > > V3: Split one patch to several patchs, each Pkg has > one patch. > > V2: Change the new type from [PcdsDynamic] to > [PcdsFixedAtBuild, > > PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] > > And set to PcdsFixedAtBuild in the original > platform .dsc files. > > > > MdeModulePkg/MdeModulePkg.dec | 13 > +++++++++++++ > > .../StatusCodeHandler/Pei/StatusCodeHandlerPei.c | 6 > +++--- > > .../Pei/StatusCodeHandlerPei.inf | 6 > ++---- > > .../RuntimeDxe/StatusCodeHandlerRuntimeDxe.c | 16 > ++++++++-------- > > .../RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf | 6 > ++---- > > .../StatusCodeHandler/Smm/StatusCodeHandlerSmm.c | 10 > +++++----- > > .../Smm/StatusCodeHandlerSmm.inf | 6 > ++---- > > 7 files changed, 35 insertions(+), 28 deletions(-) > > > > diff --git a/MdeModulePkg/MdeModulePkg.dec > > b/MdeModulePkg/MdeModulePkg.dec > > index 4f44af694862..bd369d1f230e 100644 > > --- a/MdeModulePkg/MdeModulePkg.dec > > +++ b/MdeModulePkg/MdeModulePkg.dec > > @@ -2001,6 +2001,19 @@ [PcdsFixedAtBuild, > PcdsPatchableInModule, > > PcdsDynamic, PcdsDynamicEx] > > # @Prompt TCG Platform Firmware Profile revision. > > > > > gEfiMdeModulePkgTokenSpaceGuid.PcdTcgPfpMeasurementRevis > ion|0|UINT3 > > 2|0x00010077 > > > > + ## Indicates if StatusCode is reported via Serial > port.<BR><BR> > > + # TRUE - Reports StatusCode via Serial port.<BR> > > + # FALSE - Does not report StatusCode via Serial > port.<BR> > > + # @Prompt Enable StatusCode via Serial port. > > + > > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TR > UE|BOOLEAN| > > 0x00010022 > > + > > + ## Indicates if StatusCode is stored in memory. > > + # The memory is boot time memory in PEI Phase and > is runtime memory in > > DXE Phase.<BR><BR> > > + # TRUE - Stores StatusCode in memory.<BR> > > + # FALSE - Does not store StatusCode in > memory.<BR> > > + # @Prompt Enable StatusCode via memory. > > + > > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FA > LSE|BOOLEA > > N|0x00010023 > > + > > [PcdsPatchableInModule] > > ## Specify memory size with page number for PEI > code when > > # Loading Module at Fixed Address feature is > enabled. > > diff --git > > > a/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.c > > > b/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.c > > index 1b07f92f3ce8..9b2ea4ee84d9 100644 > > --- > a/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.c > > +++ > > > b/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.c > > @@ -2,7 +2,7 @@ > > Report Status Code Handler PEIM which produces > general handlers and hook > > them > > onto the PEI status code router. > > > > - Copyright (c) 2009 - 2018, Intel Corporation. All > rights reserved.<BR> > > + Copyright (c) 2009 - 2020, Intel Corporation. All > rights reserved.<BR> > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > **/ > > @@ -45,13 +45,13 @@ StatusCodeHandlerPeiEntry ( > > // If enable UseSerial, then initialize serial > port. > > // if enable UseMemory, then initialize memory > status code worker. > > // > > - if (FeaturePcdGet (PcdStatusCodeUseSerial)) { > > + if (PcdGetBool (PcdStatusCodeUseSerial)) { > > Status = SerialPortInitialize(); > > ASSERT_EFI_ERROR (Status); > > Status = RscHandlerPpi->Register > (SerialStatusCodeReportWorker); > > ASSERT_EFI_ERROR (Status); > > } > > - if (FeaturePcdGet (PcdStatusCodeUseMemory)) { > > + if (PcdGetBool (PcdStatusCodeUseMemory)) { > > Status = MemoryStatusCodeInitializeWorker (); > > ASSERT_EFI_ERROR (Status); > > Status = RscHandlerPpi->Register > (MemoryStatusCodeReportWorker); > > diff --git > > > a/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.inf > > > b/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.inf > > index 8aef9af34a05..64380ddfaccc 100644 > > --- > > > a/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.inf > > +++ > > > b/MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCod > eHandlerPei.inf > > @@ -53,11 +53,9 @@ [Guids] > > [Ppis] > > gEfiPeiRscHandlerPpiGuid ## > CONSUMES > > > > -[FeaturePcd] > > - > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory ## > > CONSUMES > > - > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial ## > CONSUMES > > - > > [Pcd] > > + > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial ## > CONSUMES > > + > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory ## > > CONSUMES > > > > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1 > |gEfiMdeMod > > ulePkgTokenSpaceGuid.PcdStatusCodeUseMemory ## > > SOMETIMES_CONSUMES > > > > [Depex] > > diff --git > > > a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.c > > > b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.c > > index 79cc48fa55a4..a8c0fe5b7149 100644 > > --- > > > a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.c > > +++ > > > b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.c > > @@ -2,7 +2,7 @@ > > Status Code Handler Driver which produces general > handlers and hook them > > onto the DXE status code router. > > > > - Copyright (c) 2006 - 2019, Intel Corporation. All > rights reserved.<BR> > > + Copyright (c) 2006 - 2020, Intel Corporation. All > rights reserved.<BR> > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > **/ > > @@ -29,7 +29,7 @@ UnregisterBootTimeHandlers ( > > IN VOID *Context > > ) > > { > > - if (FeaturePcdGet (PcdStatusCodeUseSerial)) { > > + if (PcdGetBool (PcdStatusCodeUseSerial)) { > > mRscHandlerProtocol->Unregister > (SerialStatusCodeReportWorker); > > } > > } > > @@ -80,14 +80,14 @@ InitializationDispatcherWorker ( > > // If enable UseSerial, then initialize serial > port. > > // if enable UseRuntimeMemory, then initialize > runtime memory status code > > worker. > > // > > - if (FeaturePcdGet (PcdStatusCodeUseSerial)) { > > + if (PcdGetBool (PcdStatusCodeUseSerial)) { > > // > > // Call Serial Port Lib API to initialize serial > port. > > // > > Status = SerialPortInitialize (); > > ASSERT_EFI_ERROR (Status); > > } > > - if (FeaturePcdGet (PcdStatusCodeUseMemory)) { > > + if (PcdGetBool (PcdStatusCodeUseMemory)) { > > Status = RtMemoryStatusCodeInitializeWorker (); > > ASSERT_EFI_ERROR (Status); > > } > > @@ -115,7 +115,7 @@ InitializationDispatcherWorker ( > > // > > // Dispatch records to devices based on > feature flag. > > // > > - if (FeaturePcdGet (PcdStatusCodeUseSerial)) { > > + if (PcdGetBool (PcdStatusCodeUseSerial)) { > > SerialStatusCodeReportWorker ( > > Record[Index].CodeType, > > Record[Index].Value, > > @@ -124,7 +124,7 @@ InitializationDispatcherWorker ( > > NULL > > ); > > } > > - if (FeaturePcdGet (PcdStatusCodeUseMemory)) { > > + if (PcdGetBool (PcdStatusCodeUseMemory)) { > > RtMemoryStatusCodeReportWorker ( > > Record[Index].CodeType, > > Record[Index].Value, > > @@ -171,10 +171,10 @@ StatusCodeHandlerRuntimeDxeEntry > ( > > // > > InitializationDispatcherWorker (); > > > > - if (FeaturePcdGet (PcdStatusCodeUseSerial)) { > > + if (PcdGetBool (PcdStatusCodeUseSerial)) { > > mRscHandlerProtocol->Register > (SerialStatusCodeReportWorker, > > TPL_HIGH_LEVEL); > > } > > - if (FeaturePcdGet (PcdStatusCodeUseMemory)) { > > + if (PcdGetBool (PcdStatusCodeUseMemory)) { > > mRscHandlerProtocol->Register > (RtMemoryStatusCodeReportWorker, > > TPL_HIGH_LEVEL); > > } > > > > diff --git > > > a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.inf > > > b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.inf > > index d74c2a55dcaf..faadfd9578fe 100644 > > --- > > > a/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.inf > > +++ > > > b/MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/St > atusCodeHandl > > erRuntimeDxe.inf > > @@ -58,12 +58,10 @@ [Guids] > > [Protocols] > > gEfiRscHandlerProtocolGuid ## > CONSUMES > > > > -[FeaturePcd] > > +[Pcd] > > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeReplayIn ## > CONSUMES > > - > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory ## > > CONSUMES > > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial ## > CONSUMES > > - > > -[Pcd] > > + > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory ## > > CONSUMES > > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize > |128| > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory > ## > > SOMETIMES_CONSUMES > > > > [Depex] > > diff --git > > > a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm. > > c > > > b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm. > > c > > index f54991ed3f67..20271571ded4 100644 > > --- > > > a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm. > > c > > +++ > > > b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm. > > c > > @@ -2,7 +2,7 @@ > > Status Code Handler Driver which produces general > handlers and hook them > > onto the SMM status code router. > > > > - Copyright (c) 2009 - 2018, Intel Corporation. All > rights reserved.<BR> > > + Copyright (c) 2009 - 2020, Intel Corporation. All > rights reserved.<BR> > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > **/ > > @@ -28,14 +28,14 @@ InitializationDispatcherWorker ( > > // If enable UseSerial, then initialize serial > port. > > // if enable UseRuntimeMemory, then initialize > runtime memory status code > > worker. > > // > > - if (FeaturePcdGet (PcdStatusCodeUseSerial)) { > > + if (PcdGetBool (PcdStatusCodeUseSerial)) { > > // > > // Call Serial Port Lib API to initialize serial > port. > > // > > Status = SerialPortInitialize (); > > ASSERT_EFI_ERROR (Status); > > } > > - if (FeaturePcdGet (PcdStatusCodeUseMemory)) { > > + if (PcdGetBool (PcdStatusCodeUseMemory)) { > > Status = MemoryStatusCodeInitializeWorker (); > > ASSERT_EFI_ERROR (Status); > > } > > @@ -73,10 +73,10 @@ StatusCodeHandlerSmmEntry ( > > // > > InitializationDispatcherWorker (); > > > > - if (FeaturePcdGet (PcdStatusCodeUseSerial)) { > > + if (PcdGetBool (PcdStatusCodeUseSerial)) { > > mRscHandlerProtocol->Register > (SerialStatusCodeReportWorker); > > } > > - if (FeaturePcdGet (PcdStatusCodeUseMemory)) { > > + if (PcdGetBool (PcdStatusCodeUseMemory)) { > > mRscHandlerProtocol->Register > (MemoryStatusCodeReportWorker); > > } > > > > diff --git > > > a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm.i > > nf > > > b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm.i > > nf > > index 47d0545f9591..4e24d87e55d1 100644 > > --- > > > a/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm.i > > nf > > +++ > > > b/MdeModulePkg/Universal/StatusCodeHandler/Smm/StatusCod > eHandlerSmm.i > > nf > > @@ -53,11 +53,9 @@ [Guids] > > [Protocols] > > gEfiSmmRscHandlerProtocolGuid ## > CONSUMES > > > > -[FeaturePcd] > > - > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory ## > > CONSUMES > > - > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial ## > CONSUMES > > - > > [Pcd] > > + > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial ## > CONSUMES > > + > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory ## > > CONSUMES > > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize > |128| > > gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory > ## > > SOMETIMES_CONSUMES > > > > [Depex] > > -- > > 2.24.0.windows.2 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#61430): https://edk2.groups.io/g/devel/message/61430 Mute This Topic: https://groups.io/mt/74933183/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-