From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (NAM12-BN8-obe.outbound.protection.outlook.com [40.107.237.51]) by mx.groups.io with SMTP id smtpd.web11.23651.1683894753002315391 for ; Fri, 12 May 2023 05:32:33 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=yNGZHMGk; 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.237.51, mailfrom: abdullateef.attar@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=THG07GnQCBEeJGMxFacNFA3pRvlDgmV0UWDlwAwL0FjrL/2sYOolzHw0vllZSMEUB1zgJthv3jcuFbq6/nd8qYeqAFJ8xh7K8O48fOhoBzs0BE/Q4BjGcAVeNZkUZTfXm5R5fGOxaufdnG/zwGF+ykON4ObCLklPJkaSJdzDblnVrxKQ3GzsKSe/UFzMGkweCl8nNd8KiZsShg1RbN2lflInAxC3JJukSo86X+wfn97c950Ar+WWJgpFlz4SSDqaZTnE/Yf8acu0Afyu4HydlZej36oiZXF+aAUxv/iX4d1hAV0J/aIhAQlzSXUXe7nCrp+71pSheK3RrLC2wMb1Dg== 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=mkqIdLhjjWIQz/OszlM5EfLtr2oh+2kQW8X1NnqNzg8=; b=nLmzii8OVJ9JPiwDrygWfpy1jaPtTS/ar99xxfNNOBhhc8b4zlXhZI4rrm5OlhTCc6bbsQlvmN5coeGkHgHwlKphPnOx1H2WnShxUxMf8p5zqwCGcy7fTHDhNcl43b1Kw3RX2JllZkox+qYNkIpB73hnVxuWP5/0SmdBU/gRIKw+pkH+fMG79g0a4Ya5K36ILHw7ELsyWWkFOUPw1N3LH0M8f9MufE9V6/foJNF2DmYQqxmb+eKKOH4OpP+tWCKWYZ6Un7dMUf2KWnwxVmnb2bXqHoyLMofWj772+yxs8rf2OzKElpbrIHjK38hriKLl0DascEoi4PF6sZoVprSYTg== 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 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=mkqIdLhjjWIQz/OszlM5EfLtr2oh+2kQW8X1NnqNzg8=; b=yNGZHMGk3dqn8azyx53tvyoMnXS0UIr2jKgtsYvsTVTKvux3wDDQmRKn9rLnSQs5temVc9D3MHfqRIM4/AxmoZfAmiylVh57ehRhTkTr9EznIcPDVKFYhc7E07G2FGjqdQCX6t8I1mTnIZWV1HX0+oh9VQE/p9FxaasTjVVMvmw= Received: from MW4PR03CA0355.namprd03.prod.outlook.com (2603:10b6:303:dc::30) by PH7PR12MB7259.namprd12.prod.outlook.com (2603:10b6:510:207::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.20; Fri, 12 May 2023 12:32:30 +0000 Received: from CO1NAM11FT068.eop-nam11.prod.protection.outlook.com (2603:10b6:303:dc:cafe::d6) by MW4PR03CA0355.outlook.office365.com (2603:10b6:303:dc::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.24 via Frontend Transport; Fri, 12 May 2023 12:32:30 +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 (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=SATLEXMB03.amd.com; pr=C Received: from SATLEXMB03.amd.com (165.204.84.17) by CO1NAM11FT068.mail.protection.outlook.com (10.13.175.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.6387.24 via Frontend Transport; Fri, 12 May 2023 12:32:30 +0000 Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 12 May 2023 07:32:29 -0500 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; Fri, 12 May 2023 07:32:25 -0500 From: "Abdul Lateef Attar" To: CC: Abdul Lateef Attar , Paul Grimes , Abner Chang , Eric Dong , Ray Ni , Rahul Kumar , Gerd Hoffmann , Michael D Kinney , "Liming Gao" , Zhiguang Liu , "Ard Biesheuvel" , Jiewen Yao , Jordan Justen Subject: [PATCH v13 0/8] Adds AmdSmmCpuFeaturesLib and MmSaveStateLib Date: Fri, 12 May 2023 18:02:16 +0530 Message-ID: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Return-Path: AbdulLateef.Attar@amd.com X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT068:EE_|PH7PR12MB7259:EE_ X-MS-Office365-Filtering-Correlation-Id: 8b1c326e-2b95-40fe-fec6-08db52e4f400 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fpApICpRliv7OSpSpA/0IcFMDiD9vF8jvAp+Ve4jMva99pMjDpwpvt7AEzFinlcR4c4P9U1JvBldyd/SmdeRUd0YcVGner+sEKpjVs3iPGQgQF5pcVT/UxA/p89Q3d9zVwaVR28e9rFEQZGksd7UTycUDJpMUYEkGDq9ph3Q2aQ2ceX5Af1FISRYzMmaDIYvJhm7emxs3ONVrjIjIpW7CxZyZZ8x7Ut+Q85VYJo3NVJucQBA7R4zFlze53dotQXYA61tfcqd+rT9G3zPlp35mbsXFtY6UHgED56o4RbOyp1OG9XRz+zvIHYyjmSemb3KllsVN2E4JjBqkYth/sziRunZ4mOIe9u9qyHOaS6/DNwexc5/SCt2y8wzSUokNVeZ7wWnZxm6QtaA8YzSOOJkpvhNF5jQEpC2vpCcMEfsWAXokDvvdYKuSwhqjRtqc8SwlR5aU8dfz0eQaWH0LTsovvs04loZH8tJf+3poBOtPY95UhGIG7AWn5Jsaz4n1VuC9VRlcys9H/Z5QKmiTvI6eoG6ieSUgIm+QYmjN6f6cy5pTdKaur0AaCss1oae9IwB9FkCA/FBDDTOJdGsxwD9vYyAhgx9xCn8yd+Q4MW5hBxzLgd9KqGFAzHAdhqdSbXgJjaPsNAzHFpcsqKWZ32XvF0Fma98+F6CaMQ9SJOAhQqNTIHRArwl7TkPhKVohyf5YvYOPk4DbEgC7VjvKnE5IfgiwDTnTe23+AyxPSD/K74D8yCWl9DPCseEquKXZn/ScorG+4b5+ltFesy5YhHV7WKW4IFYevgGxQoX9NgTni8= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230028)(6029001)(4636009)(39860400002)(136003)(376002)(396003)(346002)(451199021)(36840700001)(46966006)(40470700004)(336012)(426003)(186003)(36860700001)(478600001)(47076005)(83380400001)(26005)(2616005)(8676002)(40460700003)(7696005)(6666004)(5660300002)(8936002)(81166007)(41300700001)(316002)(356005)(40480700001)(966005)(82310400005)(6916009)(54906003)(36756003)(4326008)(82740400003)(7416002)(70206006)(2906002)(70586007)(19627235002)(213903007)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2023 12:32:30.1065 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8b1c326e-2b95-40fe-fec6-08db52e4f400 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=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT068.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7259 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Backward-compatibility changes: This patch series removes the SmmCpuFeaturesReadSaveStateRegister and SmmCpuFeaturesWriteSaveStateRegister interface/function. SmmReadSaveState() and SmmWriteSaveState() now directly invokes MmSaveSta= teLib routines to save/restore registers. PR: https://github.com/tianocore/edk2/pull/4392 V13: Delta changes Address review comments from Ray Ni Changed the BASE _NAME of AmdSmmCpuFeaturesLib. Removed EFIAPI from local function. Removed CpuIndex parameter from MmSaveStateGetRegisterLma Modifed MmSaveStateGetRegisterIndex () to accept RegOffset as second parameter. Removed FILE_GUID library instance for intel implemention from UefiCpuPkg= .dsc. V12: Addressed review comments from Michael. Added LibraryClasses to .inf file. removed duplicate MACRO definations. Moved related MACRO defination to respective file. V11: Delta changes Drop the OVMF implementation of MmSaveStateLib V10: Delta changes: Addressed review comments from Abner. V9: Delta changes: Addressed review comments. Rename to MmSaveStateLib. Also rename SMM_ defines to MM_. Implemented OVMF MmSaveStateLib. Removes SmmCpuFeaturesReadSaveStateRegister and SmmCpuFeaturesWriteSaveSt= ateRegister function interface. V8 delta changes: Addressed review comments from Abner, Fix the whitespace error. Seperate the Ovmf changes to another patch V7 delta changes: Adds SmmSmramSaveStateLib for Intel processor. Integrate SmmSmramSaveStateLib library. V6 delta changes: Addressed review comments for Ray NI. removed unnecessary EFIAPI. V5 delta changes: rebase to master branch. updated Reviewed-by V4 delta changes: rebase to master branch. added reviewed-by. V3 delta changes: Addressed review comments from Abner chang. Re-arranged patch order. Cc: Paul Grimes Cc: Abner Chang Cc: Eric Dong Cc: Ray Ni Cc: Rahul Kumar Cc: Gerd Hoffmann Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Abdul Lateef Attar Abdul Lateef Attar (8): MdePkg: Adds AMD SMRAM save state map UefiCpuPkg: Adds MmSaveStateLib library class UefiCpuPkg: Implements MmSaveStateLib library instance UefiCpuPkg/SmmCpuFeaturesLib: Restructure arch-dependent code UefiCpuPkg: Implements SmmCpuFeaturesLib for AMD Family UefiCpuPkg: Implements MmSaveStateLib for Intel UefiCpuPkg: Removes SmmCpuFeaturesReadSaveStateRegister OvmfPkg: Uses MmSaveStateLib library UefiCpuPkg/UefiCpuPkg.dec | 4 + OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 3 + OvmfPkg/OvmfPkgX64.dsc | 1 + UefiCpuPkg/UefiCpuPkg.dsc | 13 + .../MmSaveStateLib/AmdMmSaveStateLib.inf | 34 + .../MmSaveStateLib/IntelMmSaveStateLib.inf | 34 + .../AmdSmmCpuFeaturesLib.inf | 38 + UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf | 2 + .../Include/Register/Amd/SmramSaveStateMap.h | 194 +++++ UefiCpuPkg/Include/Library/MmSaveStateLib.h | 70 ++ .../Include/Library/SmmCpuFeaturesLib.h | 52 -- .../Library/MmSaveStateLib/MmSaveState.h | 94 +++ UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 56 +- .../SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 767 ------------------ .../Library/MmSaveStateLib/AmdMmSaveState.c | 309 +++++++ .../Library/MmSaveStateLib/IntelMmSaveState.c | 410 ++++++++++ .../MmSaveStateLib/MmSaveStateCommon.c | 132 +++ .../SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.c | 387 +++++++++ .../IntelSmmCpuFeaturesLib.c | 70 ++ .../SmmCpuFeaturesLibCommon.c | 128 --- UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.c | 11 +- UefiCpuPkg/PiSmmCpuDxeSmm/SmramSaveState.c | 500 +----------- MdePkg/MdePkg.ci.yaml | 4 +- 24 files changed, 1806 insertions(+), 1508 deletions(-) create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveStateLib.inf create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/IntelMmSaveStateLib.i= nf create mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesL= ib.inf create mode 100644 MdePkg/Include/Register/Amd/SmramSaveStateMap.h create mode 100644 UefiCpuPkg/Include/Library/MmSaveStateLib.h create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/MmSaveState.h create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveState.c create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/IntelMmSaveState.c create mode 100644 UefiCpuPkg/Library/MmSaveStateLib/MmSaveStateCommon.c create mode 100644 UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesL= ib.c --=20 2.25.1