From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mx.groups.io with SMTP id smtpd.web10.5872.1661819116057376049 for ; Mon, 29 Aug 2022 17:25:16 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Zifjic9R; spf=permerror, err=too many SPF records (domain: intel.com, ip: 192.55.52.120, mailfrom: isaac.w.oram@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661819116; x=1693355116; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Wf01mF3PtNlrHpCMnki9g3C/xFNTUe9Bp+WVqmfiYbw=; b=Zifjic9R6rHonIcfytk/zXH8MLDI5MW4Du8hb4wjeNvnHkycECAWM1rC aZ4PZ/mwq7/lI7Qwv+96S7WWozJBdrIxblICyCLjvIyBa8UEiaoGum5LG KNkAcKOBV/+VgSlWCwaMol/tHZDo7V/qqakGOOoia8DPxBOT+vZ/TIO8J TB1ok9MXBD86ONrSvK8hsAjWf2wGLWeLEtU4/qGY7zVOnJIctp3G9mh0D kTbbyF6abk/U/S7UzXzyse9SFntbrtiSJFytGehWATSVrGHOsokidLuus vHqMu7Pth93KlQGpXATF9nBvTxIoUDcWwoMo/hSSYtMjZDTnrx2M96tCG Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="293782313" X-IronPort-AV: E=Sophos;i="5.93,273,1654585200"; d="scan'208";a="293782313" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 17:25:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,273,1654585200"; d="scan'208";a="939792656" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga005.fm.intel.com with ESMTP; 29 Aug 2022 17:25:15 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 29 Aug 2022 17:25:14 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Mon, 29 Aug 2022 17:25:14 -0700 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.48) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Mon, 29 Aug 2022 17:25:14 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kSN6se2wx8hbABnvLWcHf/9wbbEocjwM/eo+blA/fKxVyMgk3Vm7dgKTS+11BdklOfQLWlDUWcpuafeiOICaDXibuR7Ky4MME3p0yrbfUZWuRLDUKwVM6hoeZeBJSrJb4EJPxAdhJJD2iZDABMSEK6UEOIPf0xbMwgjzP2Je8jRxy00AuVoemgFNv+5NVyXEDuifBEsY7CWfTQZBL+/b2ldnU+bEIbF+6biBRVrN9SWvupfcBD6wEKYeyBP6+3DzT71a2jALK26UkNoZwYOHA8N9S8VII7MA+2lp8RCpEJyKnPD7rneTteIvt0nz9zTUGM3wL1O1OZQ6jeAy8G8IoQ== 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=1B6atQ01LXZ+bEM75xz/JR14CfIReDUuY8rWh7Hnqc4=; b=n5f3iBn+MXYwHGDRy+mXqyWeVjMK3mLbxY8Esbaa3UQLqr2L/xhOs72JUGUZxgYM/63ptpaJXDhAZEuzNLTYa/x+u8C62rCepvOW4Sz/mTQjKiZxHPWTSFiWaW9nckLzq8qjIzhV38gJcwFh9JU02gbzkmyfVPSu18mlM1LtX/842YRZ3hSXDFYdF71Vy4RvIt5Hy2erbxaQza5DxU/l9MS9VST0y3tb1/8ppiZ+l8EmH2MXnjA+bl4KOrAE/FYzs/4eCSMSEt56ro3KFYTPc0Xmaqq83CvzoGPZmW9dxOm31a1qWNxEmEvmXeOW7bFfpRgHM6LMsCU5E6VTP8ORnw== 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 Received: from SA1PR11MB5801.namprd11.prod.outlook.com (2603:10b6:806:23d::13) by SJ0PR11MB5813.namprd11.prod.outlook.com (2603:10b6:a03:422::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Tue, 30 Aug 2022 00:25:06 +0000 Received: from SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::4149:e96e:480e:e1c3]) by SA1PR11MB5801.namprd11.prod.outlook.com ([fe80::4149:e96e:480e:e1c3%6]) with mapi id 15.20.5566.021; Tue, 30 Aug 2022 00:25:06 +0000 From: "Oram, Isaac W" To: Benjamin Doron , "devel@edk2.groups.io" CC: "Chiu, Chasel" , "Desimone, Nathaniel L" , "Sinha, Ankit" , "Gao, Liming" , "Dong, Eric" Subject: Re: [edk2-devel][edk2-platforms][PATCH v1 4/5] MinPlatformPkg: Implement working S3 resume Thread-Topic: [edk2-devel][edk2-platforms][PATCH v1 4/5] MinPlatformPkg: Implement working S3 resume Thread-Index: AQHYu+cmQ+oDRZlUrkC+L3l7quJyz63GlEJQ Date: Tue, 30 Aug 2022 00:25:06 +0000 Message-ID: References: <3473a10f0459bc0d23bd496753ee3179e1860c50.1661799519.git.benjamin.doron00@gmail.com> In-Reply-To: <3473a10f0459bc0d23bd496753ee3179e1860c50.1661799519.git.benjamin.doron00@gmail.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0e34f367-4370-4168-59b2-08da8a1e1714 x-ms-traffictypediagnostic: SJ0PR11MB5813:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FeA/FRhCF2hqq+hewwvsJsVD9c1oUlKx2Zm2xRPKPnJqw2f2EOymsKuI6VDdsghPI4r27CH5Y8c+bdaxx60wpZNrVXWhEHcN4M42EgtXn7DD4EUSHdNGn4FWpcsaKq+8WmwWTL1cmLkKs0pw1Do3n1SlnZ4cC343KwYPOFQJJtEpXUIBW31+r9M+B+NfBJ/+R+nkpvuLibivkRjZfeBZGaGJlNaF9x4VHjJ99rGqyUtfZJz2Q1LnQV8DkJjeqQCN2gEkxPFCj5MwI4l+oCjpyEglO96D64tvcXCA7daFii6IVj5oLPfmPw83VM5EzPGtcSM1yiVPAlEuY/WchUAcVaMKErZ7shEABhPbyLGRiFP6prfkzmGb/Fi2wPsjmf5E6adH4Br1pSi38gkHFOLGTI6DSZn5/uAl9/BSWt0fQjNEDfty+HpBWbYJFPnGDVakqxUhaIg+SZ8rFuYnHlXOO6Rmoyhpe6uuTSsPOrMQk22uKBDFujMoJ+mCykUJHDIrhEVBgwy7QDid08g6uesVtzPxXst3ryPlwx4ihb1qQeTWGsQtKDLGWYMEdNYzHhKP0rRWliTB3vDaXnp8729+FL8itbv3Uq/Mwqs/nORfnccKsOQwenS92PsAJ/CVFVWEcKzbdzBcij7o+QBpEJ19f9DRRoMMUSaK92r0yJXHLXStzFMQ92AMvNvgr8LLkZhSvYJNdjFS+DAVXqlqev0txqi8Gm5qUhv5qfq6j2y3xVeqn/VAAaahbeNBEje/fiLE6gXlIbEiBbZLke2ythoBLA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB5801.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(39860400002)(346002)(366004)(396003)(53546011)(26005)(9686003)(55016003)(71200400001)(478600001)(41300700001)(6506007)(7696005)(86362001)(107886003)(186003)(38100700002)(122000001)(38070700005)(82960400001)(83380400001)(110136005)(66476007)(64756008)(2906002)(54906003)(66556008)(4326008)(8936002)(5660300002)(8676002)(66946007)(52536014)(19627235002)(66446008)(316002)(76116006)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?sLe+dn8X2rTbiDYJ++pMJTVWKgbr7+16AEL90WlcRE/J6YR1Siw0Vi0gdAuI?= =?us-ascii?Q?my5v+qqVqpGXhT/qfYyP2ubYbBEchqnrkD/kxpqNtX5QDvK6eJMBVUjs8Ozw?= =?us-ascii?Q?hjcs0DdH4VChaLluQ1L/GAgDkPaVdMf/1pAS8/OeNOZXnfsXu2QGDYKIOPYv?= =?us-ascii?Q?XplSb+ONESfCKSMyp1GwAP2pZcZwd0Bn0cyyFulEg3rz3QL0qd2M/KotgZMQ?= =?us-ascii?Q?pXcSUAxS9EyH8U6D4KgYKisQs/AXNpiz6Ure8MiJTAD8Esdn7qu2WvBABQba?= =?us-ascii?Q?IvA8YRsv6tCb6iH3IspATLhGcarlGtPRFdNd+jjo1s9EmZxFb8pSmNedp4t0?= =?us-ascii?Q?iu9uZPNlfhRoZwtPq+YalizDdgqujCbOU0tMXA8+1uizAAnfTKzZOG+i3uXN?= =?us-ascii?Q?QLMFLPuEcmai5fMA9Ask5FhybgmGrtBrgWgPRNGdWeaiNbVtyFtCFRrzNjpn?= =?us-ascii?Q?I9YcGbQz+dCZBBe9gKequbYTsxXUbkDUUE41tN0nqjcksW5oI6QbqHfaGqow?= =?us-ascii?Q?kAPfxAux9PNUrYdomEzhrkrRuiGaY2jGXBsIXLBtVUk1oZoAOJr2Qusy88wf?= =?us-ascii?Q?ePchJvxgK8oBRs6XXCYfRdzJOswn/3TMrtwfDs9BXPpaEfXyUB8u0InmunV0?= =?us-ascii?Q?Ak8ivXQr4jQ7NmSoFVC+lkRGDg4eW9buClTlatQwj1s9Bb6CENiNUFEml+YW?= =?us-ascii?Q?bG3oMkZYB8J5s5cf9+9OFPlfhW6YIfZs+UarlFPJt7D/Rnk6v7eSe7JougwN?= =?us-ascii?Q?WJfYL4smjRnpr9wD4T48NrKcwYw2IqH1yKX9xTRlK3unK4Sf1FQTWYixMa+k?= =?us-ascii?Q?PMY7flLCNlkI3CeXmn2wgM+nHzViOwq8RCAvLjBGbU+8NnwKH7h23CtJt7CF?= =?us-ascii?Q?HhM1py9CCV6Dpw/qcqVt36tlXj2gnOQZxoqUT3XgE6pfnhEJAcCOg/ElTlFf?= =?us-ascii?Q?CWweazAOT5yRXE33uNdzsfL+YWdZ4j+C1etKpTtTZB3YlMpE2z6DRv0D/FyO?= =?us-ascii?Q?bLxV4IhDbRmRCn/tW33wsVF8p7Z9B9K8JBLrFwK587RlmGks2m6tUar5wjOv?= =?us-ascii?Q?I0/R2tcYbe03L8Kazpgriiz6AhBDjTF+i04opL8bFJ5VzaUgUa0rj26QsgT8?= =?us-ascii?Q?PKgchc2j27uv2YLRoFlHna+ytQZEAsUJXRLy4jOLiZlkle/gD2gxoGFXNCiA?= =?us-ascii?Q?popfqzit0o3jQEVZQyE3IqA8knEaJxKSMyPaMnh6LTkBlrf3Xx+QJg1qFnEV?= =?us-ascii?Q?CyZ53mCUfX2lgpgvJDpdDortSYynyTkxbH4MaeviCTaNh2go/IWDMpHcjNqL?= =?us-ascii?Q?4+oJTBPHPv2uEifzoHykydTv05kVMtUed4P9Y6J/8f70rO+zpu7Jk1zWEA2w?= =?us-ascii?Q?BAimiGfePBL2W3QauwnAhlckPhxtnl2Rm689O72Xo2pcFlrDs01TLzZ/PhHi?= =?us-ascii?Q?WTMeLyqJKug8jafyx/DmGzXK9rIIJepHmjHoTCg3iKL5ft+6czCMQPZ8ubvW?= =?us-ascii?Q?cihGu0ZIm1HYTaOdMTrlABb/KLMbGZUkIn+MNZ8UzFAa/waSLozmpxLpxMhV?= =?us-ascii?Q?kyf6JNbaakBLtlezUDcQ1nKA3OE/I0co3l+BG9gI?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB5801.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e34f367-4370-4168-59b2-08da8a1e1714 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Aug 2022 00:25:06.7051 (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: 7veYsQsYL9/sIo0EoIoxbWkZYIDM6kMuZ8R8JCbBpiPALcG7NVQNdjAFaJiiHvtk8gH8nAi4r693t7yYVV9nxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5813 Return-Path: isaac.w.oram@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable FspWrapperHobProcessLib.h - Resolve ToDo CorePeiInclude.dsc, CorePostMemoryInclude.fdf - MinPlatformPkg should not consume advanced feature content directly. - I dislike conditioning the performance on boot to shell. Please remove. Basically, items can be removed in stage 7 (optimization) if they are not d= esired. I think that performance info should be ubiquitous, so just uncond= itionally include this. Regards, Isaac -----Original Message----- From: Benjamin Doron =20 Sent: Monday, August 29, 2022 1:36 PM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Sinha, Ankit ; Oram, Isaac W = ; Gao, Liming ; Dong, Eri= c Subject: [edk2-devel][edk2-platforms][PATCH v1 4/5] MinPlatformPkg: Impleme= nt working S3 resume Consume S3 resume memory allocation on resume flow. Also, include complementary FirmwarePerformanceDataTablePei module in MinPl= atform FV for S3 resume performance measurement. Cc: Chasel Chiu Cc: Nate DeSimone Cc: Ankit Sinha Cc: Isaac Oram Cc: Liming Gao Cc: Eric Dong Signed-off-by: Benjamin Doron --- .../FspWrapperHobProcessLib.c | 70 ++++++++++++++++++- .../PeiFspWrapperHobProcessLib.inf | 2 + .../Include/Dsc/CorePeiInclude.dsc | 4 ++ .../Include/Fdf/CorePostMemoryInclude.fdf | 4 ++ 4 files changed, 79 insertions(+), 1 deletion(-) diff --git a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/PeiFspWrapper= HobProcessLib/FspWrapperHobProcessLib.c b/Platform/Intel/MinPlatformPkg/Fsp= Wrapper/Library/PeiFspWrapperHobProcessLib/FspWrapperHobProcessLib.c index 7ee4d3a31c49..992ec5d41bd8 100644 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/PeiFspWrapperHobProc= essLib/FspWrapperHobProcessLib.c +++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/PeiFspWrapperHobP +++ rocessLib/FspWrapperHobProcessLib.c @@ -16,14 +16,17 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include = #include #include +#include #include #include #include #include #include #include= +#include #include +#i= nclude // // Additional pages are used by DXE memor= y manager.@@ -130,6 +133,55 @@ GetPeiMemSize ( return MinSize + Size + PEI_ADDITIONAL_MEMORY_SIZE; } +/**+ Get S3 PEI = memory information.++ @note At this point, memory is ready, and PeiService= s are available to use.+ Platform can get some data from SMRAM directly.++= @param[out] S3PeiMemSize PEI memory size to be installed in S3 phase.+ = @param[out] S3PeiMemBase PEI memory base to be installed in S3 phase.++ @= return If S3 PEI memory information is got successfully.+**/+EFI_STATUS+EFI= API+GetS3MemoryInfo (+ OUT UINT64 *S3PeiMemSize,+ OUT EFI_= PHYSICAL_ADDRESS *S3PeiMemBase+ )+{+ EFI_STATUS St= atus;+ EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariablePpi;+ UINTN = DataSize;+ ACPI_S3_MEMORY S3MemoryInfo;++= *S3PeiMemBase =3D 0;+ *S3PeiMemSize =3D 0;++ Status =3D PeiServicesLoca= tePpi (&gEfiPeiReadOnlyVariable2PpiGuid, 0, NULL, (VOID **) &VariablePpi);+= ASSERT_EFI_ERROR (Status);++ DataSize =3D sizeof (S3MemoryInfo);+ Statu= s =3D VariablePpi->GetVariable (+ VariablePpi,+ = ACPI_S3_MEMORY_NV_NAME,+ &g= EfiAcpiVariableGuid,+ NULL,+ = &DataSize,+ &S3MemoryInfo+ = );+ ASSERT_EFI_ERROR (Status);++ if (EFI_ERROR (Status)) {+ retu= rn Status;+ }++ *S3PeiMemBase =3D S3MemoryInfo.S3PeiMemBase;+ *S3PeiMemS= ize =3D S3MemoryInfo.S3PeiMemSize;+ return EFI_SUCCESS;+}+ /** Post FSP-= M HOB process for Memory Resource Descriptor. @@ -280,7 +332,7 @@ PostFspmH= obProcess ( 0x1000 ); -+ if (BootMode !=3D BOOT_ON_S3_RESUME) { // //= Capsule mode //@@ -337,7 +389,23 @@ PostFspmHobProcess ( if (Capsule !=3D NULL) { Status =3D Capsule->CreateState ((EFI_P= EI_SERVICES **)PeiServices, CapsuleBuffer, CapsuleBufferLength); }+ } = else {+ // TODO: Must BuildResourceDescriptorHob()?+ Status =3D GetS3= MemoryInfo (&PeiMemSize, &PeiMemBase);+ ASSERT_EFI_ERROR (Status); + = DEBUG ((DEBUG_INFO, "S3 resume PeiMemBase : 0x%08x\n", PeiMemBase));= + DEBUG ((DEBUG_INFO, "S3 resume PeiMemSize : 0x%08x\n", PeiMemSi= ze));++ //+ // Install efi memory+ //+ Status =3D PeiServicesIn= stallPeiMemory (+ PeiMemBase,+ PeiMemSize+ = );+ ASSERT_EFI_ERROR (Status);+ } // // Create a memory = allocation HOB at fixed location for MP Services PPI AP wait loop.diff --gi= t a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/PeiFspWrapperHobProces= sLib/PeiFspWrapperHobProcessLib.inf b/Platform/Intel/MinPlatformPkg/FspWrap= per/Library/PeiFspWrapperHobProcessLib/PeiFspWrapperHobProcessLib.inf index b846e7af1d2d..e2aac36bf018 100644 --- a/Platform/Intel/MinPlatformPkg/FspWrapper/Library/PeiFspWrapperHobProc= essLib/PeiFspWrapperHobProcessLib.inf +++ b/Platform/Intel/MinPlatformPkg/FspWrapper/Library/PeiFspWrapperHobP +++ rocessLib/PeiFspWrapperHobProcessLib.inf @@ -75,7 +75,9 @@ gZeroGuid gEfiGraphicsInfoHobGuid gEfiGraphicsDeviceInfoHobGuid+ gE= fiAcpiVariableGuid [Ppis] gEfiPeiCapsulePpiGuid = ## CONSUMES+ gEfiPeiReadOnlyVariable2PpiGuid = ## CONSUMES gEdkiiSiliconInitializedPpiGuid = ## PRODUCESdiff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiIn= clude.dsc b/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiInclude.dsc index 08e50cac075f..0eb0cc8306ee 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiInclude.dsc +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CorePeiInclude.dsc @@ -41,3 +41,7 @@ NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256= .inf } !endif++!if gMinPlatformPkgTokenSpaceGuid.PcdBootToShellOnly =3D= =3D FALSE && gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable =3D=3D TRUE+ M= deModulePkg/Universal/Acpi/FirmwarePerformanceDataTablePei/FirmwarePerforma= ncePei.inf+!endifdiff --git a/Platform/Intel/MinPlatformPkg/Include/Fdf/Cor= ePostMemoryInclude.fdf b/Platform/Intel/MinPlatformPkg/Include/Fdf/CorePost= MemoryInclude.fdf index 3c2716d6728a..d8fb6683f7d4 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Fdf/CorePostMemoryInclude.fdf +++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/CorePostMemoryInclude.fd +++ f @@ -6,3 +6,7 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent # ##++!if gMinPlatformPkgTo= kenSpaceGuid.PcdBootToShellOnly =3D=3D FALSE && gS3FeaturePkgTokenSpaceGuid= .PcdS3FeatureEnable =3D=3D TRUE+ INF MdeModulePkg/Universal/Acpi/Firmware= PerformanceDataTablePei/FirmwarePerformancePei.inf+!endif-- 2.37.2