From nobody Fri Apr 26 02:22:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+73643+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+73643+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1617343238; cv=none; d=zohomail.com; s=zohoarc; b=Q/R73R6FNKEATgvbq2qqCxnR/76saqQzyY4wq1vthys2rA5tFSFY+J+ISqAwVD46NcI1P6bl1YMqo9Wdh89YzAL5fhs2xHc/NXua5fuQJJrfHEvRHZbxKgVLl/JWtxqaaenPjjolPx3kvjgsfOxqiwZCvgxLOqi5lzS77FaccHU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617343238; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=HHKB0KxrcAR0Zgm8sUgPbBiH8lJU3eFpS3sD1UHlYIo=; b=ERL28W0fOwD6ZtSC55zkaWiViL6eD9JvG9CSH/OF2OG+YdsF2BZpzr5+WbZhEuUfuySAjotrWMlOjX1F7K/42o7uROGzTyOI8k7cXchGCjyjNu6HBMXQULR0rR3k9A2TyYdmL1HyDUvbJc3p+q8AuZ+ME5jr/kEKDCaxyNkCRA4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+73643+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1617343238836607.2103161840038; Thu, 1 Apr 2021 23:00:38 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id oZ3RYY1788612x0VAIhCnMY9; Thu, 01 Apr 2021 23:00:38 -0700 X-Received: from mga17.intel.com (mga17.intel.com []) by mx.groups.io with SMTP id smtpd.web10.12209.1617343235829209758 for ; Thu, 01 Apr 2021 23:00:37 -0700 IronPort-SDR: ej/faOfRrAFGBsxc4Cpbea5Qt0fLJats0R2b212Udl/s5XgtctGgXuEvEdgxtpin7rvM6O9Y7J u+mBMlCaq+Sg== X-IronPort-AV: E=McAfee;i="6000,8403,9941"; a="172428349" X-IronPort-AV: E=Sophos;i="5.81,298,1610438400"; d="scan'208";a="172428349" X-Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2021 23:00:33 -0700 IronPort-SDR: Vp7IiLR8BuWsmRg7f+ammXbz71LnzCGEPRL9M/oMgUPpRoXR1ck3fmojOpAElTZBpSwpCbt3PI /wDntbAGIVqw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,298,1610438400"; d="scan'208";a="413030640" X-Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by fmsmga008.fm.intel.com with ESMTP; 01 Apr 2021 23:00:31 -0700 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Chasel Chiu , Nate DeSimone , Liming Gao , Eric Dong Subject: [edk2-devel] [PATCH 1/3] MinPlatformPkg/CoreCommonLib.dsc: Consume MicrocodeLib Date: Fri, 2 Apr 2021 14:00:19 +0800 Message-Id: <20210402060021.982-2-ray.ni@intel.com> In-Reply-To: <20210402060021.982-1-ray.ni@intel.com> References: <20210402060021.982-1-ray.ni@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com X-Gm-Message-State: HfYcgMA6SoGTLhoqaPsl4mwtx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1617343238; bh=L/UZbcFgeIbQkOLK2rWQedqd0/liu/qWYOwu6Dk0m3A=; h=Cc:Date:From:Reply-To:Subject:To; b=lzOFjrU9UoWU4nB3mk0IirXzXPcaX4v9MfNEO4pyguQZKE5jiKcVYSuGFaKrgZdHi8w X9j5cBtFr3Tp136DBqLxGDdJ0xWOESiIsUlCq+1I4jwOBm+ACuOWCLovm3CeXbzu5MkW4 k6laZF+zfUj6+Zsgf6/MCBSy3OJQ7lv6Z1g= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Signed-off-by: Ray Ni Cc: Chasel Chiu Cc: Nate DeSimone Cc: Liming Gao Cc: Eric Dong Reviewed-by: Chasel Chiu --- Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc b/= Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc index cf2940cf02..61d47109a6 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc @@ -106,6 +106,7 @@ MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib= .inf + MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf =20 # # Platform @@ -165,4 +166,4 @@ =20 SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ib.inf - VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/Var= iablePolicyHelperLib.inf \ No newline at end of file + VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/Var= iablePolicyHelperLib.inf --=20 2.27.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#73643): https://edk2.groups.io/g/devel/message/73643 Mute This Topic: https://groups.io/mt/81796844/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 02:22:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+73644+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+73644+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1617343239; cv=none; d=zohomail.com; s=zohoarc; b=AMZh7d1KX1KYbMz7JADm2o+dD672FQJ8alZWn9i6xMV0PndX3MszUTvKxmq/wX7YLse5xV/Zp+Q4CpKLm01RJrfSyZVHBUgNYWaPLbLIEojrEI73rn14j69SBS8K3gx0fKb99F4EBQth54LNxE8SA1cc4NQtWaa02tu8EuH/BJg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617343239; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=NFj/U1gv3BThihemG1+kaGvV7o30NwLdTMF3XfQIKjM=; b=JxowsjSsTLKVj6Lu1BPvtRghZkMCZCx9OnFTiWElNmvJnKFgRuZElCYOl8nsA0RbiDahtb/FARuZhxqfxvIuUPcjkeODRzC38Hq5RSu/7n/1qKbzVodcF83j9IxT37FS15ihw3asd6hhLTqxaL6lH8QV1gGP+ZjGHNOfUZvMLaY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+73644+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1617343239771610.6079515200028; Thu, 1 Apr 2021 23:00:39 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id GDhgYY1788612xEi3k42pfsD; Thu, 01 Apr 2021 23:00:39 -0700 X-Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web10.12210.1617343237779879795 for ; Thu, 01 Apr 2021 23:00:37 -0700 IronPort-SDR: QgXUacrEVSvv6zTKg3d5prmm+mhOoR/uZm1nftuVzuEo/Fhy3i9Tfb8Jw2P0VEHtZPNsHi7R99 ZWp3TGGfFbbQ== X-IronPort-AV: E=McAfee;i="6000,8403,9941"; a="172428350" X-IronPort-AV: E=Sophos;i="5.81,298,1610438400"; d="scan'208";a="172428350" X-Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2021 23:00:34 -0700 IronPort-SDR: nJoq5089gvB2w2Gz+dOkZpRdKnlZleuOHdEE5fEXoQ/+7X1mGnHrw9FEbfGOAvPIuWVRZDSw3q jZQ+F5pBjkRQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,298,1610438400"; d="scan'208";a="413030651" X-Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by fmsmga008.fm.intel.com with ESMTP; 01 Apr 2021 23:00:33 -0700 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Zailiang Sun , Yi Qian Subject: [edk2-devel] [PATCH 2/3] Vlv2TbltDevicePkg/PlatformPkg[IA32|X64].dsc: Consume MicrocodeLib Date: Fri, 2 Apr 2021 14:00:20 +0800 Message-Id: <20210402060021.982-3-ray.ni@intel.com> In-Reply-To: <20210402060021.982-1-ray.ni@intel.com> References: <20210402060021.982-1-ray.ni@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com X-Gm-Message-State: 0fOHtEJPSHWMXPG4le5QmWMZx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1617343239; bh=tIDmWAT54UuIw26qJBzQn9kxX9gf1vvCwghd1eCYmJI=; h=Cc:Date:From:Reply-To:Subject:To; b=xS/NhDBr7MUb8eVnGARzQ1TvAaI3rP/zEciI3V8RoxBQbYV4VoGd16Q5SE7QwLh0pbU eE39aeMuHk9GZoD88r8w9uQe1J53SmEZGQPJ0NzxK5Jdo+tEvPVBp3Dsl38GZGLe270rN E+ZqrnJBAyoCtFIfSleOpnMvbeEamimJzwA= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Signed-off-by: Ray Ni Cc: Zailiang Sun Cc: Yi Qian Reviewed-by: Zailiang Sun --- Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 + Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 + 2 files changed, 2 insertions(+) diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Platfor= m/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc index bdf69b7e9a..8516da582b 100644 --- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc +++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc @@ -164,6 +164,7 @@ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf + MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf =20 # # ICH diff --git a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Platform= /Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc index 5f26bc02dd..a608233166 100644 --- a/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc +++ b/Platform/Intel/Vlv2TbltDevicePkg/PlatformPkgX64.dsc @@ -166,6 +166,7 @@ CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuE= xceptionHandlerLib.inf MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf VmgExitLib|UefiCpuPkg/Library/VmgExitLibNull/VmgExitLibNull.inf + MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf =20 # # ICH --=20 2.27.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#73644): https://edk2.groups.io/g/devel/message/73644 Mute This Topic: https://groups.io/mt/81796845/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 02:22:44 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+73645+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+73645+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1617343244; cv=none; d=zohomail.com; s=zohoarc; b=XwdckdAFV9UDtvQH/Ub7X6nu/DCiJmp1TU6scIQ1dwlcwEoT5cw/cN9qrXRXHqKaLOPuwsFI4pEfkK+4cOps2VMVKVv/0UqRI5GkU6usdhjiQEJZPZCRPBFYY+Kuwr0XXG8PCd0pLJKqE+yHSpaOKK/JCluvHSplvXjbEDPkTII= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1617343244; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=qnXAQKTtyAJQOAb+JTuhT9lrfTI3N9vGtTvyxNx4/VA=; b=Ardw2R03JNUJ3PtXuzW4IGVm7yBHBx7Ch0l6xomDrA3xqgmEtOobKwZXGOwCpAOfQy6G92wE+iDH8H59qvqX7DnByGo02m9SOZkl6LOR0lD3bMAPnrXabighgKoQlBdXDF8LvNlW9un0q2bzY62CWHLAoj6QaboWr9DhnB040m8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+73645+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 16173432440053.4135201841011167; Thu, 1 Apr 2021 23:00:44 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 6AI9YY1788612xkUWtDv9SAN; Thu, 01 Apr 2021 23:00:43 -0700 X-Received: from mga17.intel.com (mga17.intel.com []) by mx.groups.io with SMTP id smtpd.web10.12209.1617343235829209758 for ; Thu, 01 Apr 2021 23:00:38 -0700 IronPort-SDR: tcBaMiErrlP6RTS5ePa/FIx71djSuKvWWGbr9qWMRQmtLpYWKZO0gK15pWmJhuyjNe77JWSOf7 9GDd5EARqvRw== X-IronPort-AV: E=McAfee;i="6000,8403,9941"; a="172428353" X-IronPort-AV: E=Sophos;i="5.81,298,1610438400"; d="scan'208";a="172428353" X-Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Apr 2021 23:00:36 -0700 IronPort-SDR: Ppp1HbFq8zOtuRdKgwZ4sMcQ5Znf9I2wfYwN4EyK4xj4I+axV5GMTVOsOTUMn3j/qEJZokluNt 8yyVr5gLSw6A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,298,1610438400"; d="scan'208";a="413030662" X-Received: from ray-dev.ccr.corp.intel.com ([10.239.158.87]) by fmsmga008.fm.intel.com with ESMTP; 01 Apr 2021 23:00:34 -0700 From: "Ni, Ray" To: devel@edk2.groups.io Cc: Rangasai V Chaganty , Siyuan Fu Subject: [edk2-devel] [PATCH 3/3] IntelSiliconPkg/ShadowMicrocodePei: Consume MicrocodeLib Date: Fri, 2 Apr 2021 14:00:21 +0800 Message-Id: <20210402060021.982-4-ray.ni@intel.com> In-Reply-To: <20210402060021.982-1-ray.ni@intel.com> References: <20210402060021.982-1-ray.ni@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ray.ni@intel.com X-Gm-Message-State: cX5T0sCL6BmxybyEws4gfd65x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1617343243; bh=hacrE7LuVWqn67BS7BF+dtVng6AQTb0wbT1PM59T6b0=; h=Cc:Date:From:Reply-To:Subject:To; b=QLsHlN4md+Y4PxI1Q/PqZ84mmumFzfKm6vDHuuNvoWQSyYZutKZC0L8a+7QJ+URCfWK MjNcBTZTfnikUmkO5IGIIWTC2PxxpUE9V8ANBHCrsKztXL7e61Nefa5Mt0IzMEF6nUSWX SRI8nGRTSk6EXaceyg6DZcySv14zVBuaN/U= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Signed-off-by: Ray Ni Cc: Rangasai V Chaganty Cc: Siyuan Fu Reviewed-by: Sai Chaganty =20 Reviewed-by: Siyuan Fu --- .../ShadowMicrocode/ShadowMicrocodePei.c | 155 ++---------------- .../ShadowMicrocode/ShadowMicrocodePei.inf | 3 +- 2 files changed, 13 insertions(+), 145 deletions(-) diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMi= crocodePei.c b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/Shadow= MicrocodePei.c index 98a7aed697..4e4b69a0ca 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocode= Pei.c +++ b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocode= Pei.c @@ -1,7 +1,7 @@ /** @file FIT based microcode shadow PEIM. =20 -Copyright (c) 2020, Intel Corporation. All rights reserved.
+Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include #include #include +#include #include #include #include @@ -70,118 +71,6 @@ EFI_PEI_PPI_DESCRIPTOR mPeiShadowMicrocodePpi= List[] =3D { } }; =20 -/** - Determine if a microcode patch matchs the specific processor signature a= nd flag. - - @param[in] CpuIdCount Number of elements in MicrocodeCpuId a= rray. - @param[in] MicrocodeCpuId A pointer to an array of EDKII_PEI_MIC= ROCODE_CPU_ID - structures. - @param[in] ProcessorSignature The processor signature field value - supported by a microcode patch. - @param[in] ProcessorFlags The prcessor flags field value support= ed by - a microcode patch. - - @retval TRUE The specified microcode patch will be loaded. - @retval FALSE The specified microcode patch will not be loaded. -**/ -BOOLEAN -IsProcessorMatchedMicrocodePatch ( - IN UINTN CpuIdCount, - IN EDKII_PEI_MICROCODE_CPU_ID *MicrocodeCpuId, - IN UINT32 ProcessorSignature, - IN UINT32 ProcessorFlags - ) -{ - UINTN Index; - - for (Index =3D 0; Index < CpuIdCount; Index++) { - if ((ProcessorSignature =3D=3D MicrocodeCpuId[Index].ProcessorSignatur= e) && - (ProcessorFlags & (1 << MicrocodeCpuId[Index].PlatformId)) !=3D 0)= { - return TRUE; - } - } - - return FALSE; -} - -/** - Check the 'ProcessorSignature' and 'ProcessorFlags' of the microcode - patch header with the CPUID and PlatformID of the processors within - system to decide if it will be copied into memory. - - @param[in] CpuIdCount Number of elements in MicrocodeCpuId a= rray. - @param[in] MicrocodeCpuId A pointer to an array of EDKII_PEI_MIC= ROCODE_CPU_ID - structures. - @param[in] MicrocodeEntryPoint The pointer to the microcode patch hea= der. - - @retval TRUE The specified microcode patch need to be loaded. - @retval FALSE The specified microcode patch dosen't need to be loaded. -**/ -BOOLEAN -IsMicrocodePatchNeedLoad ( - IN UINTN CpuIdCount, - IN EDKII_PEI_MICROCODE_CPU_ID *MicrocodeCpuId, - CPU_MICROCODE_HEADER *MicrocodeEntryPoint - ) -{ - BOOLEAN NeedLoad; - UINTN DataSize; - UINTN TotalSize; - CPU_MICROCODE_EXTENDED_TABLE_HEADER *ExtendedTableHeader; - UINT32 ExtendedTableCount; - CPU_MICROCODE_EXTENDED_TABLE *ExtendedTable; - UINTN Index; - - if (FeaturePcdGet (PcdShadowAllMicrocode)) { - return TRUE; - } - - // - // Check the 'ProcessorSignature' and 'ProcessorFlags' in microcode patc= h header. - // - NeedLoad =3D IsProcessorMatchedMicrocodePatch ( - CpuIdCount, - MicrocodeCpuId, - MicrocodeEntryPoint->ProcessorSignature.Uint32, - MicrocodeEntryPoint->ProcessorFlags - ); - - // - // If the Extended Signature Table exists, check if the processor is in = the - // support list - // - DataSize =3D MicrocodeEntryPoint->DataSize; - TotalSize =3D (DataSize =3D=3D 0) ? 2048 : MicrocodeEntryPoint->TotalSiz= e; - if ((!NeedLoad) && (DataSize !=3D 0) && - (TotalSize - DataSize > sizeof (CPU_MICROCODE_HEADER) + - sizeof (CPU_MICROCODE_EXTENDED_TABLE_HEADER)= )) { - ExtendedTableHeader =3D (CPU_MICROCODE_EXTENDED_TABLE_HEADER *) ((UINT= 8 *) (MicrocodeEntryPoint) - + DataSize + sizeof (CPU_MICROCODE_HEADER)); - ExtendedTableCount =3D ExtendedTableHeader->ExtendedSignatureCount; - ExtendedTable =3D (CPU_MICROCODE_EXTENDED_TABLE *) (ExtendedTabl= eHeader + 1); - - for (Index =3D 0; Index < ExtendedTableCount; Index ++) { - // - // Check the 'ProcessorSignature' and 'ProcessorFlag' of the Extended - // Signature Table entry with the CPUID and PlatformID of the proces= sors - // within system to decide if it will be copied into memory - // - NeedLoad =3D IsProcessorMatchedMicrocodePatch ( - CpuIdCount, - MicrocodeCpuId, - ExtendedTable->ProcessorSignature.Uint32, - ExtendedTable->ProcessorFlag - ); - if (NeedLoad) { - break; - } - ExtendedTable ++; - } - } - - return NeedLoad; -} - /** Actual worker function that shadows the required microcode patches into = memory. =20 @@ -439,6 +328,11 @@ ShadowMicrocode ( return EFI_OUT_OF_RESOURCES; } =20 + if (FeaturePcdGet (PcdShadowAllMicrocode)) { + MicrocodeCpuId =3D NULL; + CpuIdCount =3D 0; + } + // // Fill up microcode patch info buffer according to FIT table. // @@ -447,37 +341,10 @@ ShadowMicrocode ( for (Index =3D 0; Index < EntryNum; Index++) { if (FitEntry[Index].Type =3D=3D FIT_TYPE_01_MICROCODE) { MicrocodeEntryPoint =3D (CPU_MICROCODE_HEADER *) (UINTN) FitEntry[In= dex].Address; - - if (*(UINT32 *) MicrocodeEntryPoint =3D=3D 0xFFFFFFFF) { - // - // An empty slot for reserved microcode update, skip to check next= entry. - // - continue; - } - - if (MicrocodeEntryPoint->HeaderVersion !=3D 0x1) { - // - // Not a valid microcode header, skip to check next entry. - // - continue; - } - - DataSize =3D MicrocodeEntryPoint->DataSize; - TotalSize =3D (DataSize =3D=3D 0) ? 2048 : MicrocodeEntryPoint->Tota= lSize; - if ( (UINTN)MicrocodeEntryPoint > (MAX_ADDRESS - TotalSize) || - (DataSize & 0x3) !=3D 0 || - (TotalSize & (SIZE_1KB - 1)) !=3D 0 || - TotalSize < DataSize - ) { - // - // Not a valid microcode header, skip to check next entry. - // - continue; - } - - if (IsMicrocodePatchNeedLoad (CpuIdCount, MicrocodeCpuId, MicrocodeE= ntryPoint)) { - PatchInfoBuffer[PatchCount].Address =3D (UINTN) MicrocodeEntry= Point; - PatchInfoBuffer[PatchCount].Size =3D TotalSize; + TotalSize =3D GetMicrocodeLength (MicrocodeEntryPoint); + if (IsValidMicrocode (MicrocodeEntryPoint, TotalSize, MicrocodeCpuId= , CpuIdCount, FALSE)) { + PatchInfoBuffer[PatchCount].Address =3D (UINTN) MicrocodeEntryPoin= t; + PatchInfoBuffer[PatchCount].Size =3D TotalSize; TotalLoadSize +=3D TotalSize; PatchCount++; } diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMi= crocodePei.inf b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/Shad= owMicrocodePei.inf index 581780add8..5ee225297d 100644 --- a/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocode= Pei.inf +++ b/Silicon/Intel/IntelSiliconPkg/Feature/ShadowMicrocode/ShadowMicrocode= Pei.inf @@ -1,7 +1,7 @@ ### @file # FIT based microcode shadow PEIM. # -# Copyright (c) 2020, Intel Corporation. All rights reserved.
+# Copyright (c) 2020 - 2021, Intel Corporation. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -25,6 +25,7 @@ BaseMemoryLib HobLib PeiServicesLib + MicrocodeLib =20 [Packages] MdePkg/MdePkg.dec --=20 2.27.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#73645): https://edk2.groups.io/g/devel/message/73645 Mute This Topic: https://groups.io/mt/81796846/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-