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/ShadowMicrocodePei.c | 4 ++++ Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf | 3 +++ Silicon/Intel/IntelSiliconPkg/IntelSiliconPkg.dec | 7 +++++++ 3 files changed, 14 insertions(+) diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c index 8d6574f66794..5c7ee6910c8e 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.c +++ b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.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/ShadowMicrocodePei.inf b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf index 019400ab31da..581780add891 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.inf +++ b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocodePei.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|0x00000006 + [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 (#64056): https://edk2.groups.io/g/devel/message/64056 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] -=-=-=-=-=-=-=-=-=-=-=-