From nobody Sun Feb 8 21:41:58 2026 Delivered-To: importer@patchew.org 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+97034+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1670333040153502.2103547841417; Tue, 6 Dec 2022 05:24:00 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id idVEYY1788612xVTSC2DCvyX; Tue, 06 Dec 2022 05:23:59 -0800 X-Received: from NAM04-MW2-obe.outbound.protection.outlook.com (NAM04-MW2-obe.outbound.protection.outlook.com [40.107.101.45]) by mx.groups.io with SMTP id smtpd.web11.47425.1670333039306875045 for ; Tue, 06 Dec 2022 05:23:59 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Mnm4BCG/jc9NiKpIXFoEBmqt9MFVfHbVEnFrloHjzFQEF9r3Pjk+snOIsScxOjutQpKvPhtGvT6Vh24hv9iHQvFKm/iiXECUb36fNSrImDlKazAbDBxCXmysbTFHHvv60qwENK5YdI+MTFGFYSMMXI/FVRAFmMtCktAUunLhyV7VWCiAN7zK/80RACa0OdOKvFCKgv92ziVbaaMXZs/C+4GNHtQRKDn//253dPQYn1zt1/l11hnB3S6Yo17U6rvQBKCr7FjCyfbSqyTxGV5WbUNwNnA5j5EwscQt6zSL9DfbdmalPrxpoVLuqKoI4CCv4d95e4+8dCw+BQuFFf//+Q== 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=XB6bBUeU7heSAIg9B9kTpU1AJUdEROlGmg32FVQx+UY=; b=kAeGs6QPv734Hk/CPshmjthBWtgcuB5CoWJOMCDbYpLoJLBwUE1Z+wD1NlKPeOBv6G84DjFwOwY241AjG+zTEvlJju+2P//nK7a+9ixP3yBh8I/4EButXIHdefKAWXCfpAzWHtLt13EVxpUIw13tKoR8SAsxEc4gObDk36ySwvHl951xaeKDeb7tyStyDOKX2MDIDVr7roDkEadC7JGUsOBJVT3SJF8mIlMeeyKC67f79DX0OjDMLzQQrDko0izAU6Heo6ZDDHs/USMEHGZt4XTUaOG5o2+i1qcgjHFb5bufgykHqfkWhsIcjdKWeFd5XIeLEx7MX3ZJg+4dgB+dWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none X-Received: from BN9PR03CA0665.namprd03.prod.outlook.com (2603:10b6:408:10e::10) by DM4PR12MB5889.namprd12.prod.outlook.com (2603:10b6:8:65::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec 2022 13:23:57 +0000 X-Received: from BN8NAM11FT004.eop-nam11.prod.protection.outlook.com (2603:10b6:408:10e:cafe::5b) by BN9PR03CA0665.outlook.office365.com (2603:10b6:408:10e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend Transport; Tue, 6 Dec 2022 13:23:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; 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+97034+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C X-Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT004.mail.protection.outlook.com (10.13.176.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 13:23:56 +0000 X-Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec 2022 07:23:56 -0600 X-Received: from BLR-LAB-SFW01.amd.com (10.180.168.240) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend Transport; Tue, 6 Dec 2022 07:23:54 -0600 From: "Abdul Lateef Attar via groups.io" To: CC: Abdul Lateef Attar , Paul Grimes , Garrett Kirkendall , "Abner Chang" , Eric Dong , Ray Ni , Rahul Kumar Subject: [edk2-devel] [PATCH v1 5/5] UefiCpuPkg/AmdSmmCpuFeaturesLib: Handles S3 save state Date: Tue, 6 Dec 2022 18:53:18 +0530 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT004:EE_|DM4PR12MB5889:EE_ X-MS-Office365-Filtering-Correlation-Id: 528d72a2-a71f-4e52-e45e-08dad78d20e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: og8+93OKPAnXxMYUlWp9nrBcMg9252fZPFffyWGjZKKV0DoHNesBV9GNpo9fOy0sanV9+IvzPaw3nbSwH3G0xJzFbiDTvnoDGfLiltDh7upskCShzXbCuhVJov1fqTt7hjG1B2bRa5PgwVmJf6WI6DsgrB9CVnxpBOlMWH3UaU79EfKfGm36mfDDtb1TL5LSnx+2s8zKqUrCpGJe5F1EFnJHXxYPScVn8HlOzE/EMct+WrFLMXTsYNwbI55KDklj0NtgI6ccI3wyVcrxQSL0uYBb3yornWdbJoFBexxMRgC5Wht6WBn+OncYoSWRmE+GeybBYB1ADZ7gAcgmXIPBOXsyG0lIoyrl2f4wejBpA4q/2leR57hbokQcg8CQuAakWCGImOTGEnoRjl+REjdqGLN7uJmRtHsA4FR8X+dvWoSFv43uFGJbAhEXc1M3Gb34Ckc8YNsDfFfgz5+s07COm46ThufWKbwHvRRXXE8oB4fpJSgIMiFJ7SMmS091UN3LJ7Pp/cDLYRW99g6bZ80VBTJIJGZSzUv/QV0Q20lfOl1l74PqRdXImSMyXjeCsdSHwpRK/LEYr0sL6s5qJArM6LcG43ca+NyJ4GeyeJH7+wNNGiBFyc3iqN1xZSfsVNqkxXOF8hmCmzUR1PPBi+8Btrp6DPyXAdGT1V1+qdfTSlYxaKxEzwczTUHBTS+O0CCxcRA6+iYApkFNJKrzex53syjD5+5yfsGtZoOLMa0bOz/XWmeRTzkquUNWGYEsAaC/ZBXUjinyuWN97Na7q5LnkmOYlkQAg+7vMpmErcYJkyY= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:23:56.8528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 528d72a2-a71f-4e52-e45e-08dad78d20e8 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT004.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5889 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,abdattar@amd.com X-Gm-Message-State: u4wl8r2hrYbrLXo18KaDR4FHx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1670333039; bh=1toEspOrcZYu3BePn4xbLuUVP1JCaw1Q/6bhuGkBN58=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=KaYGPEx7kxksheoJfIrUsXdvSL6YlIVMRhIuNIMdCof1O/hWUrYXVKKEs/qmk0DmRXN WVNrq+DDXzDI1y8mMubBv0kigEdvJxuwKfAV1qaEOlqU+a+Nk/5hW8EqBcNgLrG++CqIk Exi/BLHoMt8h5zjft0gI87bc1xvz6mf7Tbc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1670333042172100005 Content-Type: text/plain; charset="utf-8" From: Abdul Lateef Attar BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4182 Handles S3 save state restore condition. Implements SmmCpuFeaturesCompleteSmmReadyToLock() to sync all processor and update S3 resume entry point. Cc: Paul Grimes Cc: Garrett Kirkendall Cc: Abner Chang Cc: Eric Dong Cc: Ray Ni Cc: Rahul Kumar Signed-off-by: Abdul Lateef Attar --- .../AmdSmmCpuFeaturesLib.inf | 1 + .../SmmCpuFeaturesLib/Amd/SmramSaveState.h | 19 +++++++++++ .../SmmCpuFeaturesLib/Amd/SmmCpuFeaturesLib.c | 32 +++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.inf = b/UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.inf index 95eb31d16ead..7fd559e91ad8 100644 --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.inf +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.inf @@ -27,6 +27,7 @@ [Sources] [Packages] MdePkg/MdePkg.dec UefiCpuPkg/UefiCpuPkg.dec + MdeModulePkg/MdeModulePkg.dec =20 [LibraryClasses] BaseLib diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmramSaveState.h b/Ue= fiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmramSaveState.h index 290ebdbc9227..474a5dbd9765 100644 --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmramSaveState.h +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmramSaveState.h @@ -17,6 +17,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include #include #include +#include =20 // EFER register LMA bit #define LMA BIT10 @@ -106,4 +107,22 @@ InternalSmmCpuFeaturesWriteSaveStateRegister ( IN CONST VOID *Buffer ); =20 +/** + Initialize MP synchronization data. +**/ +VOID +EFIAPI +InitializeMpSyncData ( + VOID + ); + +/** + Perform SMM MP sync Semaphores re-initialization in the S3 boot path. +**/ +VOID +EFIAPI +SmmS3MpSemaphoreInit ( + VOID + ); + #endif diff --git a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmmCpuFeaturesLib.c b= /UefiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmmCpuFeaturesLib.c index 10bed4116397..b855573d9401 100644 --- a/UefiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmmCpuFeaturesLib.c +++ b/UefiCpuPkg/Library/SmmCpuFeaturesLib/Amd/SmmCpuFeaturesLib.c @@ -14,6 +14,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent // The mode of the CPU at the time an SMI occurs extern UINT8 mSmmSaveStateRegisterLma; =20 +// SMM S3 resume state Ptr +extern SMM_S3_RESUME_STATE *mSmmS3ResumeState; + /** Read an SMM Save State register on the target processor. If this functi= on returns EFI_UNSUPPORTED, then the caller is responsible for reading the @@ -441,4 +444,33 @@ SmmCpuFeaturesCompleteSmmReadyToLock ( VOID ) { + if (mSmmS3ResumeState !=3D NULL ) { + mSmmS3ResumeState->SmmS3ResumeEntryPoint =3D (EFI_PHYSICAL_ADDRESS)(UI= NTN)SmmS3MpSemaphoreInit; + } +} + +/** + Perform SMM MP sync Semaphores re-initialization in the S3 boot path. +**/ +VOID +EFIAPI +SmmS3MpSemaphoreInit ( + VOID + ) +{ + InitializeMpSyncData (); + + DEBUG ((DEBUG_INFO, "SMM S3 Return CS =3D %x\n", mSmmS3Re= sumeState->ReturnCs)); + DEBUG ((DEBUG_INFO, "SMM S3 Return Entry Point =3D %x\n", mSmmS3Re= sumeState->ReturnEntryPoint)); + DEBUG ((DEBUG_INFO, "SMM S3 Return Context1 =3D %x\n", mSmmS3Re= sumeState->ReturnContext1)); + DEBUG ((DEBUG_INFO, "SMM S3 Return Context2 =3D %x\n", mSmmS3Re= sumeState->ReturnContext2)); + DEBUG ((DEBUG_INFO, "SMM S3 Return Stack Pointer =3D %x\n", mSmmS3Re= sumeState->ReturnStackPointer)); + + AsmDisablePaging64 ( + mSmmS3ResumeState->ReturnCs, + (UINT32)mSmmS3ResumeState->ReturnEntryPoint, + (UINT32)mSmmS3ResumeState->ReturnContext1, + (UINT32)mSmmS3ResumeState->ReturnContext2, + (UINT32)mSmmS3ResumeState->ReturnStackPointer + ); } --=20 2.25.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 (#97034): https://edk2.groups.io/g/devel/message/97034 Mute This Topic: https://groups.io/mt/95492572/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-