Aaron, I understand the requirement now. Can we avoid adding new PCD but re-interpret the ShadowMicrocode() parameter to achieve the same result?
For example, we can say when CpuIdCount is 0 and MicrocodeCpuId == NULL, it means all microcode need to be shadowed. The benefit is: platform can use the single interface to control the behavior. Thanks, Ray > -----Original Message----- > From: Li, Aaron <aaron...@intel.com> > Sent: Thursday, September 24, 2020 9:38 AM > To: Ni, Ray <ray...@intel.com>; devel@edk2.groups.io > Cc: Chaganty, Rangasai V <rangasai.v.chaga...@intel.com>; Fu, Siyuan > <siyuan...@intel.com> > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for > shadowing all microcode. > > Hi Ray, > > Accroding to > https://edk2.groups.io/g/devel/files/Designs/2020/0214/Support%20the%202nd > %20Microcode%20FV%20Flash%20Region.pdf > The ShadowMicrocodePei provide a FIT based shadow microcode ppi to > MpInitLib. It's needed. > > > Best, > Aaron > > > -----Original Message----- > > From: Ni, Ray <ray...@intel.com> > > Sent: Wednesday, September 23, 2020 2:25 PM > > To: Li, Aaron <aaron...@intel.com>; devel@edk2.groups.io > > Cc: Chaganty, Rangasai V <rangasai.v.chaga...@intel.com>; Fu, Siyuan > > <siyuan...@intel.com> > > Subject: RE: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD > > for shadowing all microcode. > > > > MpInitLib already contains logic to shadow microcode to memory. > > Is this still needed? > > > > > -----Original Message----- > > > From: Li, Aaron <aaron...@intel.com> > > > Sent: Wednesday, August 12, 2020 3:55 PM > > > To: devel@edk2.groups.io > > > Cc: Ni, Ray <ray...@intel.com>; Chaganty, Rangasai V > > > <rangasai.v.chaga...@intel.com>; Fu, Siyuan <siyuan...@intel.com> > > > Subject: [PATCH v1 1/1] IntelSiliconPkg/ShadowMicrocodePei: Add PCD for > > > shadowing all microcode. > > > > > > This patch is to add a PCD PcdShadowAllMicrocode to support shadowing > > > all microcode patch to memory. > > > > > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2891 > > > > > > Signed-off-by: Aaron Li <aaron...@intel.com> > > > Cc: Ray Ni <ray...@intel.com> > > > Cc: Rangasai V Chaganty <rangasai.v.chaga...@intel.com> > > > Cc: Siyuan Fu <siyuan...@intel.com> > > > --- > > > > > > > > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP > > ei.c > > > | 4 ++++ > > > > > > > > Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodeP > > ei.i > > > nf | 3 +++ > > > Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > > > | 7 > +++++++ > > > 3 files changed, 14 insertions(+) > > > > > > diff --git > > > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .c > > > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .c > > > index 8d6574f66794..5c7ee6910c8e 100644 > > > --- > > > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .c > > > +++ > > > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .c > > > @@ -132,6 +132,10 @@ IsMicrocodePatchNeedLoad ( > > > CPU_MICROCODE_EXTENDED_TABLE *ExtendedTable; > > > > > > UINTN Index; > > > > > > > > > > > > + if (FeaturePcdGet (PcdShadowAllMicrocode)) { > > > > > > + return TRUE; > > > > > > + } > > > > > > + > > > > > > // > > > > > > // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode > > > patch > > > header. > > > > > > // > > > > > > diff --git > > > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .inf > > > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .inf > > > index 019400ab31da..581780add891 100644 > > > --- > > > > > a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .inf > > > +++ > > > > > b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocod > > ePei > > > .inf > > > @@ -39,5 +39,8 @@ [Guids] > > > gEdkiiMicrocodeShadowInfoHobGuid > > > > > > gEdkiiMicrocodeStorageTypeFlashGuid > > > > > > > > > > > > +[Pcd] > > > > > > + gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode > > > > > > + > > > > > > [Depex] > > > > > > TRUE > > > > > > diff --git a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > > > b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > > > index e4a7fec3a3ea..3a12fe99fac6 100644 > > > --- a/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > > > +++ b/Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec > > > @@ -76,6 +76,13 @@ [Protocols] > > > # Include/Protocol/PlatformDeviceSecurityPolicy.h > > > > > > gEdkiiDeviceSecurityPolicyProtocolGuid = {0x7ea41a99, 0x5e32, 0x4c97, > > > {0x88, 0xc4, 0xd6, 0xe7, 0x46, 0x84, 0x9, 0xd4}} > > > > > > > > > > > > +[PcdsFeatureFlag] > > > > > > + ## Indicates if all microcode update patches shall be shadowed to > > memory. > > > > > > + # TRUE - All microcode patches will be shadowed.<BR> > > > > > > + # FALSE - Only the microcode for current present processors will be > > > shadowed.<BR> > > > > > > + # @Prompt Shadow all microcode update patches. > > > > > > + > > > > > gIntelSiliconPkgTokenSpaceGuid.PcdShadowAllMicrocode|FALSE|BOOLEAN| > > 0x > > > 00000006 > > > > > > + > > > > > > [PcdsFixedAtBuild, PcdsPatchableInModule] > > > > > > ## Error code for VTd error.<BR><BR> > > > > > > # EDKII_ERROR_CODE_VTD_ERROR = (EFI_IO_BUS_UNSPECIFIED | > > > (EFI_OEM_SPECIFIC | 0x00000000)) = 0x02008000<BR> > > > > > > -- > > > 2.23.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#65560): https://edk2.groups.io/g/devel/message/65560 Mute This Topic: https://groups.io/mt/76143134/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-