From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web11.166.1617898119527187281 for ; Thu, 08 Apr 2021 09:08:39 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=N+tPUn5w; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: rangasai.v.chaganty@intel.com) IronPort-SDR: GG2qED4658SJ22RNhfwBiiCk0n+dGJIkyJSYgnGQpXyrUHZfvHnVerp//F1/S7xQaELEHg7DTv TJkOodfxSLNg== X-IronPort-AV: E=McAfee;i="6000,8403,9948"; a="190375171" X-IronPort-AV: E=Sophos;i="5.82,206,1613462400"; d="scan'208";a="190375171" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Apr 2021 09:08:38 -0700 IronPort-SDR: EG/IAgEoegGLI+7pyMcLE+c5HpGeeCOHTILJZMsLo1PUKKw+8nAmIFv1/JC4ccLgy7Hkfhl7B1 MRbh/ITWWK0Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,206,1613462400"; d="scan'208";a="422311789" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga008.jf.intel.com with ESMTP; 08 Apr 2021 09:08:37 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 8 Apr 2021 09:08:37 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 8 Apr 2021 09:08:36 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Thu, 8 Apr 2021 09:08:37 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.107) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Thu, 8 Apr 2021 09:08:36 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bafSo9Tz6K6Tz/AkBpAV59vrAMiOiluMm4A01/Wcup6VXJ950yds/UXgDe1ncsVXQmTQAqGUIF75FTdikEYN+RoN+BNOAC7uHCahcNWl9PvckKa3tl7VOZX4Hev/AJwRHmPVgx6YLMYdjok5OfxovSRAAylsYHZbbbaEVyciijUoenUIoU63H4rMWm6HjWpZOO9w60Vx111OtLFSHKHh4L5J7kvD/Iu0W9Q4jSx/npyHIWyTV19ISeYsUXdtTasmdZ13NH6KY5yr/DpISteDYv2r/h3wkLUhT54HqqBprkqVuQusC2/GkbmqXSAr28xqSU5nXYHKb1CIaODK2M3NMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6lRYjPAmysYak+z3hboMK8HY+21FC6/EmzhtPdBnMd4=; b=GGRglnudfHY9b8fn+JdUr2dR1d4/vc11veeWmst2AwHp4OEGjrdZeZv7eozBIjkHAhxADH7JCIyo+dvMIaEyV4z2p1D+YZfjd6nrpkG7PnuYent0N7XmzfbSyknNR980dyQ9MxcELoV4+t627OIoW5cHYColgoZBlxv0muvlE6vcDHXsCjZ5UFaUYzbG9srYPgVRT2XZQDsAaQ9DdZBZIeGc2QckkkUnRJoKhxoh69Fd2bzKA/ooBDkuz1vlGD8AMm10O3uCBDO46oIiMKpVIX5crIbnI+dW42YjxcCyZ+JhKuh03BBwjcYORofJ93C/tiYUXkgDjS8E4twCkXJOHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6lRYjPAmysYak+z3hboMK8HY+21FC6/EmzhtPdBnMd4=; b=N+tPUn5wYPZTWcj52OppJS7Gwph5iYBx1e0E2AI04SM4f7k8i7c3VNpL7I1yNU24TevEDHGac2onJQjWUqr09vCNkhQVV7FReDwZsILFzMP0NCPOnUREAMGMCNXvH6DcH8aAQ4sowWrab5dI35UIZ+Zsn0pQXy1WGjfqlE0GQt0= Received: from DM6PR11MB4476.namprd11.prod.outlook.com (2603:10b6:5:201::24) by DM6PR11MB3724.namprd11.prod.outlook.com (2603:10b6:5:13c::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Thu, 8 Apr 2021 16:08:34 +0000 Received: from DM6PR11MB4476.namprd11.prod.outlook.com ([fe80::4167:e5c7:e700:aab9]) by DM6PR11MB4476.namprd11.prod.outlook.com ([fe80::4167:e5c7:e700:aab9%6]) with mapi id 15.20.3999.035; Thu, 8 Apr 2021 16:08:34 +0000 From: "Chaganty, Rangasai V" To: "Ni, Ray" , "devel@edk2.groups.io" CC: "Fu, Siyuan" Subject: Re: [PATCH 3/3] IntelSiliconPkg/ShadowMicrocodePei: Consume MicrocodeLib Thread-Topic: [PATCH 3/3] IntelSiliconPkg/ShadowMicrocodePei: Consume MicrocodeLib Thread-Index: AQHXJ4WO6PUDfmh4WUiZyDJtvMHhPqqq07yA Date: Thu, 8 Apr 2021 16:08:34 +0000 Message-ID: References: <20210402060021.982-1-ray.ni@intel.com> <20210402060021.982-4-ray.ni@intel.com> In-Reply-To: <20210402060021.982-4-ray.ni@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [50.45.159.74] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cfc6deeb-adc5-4264-467e-08d8faa88fcd x-ms-traffictypediagnostic: DM6PR11MB3724: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4714; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: d+B4NeQijmVMiduMinv05cLUV87bspXe00IC6myoBbu89lRZtDpA+H5olVuJwW3Anm3VotxHXIhNsqa2VFr96oAqJqcJMDkNmfNcO9bMtb4UfNM/cuDw1WG7ZNSrjXqMSW8/m07pJ8E8pwxEXB7WFsHIYRsdiF48Q0HV9gAXMQBg8T2V5Gxr3/787XsSYc+BTS2C+ql2EWuU7aFauR1SGKmwfZsyyJE0Y8kmzZ/bHcz49B7WJ/xVYRtPXsMZMl1j2dOU/17WTPm5jQJQmVxZ0GX2YgM87DXJDyo8QIAWWZmv/maMPs6rYjolOGXmbW3snhczUBBdhsCUL5LQDSxHjTwCP/AOKtma8fQF3G5K+vhHhNVyCe4xVGcTjtosZa1WcB9Vo5v3oChhVPxOHv7wOG8BNknPWaYyanI0GE8Xw/KvMqr9sW3Y9DFKsFhryv3JvInB4nJToqAhyWs1iFOAqplj/oJd/73NF+jXm7U/xE7jtnoVyueYAuoVLCmkOkLUlNvay/nyXnRN0QgeOAdCFjXjARPMCfr4pkXHvS1UQVK3VBTTZL4QJkGhCzgIl2OnVPZwyYaUrS1e4yS03Hm//myB2IOI45bH1BvS6rLbSaTsThxpe8vF1zAfmcXTnWPeuUyLwXYZycQXtVzDcg33ttjL1WFQmBpvcd6DyqQOfsm7OGzsGY4s3Q808FY4wl4B x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4476.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(346002)(39860400002)(376002)(136003)(396003)(76116006)(33656002)(110136005)(86362001)(53546011)(38100700001)(316002)(52536014)(64756008)(107886003)(66556008)(66446008)(66946007)(186003)(478600001)(55016002)(26005)(8936002)(9686003)(4326008)(2906002)(8676002)(71200400001)(7696005)(5660300002)(6506007)(83380400001)(66476007)(14943795004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?ghargafHaJOPYhWwJ/ov1lH84wUVdyBoUKq9/14x9DVSwU6z6FvHPPnfI7So?= =?us-ascii?Q?Fe9HboY48trVouQOwDXB0TfBz0Yv+K0HCUaj50522yVB3uSOTAf60jokTjXN?= =?us-ascii?Q?I8BEOqFOnaXxQanoCeludC3/+BUtx/rbE+bRHI55GLAG8N2n+l8WfQTCVq5p?= =?us-ascii?Q?/wBU3OUFDC2V+tRYga3zs1eMA6x1hznbTbvoVx0yLIAacMjwDBWY0jQVKcZQ?= =?us-ascii?Q?fmjvUEy0SegL+2m+30RFoKFVwdrmlVqFlLZn2aWwcH0J+EuFX18PdVZRrCWc?= =?us-ascii?Q?S2ifqteW0sI//rBFWqrqqJIVHnFcn0lxNbVYz1+njN8X/y8mKrRWXJxl56yi?= =?us-ascii?Q?VujOYA9y4/1rWsq7JMtKybF5aurBbF7YxgxftJUJZtrrR2UjmQx003k67ELq?= =?us-ascii?Q?FgHR0aYcQesb5yLtnVVC7ieFj2WFAXodcR7Z/602HWL6TbGB98wen2fM8Nfw?= =?us-ascii?Q?9sFIKNKdUZDkMEXvL0HqvKyJ9aAm7LmIpSBJqwzbKfxB38NoGDfv4f6v5i5C?= =?us-ascii?Q?iVj8U35i0fqqxX3k+RCRiEYtS7NjOoI6HtSQCrOlOYp4CGzSR9XK8zAjiGPB?= =?us-ascii?Q?1Ya3mUxYJe8t4pSyB1TPe0KjHiAktF3yoKeiHt39bIUSiG+05univSSvWgvn?= =?us-ascii?Q?77D2LhxyWqMxMa8QOkWCGuenLQFyb9HRGzZ5Rg9Xw+LuYBaZwV1HXKyayBMP?= =?us-ascii?Q?upXoXXuJzcgSxDBkmqEb1DhE4L6qHIyaYH18DWsOYqvGZjYKzl6y5G5kSFb3?= =?us-ascii?Q?9waZdaQBIy76/tHwW2vpyUxWX8/Btuy25E8QxrFOHwbRrLVToiezc+4tl9Jz?= =?us-ascii?Q?ULMNXnLlago7z6Ttzp2bJfDH0HmewOgSdPxlatIfbq8ceLyU6IjzjIaQzKmc?= =?us-ascii?Q?Xx5EIKduRUCMPkWc2ItFnyE+9bESYR1DY7fx3SX1LeNXrAn/U0sLCYJ6Veb2?= =?us-ascii?Q?ACwYNc8d0JL9kv24vkxZh6L34DTeENJSxejE86OMfnFNY1FEN+SzTX0u+klb?= =?us-ascii?Q?fXtFuNbum3s9tLy1lb+wGbi2wETcck7rb6557qkoIqBLXg++j8SWIrE8riCf?= =?us-ascii?Q?PTXaSVkGJvuOybneJWDT+7x0YL2NGiBoZRMfGzp/rwSNOiXRikLnfVu8Rtke?= =?us-ascii?Q?5MKz0HbH0WNoQV48KWz9G7eDX6q3mwQOhtACOEl+G6+bcWPvxJjUd2oIM8Ab?= =?us-ascii?Q?oe2Zb4mKVz3Dd4Njt3l/k4bj12/08uLMBK54r3x1auBERrMPdnwf+11PXpGP?= =?us-ascii?Q?G0wdHVmbB+1gibYSkHI7otO2GOWlE6XOGxImO5cK1QycVhw3lwBdzPs+ayJt?= =?us-ascii?Q?MMwrMDHIWS2M3iTkuQkhlZvM?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4476.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cfc6deeb-adc5-4264-467e-08d8faa88fcd X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Apr 2021 16:08:34.4501 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hB7A6cgD6YBq7ezSKAFaCJ62lIq/LSyt2zSRahtHm5Qh3PK7OkoG/GUQ8kMBZictYHAbYZYcWeDA1O32ziGUPFimomU91fcGAsR5v3zO364= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3724 Return-Path: rangasai.v.chaganty@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Sai Chaganty =20 -----Original Message----- From: Ni, Ray =20 Sent: Thursday, April 01, 2021 11:00 PM To: devel@edk2.groups.io Cc: Chaganty, Rangasai V ; Fu, Siyuan Subject: [PATCH 3/3] IntelSiliconPkg/ShadowMicrocodePei: Consume MicrocodeL= ib Signed-off-by: Ray Ni Cc: Rangasai V Chaganty Cc: 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 Extende= d - // 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