From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.40]) by mx.groups.io with SMTP id smtpd.web11.159870.1673846608874834780 for ; Sun, 15 Jan 2023 21:23:29 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=2To0+W8Z; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.236.40, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TG2msTqnd+Uf1AWHO4QmKZHMkiNwW7bwa9D1w/FaijjaoSw1LZSrXXHcGGRz379YFDrocO5X3boD83QJq48wxO81AExyvabNQRMMDLkmbLwWCFMDvrkLHpHqo3E5wddsCs+80BKlfloDUi+LCT3ZdUh47QPTQxzzHBNeKpLDKJHPvOvh+v2kDP9u6OTx43zMN6jFupnR7eADWB5n82MxIkUa2ZFV3ZUlr/pYyrW0dledb3mueaZBgtV0HeVDY9t7Xx6PTMMYfW7JdSLQxsaHdvRPgOdK4k7tNtYxoY8pIfub73MxEc6/mK75z+dilq6cNyq3nnG5tSr5DZ3ckBisYw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=u4xj3TXH/t2b88gZKOIfZE9zLZ1HOcUdss7UaW2rjuA=; b=BR5VlgfQLGqb2TlPDucggYIc2sFz/BKoZ0pnBf2t7AHfKRxMUys+3Qw5D4X3g4F8GJ3MYQwdjKkKCE+fSJrYVTsAojUAIWRSzItGvRl47wLWXwFNqJ+YdZC8tk8foIpOgr/yXzFtMhPl2pbFiwjDGHx4RDDNB7FbkHURrAqK/FCnLhHqtilfpO8qnskf0zCRgUJi0s/a4AMkv+uvfGfkO0EW/P3hcUbNvlbTnZau7Fkvf3RaaR2ojBflVG/1agOxgmZJ7P5Kgk9H1jSBe8tJDnx4HLnLqn6wVUMc0FD//sKvR4PWc5ME9g8xguzoG+/bxm+SZ0e9/IDfXU+ppep3Wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u4xj3TXH/t2b88gZKOIfZE9zLZ1HOcUdss7UaW2rjuA=; b=2To0+W8ZlqBknfFHrSx/9QCeH4DJsSxXrMZt4qd25amuaqtPlMOr7fAfyKCdG/WjfT++CjMWTufzmPYt1uMqDmgAQ1q+YsbkWTXCtrrzbG5NdyBKtGNXCN95fGjBg00WAVNb5C7dPS3neo4gEnOjo9XEpW129CKHavfaMC8Q/cw= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by MW4PR12MB6804.namprd12.prod.outlook.com (2603:10b6:303:20d::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13; Mon, 16 Jan 2023 05:23:26 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::cddb:3de9:cd1d:26e4]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::cddb:3de9:cd1d:26e4%5]) with mapi id 15.20.5986.022; Mon, 16 Jan 2023 05:23:26 +0000 From: "Chang, Abner" To: "devel@edk2.groups.io" , "jiaxin.wu@intel.com" CC: Eric Dong , Ray Ni , Zeng Star , Laszlo Ersek , Gerd Hoffmann , Rahul Kumar Subject: Re: [edk2-devel] [PATCH v2 3/4] UefiCpuPkg/SmmCpuFeaturesLib: Skip to configure SMBASE Thread-Topic: [edk2-devel] [PATCH v2 3/4] UefiCpuPkg/SmmCpuFeaturesLib: Skip to configure SMBASE Thread-Index: AQHZJ2QdUZ0bWZxIs024HNKuJGnk8a6ghelw Date: Mon, 16 Jan 2023 05:23:25 +0000 Message-ID: References: <20230113153045.13060-1-jiaxin.wu@intel.com> <20230113153045.13060-4-jiaxin.wu@intel.com> In-Reply-To: <20230113153045.13060-4-jiaxin.wu@intel.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2023-01-16T05:23:24Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=d40d9736-64b6-4145-a2dd-d80de2ca4b66; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|MW4PR12MB6804:EE_ x-ms-office365-filtering-correlation-id: b0027f39-8624-452e-fe06-08daf781cb1e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: BKm1J+saW5BG+hQcXZOUnN31NhWobQFav1RT/WbB7ziQlLqEwz1yqwikeUscnbEDJCVvHAOsOXG8mAD+pdjQGT9P/7a5Xf+YLtxg8mA69d237owY6fndgs/Dj3xqXcbJ73xoEVmhES4xewBKYXa8c16My+JkTXnE6OLIZ930IuU0wenw8hjTXgoIn4j0yHHUsUVkj5bRUGkIWIht/gPXZHZDKNQ+hF549gTkH7vxkK0ODy8QAImBDS/P/QU5bjVP3fIa/Xja9PNelA1VLdb7SjBrzIrr7E+MUddsvyFEaIlpM+BrcHW8mz70JH9k8/bcR630ronRngsZ4NCvsVhcyhYwQeGN3Za9WpKdXreJn6xm9XEWZmklwLIlemYliRXqP1ASApE6RA9RDF4l2Mn87ydP9qK39GDBleO8uH4rNu2odvnbCMRpZGh3AnTIdjwlPqLKXOdtpGatsh+wwJexnxxxHR8MttcaYRIxjBFQfY0kIg3ms9q13U7ycvXDqZWRPstYYxAoylrwUgSM1wsxhwaiFsHnCZM6a6h66Ek+Gz0suqnlzjMEZmBCpWj66sdcUFIyaqCBWozOxNbwwq1Cn06cDqNT78zoE3LbMublfseBN0S53evpNaRfF08jK655VJ/EqqbKvFbs1UQchk5k91deyddXQA4aUEliZC+AzqFfEDnV1O3aVE1ukr/2znLyK9sDN3r/RLUwQkfTZgCgVGpPinstCWxFQ2mCfnS2sX99MtL9w89SoJqZPLuKvNYQbLnIoLwzxhMBbKnSlXEh0A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(366004)(346002)(39860400002)(136003)(396003)(451199015)(478600001)(41300700001)(966005)(38070700005)(38100700002)(33656002)(71200400001)(86362001)(316002)(110136005)(54906003)(19627235002)(186003)(66556008)(66476007)(66946007)(55016003)(7696005)(26005)(76116006)(53546011)(5660300002)(6506007)(2906002)(8676002)(66899015)(9686003)(66446008)(4326008)(64756008)(8936002)(83380400001)(52536014)(122000001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?py/ZZRD7ml+JpjKMqMjP13+q0jNrLyrzDSNX4+6Zn7rFtkiOfffC0gFN7cAJ?= =?us-ascii?Q?1yRsl8Q4kU18ogfTgu4nBRU3dHitC3fwzKlkA+YPEXYVIG06hF5dZHqH9WAd?= =?us-ascii?Q?ouATqM8N0AsdcmC1/mOXDgs+3/BuZbmRrdDNcnouR4LK6xx2kHRQ0jTfIfrg?= =?us-ascii?Q?9hULBkgeRpxlxPhcbnqR3Q7U1zoyBpK7iup0jjlKWnhkWQIrAazng0/+TewJ?= =?us-ascii?Q?hEvaB0H34Ev1M1QKu1mIQMCuKhdcnEUIGFczt0KeTTyp2myrqaAG6f0+ILuR?= =?us-ascii?Q?nuHAjn+YdTc8F6g2vwNptrnhUu0IsTRtVliYwsnNIgiMF2Qn9v0HYwJk+snm?= =?us-ascii?Q?9DlgmyTAR0T72EWTIMg1hl3SSFcFpE+CpFPYqz5iSI81/8e8VyiPs+A0UF/k?= =?us-ascii?Q?Wfokx7UIUIwGDuwjpA5uNINMqZ8vRBtcC6xptnIdXVvJxYsuztOEeB4VnzoJ?= =?us-ascii?Q?nKyqtYShKAL+P4gQDc+V6q4BJnJILw7XFYGAFzUJYiN1poVvhM0xpmLvVth5?= =?us-ascii?Q?v6K3+LMVi+yVCoXZ2XgZIOVUXdFalp3qad1tOEXDzzegZywbmFWQHoTD4iLj?= =?us-ascii?Q?Z5C7/WvwUbjw1eHd6u3LK//xzK8yHr6r1bX2ztzDxXdljy5d6U5l4T2TT64d?= =?us-ascii?Q?WiT9eofWX7AAwRhLCkBkr/APT6ik1Kk5fAlxJ+XaYl8NYA5yCfy9iMY05mSh?= =?us-ascii?Q?MPxO+VPelabPpt6Q+Lizrz4TfgmYZg0thwxR5qvyczPTvTGGJh1a7bqYvsDV?= =?us-ascii?Q?bjhGzsCpmnXM/sTUN8XWPRpmissiIeNAHgKub6gEZiIsd5kqljAIEWcN6m7b?= =?us-ascii?Q?vBKlC1x9/kDKoSyhnlPv4M1IEH5d7tS3KW0LntsFltoJngqsQ3gI86fsAW5d?= =?us-ascii?Q?AklQ1nAR9qAe8hL0ztvCyFJ6/+lKh0RiKsC0wuHgpiVAAL0TuTaFS5jPoIxJ?= =?us-ascii?Q?pxtx5hICz6+DbCRzUOFahei+3aRt99WFj4Q7Eoc1PYxPk6awVmJEBsaqn5AI?= =?us-ascii?Q?KOV3DfiV3msU1abYkkLspPFShRL8fcw1EcBSQGSGuPrGLaJOgel9LeGExOJx?= =?us-ascii?Q?t+n37WfAnO+yrUFGxq6W+/LCm/DBe1/Ty8X/T0WTfcZpKSykxtL63pAnVxy3?= =?us-ascii?Q?G3Mb+ymWHkZbdU/pEjzEjlTr2jfph/0ABidsib/5RRY78JfgkuFniZ0inK9a?= =?us-ascii?Q?vbbrlYBhifIUS+AoAYHbjRqA5PZaBqombTYgx7VyH3MNyXEHmY0nkj3Mw6Qe?= =?us-ascii?Q?YR0SI8rNS3f2R6WZkpb5n07o/cbFwpadEB4PMrPRcPZlkhP8qfzVMuYJ9kWC?= =?us-ascii?Q?vvBeqmSv01oIjwBqZEVsvGmIZAJX9QT36PiQb+pyWZvBhR755dhObNXfWaZf?= =?us-ascii?Q?8LS4nYm8YB65LCeM7IgnJD7jrYgVAAyr1ci35fSkd4tsu00zpyvPUAyhOdQl?= =?us-ascii?Q?CUTnHBPPvvQvgWYE0RbL+biXVy8WRoTJCr1MsIFJ4SpjqjZQXUtt0ewz/f4n?= =?us-ascii?Q?htNn36DC07dUk8gVteVtRmIcBnp7Fa+z72KlkRYDeB6b6YLQukwItwzVEKmV?= =?us-ascii?Q?xi9XTfZdcIxeEhPcyIYzG7ptODDSvfoepDS7cKIf?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b0027f39-8624-452e-fe06-08daf781cb1e X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2023 05:23:25.6525 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0PjGIUyWPiOY0e+S8mKN3jtGmG7W+jGtmsNRkAzYA+ozHoNx8Zrq+jm/JVOQJ5fnYC6pvmN/CIjuz1SN1bT25Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6804 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi Jia Xin, One comment in below, > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Wu, > Jiaxin via groups.io > Sent: Friday, January 13, 2023 11:31 PM > To: devel@edk2.groups.io > Cc: Eric Dong ; Ray Ni ; Zeng Star > ; Laszlo Ersek ; Gerd Hoffmann > ; Rahul Kumar > Subject: [edk2-devel] [PATCH v2 3/4] UefiCpuPkg/SmmCpuFeaturesLib: Skip > to configure SMBASE >=20 > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. >=20 >=20 > This patch is to avoid configure SMBASE if SmBase relocation has been don= e. > If gSmmBaseHobGuid found, means SmBase info has been relocated and > recorded in the SmBase array. No need to do the relocation in > SmmCpuFeaturesInitializeProcessor(). >=20 > Cc: Eric Dong > Cc: Ray Ni > Cc: Zeng Star > Cc: Laszlo Ersek > Cc: Gerd Hoffmann > Cc: Rahul Kumar > Signed-off-by: Jiaxin Wu > --- > .../Library/SmmCpuFeaturesLib/CpuFeaturesLib.h | 2 ++ > .../SmmCpuFeaturesLib/IntelSmmCpuFeaturesLib.c | 23 > +++++++++++++++++++--- > .../SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf | 4 ++++ > .../SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf | 1 + > UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c | 1 - > .../StandaloneMmCpuFeaturesLib.inf | 4 ++++ > 6 files changed, 31 insertions(+), 4 deletions(-) >=20 > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h > index fd3e902547..c2e4fbe96b 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/CpuFeaturesLib.h > @@ -7,15 +7,17 @@ > **/ >=20 > #ifndef CPU_FEATURES_LIB_H_ > #define CPU_FEATURES_LIB_H_ >=20 > +#include > #include > #include > #include > #include #include > +#include >=20 > /** > Performs library initialization. >=20 > This initialization function contains common functionality shared betw= en all > diff --git > a/UefiCpuPkg/Library/SmmCpuFeaturesLib/IntelSmmCpuFeaturesLib.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/IntelSmmCpuFeaturesLib.c > index d5eaaa7a99..7c3836286b 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/IntelSmmCpuFeaturesLib.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/IntelSmmCpuFeaturesLib.c > @@ -36,10 +36,16 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // Set > default value to assume IA-32 Architectural MSRs are used // > UINT32 mSmrrPhysBaseMsr =3D SMM_FEATURES_LIB_IA32_SMRR_PHYSBASE; > UINT32 mSmrrPhysMaskMsr =3D > SMM_FEATURES_LIB_IA32_SMRR_PHYSMASK; >=20 > +// > +// Indicate SmBase for each Processors has been relocated or not. If > +TRUE, // means no need to do the relocation in > SmmCpuFeaturesInitializeProcessor(). > +// > +BOOLEAN mSmmCpuFeaturesSmmRelocated; > + > // > // Set default value to assume MTRRs need to be configured on each SMI = // > BOOLEAN mNeedConfigureMtrrs =3D TRUE; >=20 > @@ -142,10 +148,16 @@ CpuFeaturesLibInitialization ( > // > // Allocate array for state of SMRR enable on all CPUs > // > mSmrrEnabled =3D (BOOLEAN *)AllocatePool (sizeof (BOOLEAN) * > GetCpuMaxLogicalProcessorNumber ()); > ASSERT (mSmrrEnabled !=3D NULL); > + > + // > + // If gSmmBaseHobGuid found, means SmBase info has been relocated > and > + recorded // in the SmBase array. > + // > + mSmmCpuFeaturesSmmRelocated =3D (BOOLEAN)(GetFirstGuidHob > + (&gSmmBaseHobGuid) !=3D NULL); We can have this code and mSmmCpuFeaturesSmmRelocated in the SmmCpuFeatures= LibConstructor so this mechanism can be leverage by other vendors. Thanks Abner > } >=20 > /** > Called during the very first SMI into System Management Mode to initia= lize > CPU features, including SMBASE, for the currently executing CPU. Sinc= e > this @@ -185,14 +197,19 @@ SmmCpuFeaturesInitializeProcessor ( > UINT32 RegEdx; > UINTN FamilyId; > UINTN ModelId; >=20 > // > - // Configure SMBASE. > + // No need to configure SMBASE if SmBase relocation has been done. > // > - CpuState =3D (SMRAM_SAVE_STATE_MAP > *)(UINTN)(SMM_DEFAULT_SMBASE + SMRAM_SAVE_STATE_MAP_OFFSET); > - CpuState->x86.SMBASE =3D (UINT32)CpuHotPlugData->SmBase[CpuIndex]; > + if (!mSmmCpuFeaturesSmmRelocated) { > + // > + // Configure SMBASE. > + // > + CpuState =3D (SMRAM_SAVE_STATE_MAP > *)(UINTN)(SMM_DEFAULT_SMBASE + SMRAM_SAVE_STATE_MAP_OFFSET); > + CpuState->x86.SMBASE =3D (UINT32)CpuHotPlugData->SmBase[CpuIndex]; > + } >=20 > // > // Intel(R) 64 and IA-32 Architectures Software Developer's Manual > // Volume 3C, Section 35.2 MSRs in the Intel(R) Core(TM) 2 Processor > Family > // > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf > index 9ac7dde78f..280a4b8b39 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf > @@ -31,10 +31,14 @@ > [LibraryClasses] > BaseLib > PcdLib > MemoryAllocationLib > DebugLib > + HobLib > + > +[Guids] > + gSmmBaseHobGuid ## CONSUMES >=20 > [Pcd] > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## > SOMETIMES_CONSUMES >=20 > [FeaturePcd] > diff --git > a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf > index 86d367e0a0..4bb045244b 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLibStm.inf > @@ -62,10 +62,11 @@ >=20 > [Guids] > gMsegSmramGuid ## SOMETIMES_CONSUMES ## HOB > gEfiAcpi20TableGuid ## SOMETIMES_CONSUMES ## > SystemTable > gEfiAcpi10TableGuid ## SOMETIMES_CONSUMES ## > SystemTable > + gSmmBaseHobGuid ## CONSUMES >=20 > [Pcd] > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## > SOMETIMES_CONSUMES > gUefiCpuPkgTokenSpaceGuid.PcdCpuMsegSize ## > SOMETIMES_CONSUMES > gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStmExceptionStackSize ## > SOMETIMES_CONSUMES > diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > index 3cf162ada0..455fe83991 100644 > --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmStm.c > @@ -6,11 +6,10 @@ >=20 > **/ >=20 > #include > #include > -#include > #include > #include #include > #include > #include > diff --git > a/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.i > nf > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.i > nf > index b1f60a5505..63259e44e7 100644 > --- > a/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.i > nf > +++ > b/UefiCpuPkg/Library/SmmCpuFeaturesLib/StandaloneMmCpuFeaturesLib.i > n > +++ f > @@ -32,10 +32,14 @@ > [LibraryClasses] > BaseLib > DebugLib > MemoryAllocationLib > PcdLib > + HobLib > + > +[Guids] > + gSmmBaseHobGuid ## CONSUMES >=20 > [FixedPcd] > gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber ## > SOMETIMES_CONSUMES >=20 > [FeaturePcd] > -- > 2.16.2.windows.1 >=20 >=20 >=20 >=20 >=20