From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.2791.1689063022243652000 for ; Tue, 11 Jul 2023 01:10:22 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=P/889OqO; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689063022; x=1720599022; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=KSMaMetmYPP6eeOhFxwvTpqPwY2HpFkggYDOhYc4H4E=; b=P/889OqOYhg6bs8mqiXUwPyagEdp2o/QHpF/sF48OeByQFZHWgbMtq5g /cRHwWwqcKnOV1Gqg4JAl93ZtAeQrGElzaHvq/+1w+F8cYwQ5QXNaefQ8 d8tbttyZmlTSiNhms2+nT2kewYYFM0MnRnrRD7/uYNih9G1XA7bUUNZy5 8degexRmcACpCT8e4cOzMMPbQqixL5Shf8yknZxTnlCOSy5G17hx37Joq 3YvE6pfznELELmcP1O2TpWYhvrnWaGr8nUMBiLvNfzkV0RGERaXpVVLPN a75mY173IPuKc+6QUbrJXw78SWSwg4rpSwpkryrIYcwyEf7FeymvzJbbF A==; X-IronPort-AV: E=McAfee;i="6600,9927,10767"; a="354418155" X-IronPort-AV: E=Sophos;i="6.01,196,1684825200"; d="scan'208";a="354418155" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jul 2023 01:10:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10767"; a="724343308" X-IronPort-AV: E=Sophos;i="6.01,196,1684825200"; d="scan'208";a="724343308" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga007.fm.intel.com with ESMTP; 11 Jul 2023 01:10:21 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 11 Jul 2023 01:10:21 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Tue, 11 Jul 2023 01:10:21 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.171) 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.2507.27; Tue, 11 Jul 2023 01:10:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JXxXulc1fneBoPYaKSKqI+wWFkQQVZsNnkOKXF18roVdygZyTAHu9SCNpRHlEY1PBoEe9RLdwuTyYCps1eczp7soDewSPQZ0gMcYUiJ86W6VyMDo03/t4QaVkNnulErRn1jOehJ1nPoCzBtADXeuhBmqdt5bqCfVOSoqDFJtk6xLoPAJEQPK2UBrr9cRNE8Lb26DXCAXQYQhu03WgiY51HkfffD8JJQaww6UUz2oHHKdukzWaAHvdt/UQwgOpmH6TT4FJDD8c5pmmXRof0bl48JZPaDEWfVPakPhWoVxSS17mR0oOaD+w+cK4iPDaSC/5UXP23h5TaO1plcTiV/jxQ== 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=AjJJHTYB03hYsapAVsWeB9wG+1zNyRWQwJeuu19uzFU=; b=bASvRF46JiJgqqIZDe7ewgmRPCWyeatdVnTdKirWo4VeSS+2f7xzxodD//LQCBFt3dHExNfkkCUAX9iuhxmjYCqePykgkNsOi9xplzpib1yEzvkOzz/n+S3rV69s1RkoouTu1Vp4KZXwXTaypLlNP50QevMJaBw0+5W0Ylr2OHvIJLUrFScgAsAUoJCwWqw4zvDRt9FbYstBwkwtDgpnETcgOyy2hKfB/JC/kAqBUMzNL9X4LXNStyAvhGbui9EIyRZV75z6HSkLW3tV29bm9lx4Ix9UqBj6e0WqBpM2WeKS3hTcNfwalm15I9LGD1CxTXOFsXpGQfxZt/tQf94+AQ== 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 MN6PR11MB8244.namprd11.prod.outlook.com (2603:10b6:208:470::14) by CO1PR11MB5043.namprd11.prod.outlook.com (2603:10b6:303:96::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.31; Tue, 11 Jul 2023 08:10:18 +0000 Received: from MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::e4d:db4b:664d:97be]) by MN6PR11MB8244.namprd11.prod.outlook.com ([fe80::e4d:db4b:664d:97be%4]) with mapi id 15.20.6565.028; Tue, 11 Jul 2023 08:10:17 +0000 From: "Ni, Ray" To: "Tan, Dun" , "devel@edk2.groups.io" , "abdattar@amd.com" , Abner Chang Subject: Re: Use gMmst from MmServiceTableLib in MmSaveStateLib Thread-Topic: Use gMmst from MmServiceTableLib in MmSaveStateLib Thread-Index: AQHZrxyafd9Kii0gxUKTwo2Tugu136+0P2gA Date: Tue, 11 Jul 2023 08:10:17 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN6PR11MB8244:EE_|CO1PR11MB5043:EE_ x-ms-office365-filtering-correlation-id: d028991a-505a-462e-9dfa-08db81e6438d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: u4Nuc9Y192VZGTbuZO7+3lk3Z4UZaBlEWAlivDe/HlsT+auDsjDYHcZ1FwyxahjshUqBmUSBqNJnVSnSfXz/AS3en0yjOqE3RWxTBLCQGzP4Ve+5Evo3JDkUyFKYMbJjm4TZXmyBNCvhfSUBzOo2nnNxy+DybJxQ/7daG/TaT8NKCBvgCc+Skx/s8pbl9OO1ZNmRIaUZw8KKx3TJQcpopbnKsYPVaSX/4YtoKhCf8UC051gCjBXOLT70FTXROR0hFf8K3VH9cjeXd/pWIhqTryTwk3rbRu+v7GAqgoJ1N4ekW2rdScr4cQp2ryzWDOGRgIcndGOj1iVH4s0794LPbIO5eN8uc5nVJXM6FxJiTAyYsnENAVFvgIKuokIc++VXftmZURC+InNb5GB+edX2mDbaXOXaGlpeKgUoiAptQgWdl+dDu4X+xD8BcQIohbuGu696SzxUkqt2suZZHRLIdQBY8dPD3ck9Llx1hQPCsW0X43O7RiGspP2HjWWq5do8Z5hAw+YYEAx4CMO6AQqE4cdLBNZYW39DeIh+AGirocDnLqGG09vpIHkWA5z3pRjNU5hk1+c8v2UiPaW3DynldTZJ1iJdR5Q9XPgJfZnAFKbax1KVeLAejRSrGee5A9wp6MOX7XDPcjsElpFiKteXng== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN6PR11MB8244.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(6029001)(376002)(366004)(396003)(136003)(346002)(39860400002)(451199021)(19627235002)(110136005)(7696005)(76116006)(478600001)(71200400001)(53546011)(6506007)(186003)(9686003)(966005)(2906002)(66946007)(41300700001)(66556008)(316002)(5660300002)(8936002)(8676002)(64756008)(52536014)(66476007)(122000001)(38100700002)(66446008)(82960400001)(86362001)(33656002)(38070700005)(83380400001)(55016003)(66899021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?gOsdOpIYcdolNFVf5t5dv+vw4zXP5OdkL7oTTvRMYzbPcq5IbFczDmYWwoYX?= =?us-ascii?Q?VDolDq8tOFQyKur+xgaulKavpt7h3vLrUtQ6SZ5f+PcBjF3IRpRXy+p7bs1j?= =?us-ascii?Q?EampbvXe1vf7uyR1Mkm0bsVxSNiEqjPj4Q3BvIt+7bzDv7nlqfh4+hFdbsNK?= =?us-ascii?Q?3SJc0mDmYWCNBmw6PWrmsQUPojrwQ5+szCdi1m6tP2pf1gRKi4uM6EdAQa+I?= =?us-ascii?Q?cm74GfkdimJElxwD/J48YzZVLDtSQXde7ITyEnffQHXlGCndpM/PNmbc/aB4?= =?us-ascii?Q?OGWEDTmEaRt95A7Hip5op3RHtey2zZ5gy0x8135lmY3iM6mF3HGNA+wLUgTu?= =?us-ascii?Q?o9dHn2dprvlWGLU5y/VuN+xwjAFUvf5D5RWpqm0E57BNTK9oo1ZEUpNtuIIj?= =?us-ascii?Q?Jd5b7bhxYHVUKcS/3rQpcbOXkdgimoC3xMTF6Y7lMl6s4+0+fCAwXSI0WTe1?= =?us-ascii?Q?xAWIynPOrUG/F8xVoOZ6FY6/x4zJIdXKaGKS2WjVtsj0yfpvsZOtRUltlmwe?= =?us-ascii?Q?F+iwCSqp145Rqdzr2MacsSzMikSjAHGt/qOnAvyra7ynTM6X3XRAYN4uooly?= =?us-ascii?Q?mSkSdPTmm3iHOsy31dTxNAWkobbsNKjOZDHCxoXsCSPJvMDqEuw9nIEwWG7t?= =?us-ascii?Q?uRKwiZlx3darXqH3ET/ekxHqOl1/CLjab8Hi1ycCiAlr9eHzaWERciNrHfIa?= =?us-ascii?Q?6SfX+dHhJpq2DD/Po/1zyjpu1zhoyTGfUznTrYLHHOclomofDLlBZdAsN7GK?= =?us-ascii?Q?k7/6RALYf5q30t/vfKWqMHygjc5ZnqzO8F63PDXCcrzXCKhdbJ2V9kpLOL6s?= =?us-ascii?Q?oZJSSeGhSMxJ7+Bc1MoPElOmdzKO61bFekJ/waO+y/Plocm7W7jegYjdHp6+?= =?us-ascii?Q?zzoWdYiVAmq9s3E6NRh6p3xqVA8C+uh5sFaCR9qhJPYx56T1jKbof8fA0xui?= =?us-ascii?Q?Cc2balMoScpCP6iRVsCl8AYvZGqcAeXs7mY81sa5AXZsLNKLdzdllTmF309x?= =?us-ascii?Q?FDCeyAlw/WIxiYss1xr6aU3UWX8/ZyAC3yQKsTOfsuf8byZPBH68s6gZ+wKb?= =?us-ascii?Q?c9JDBSiCC5sTtko4LIaT6K/xVlqCzr1Ry54fOn18QKbv6xuFczu1AFTu7iu/?= =?us-ascii?Q?hPGporAViV1yRuUzui+4GQyGydmkP+6bddbql3keKkjV8HLqckiw6xjpWg31?= =?us-ascii?Q?ouz8SRyefsgBroyJDUPVGsfq5y0akqtPQpuVhBVCexvPUasS53Tpw9Re0iCw?= =?us-ascii?Q?zdF3zP8/B1PvYByfvSzsXI8Atf3cvh/eqPFDWzHhSNMYyN67ebMa25qk6CDH?= =?us-ascii?Q?Uf9Pf4AQqrYY95ur+2lXhFvKlNVJ0vpZ27IQT9Ow2qfdv9f/jKDz11QvzE5L?= =?us-ascii?Q?5fNWZ2awpfcn6RX4GNVFBgiutj6rvTJ0VWn2s8S3OAz5WSI9t4Y/A7ODjhZb?= =?us-ascii?Q?HuSXgk7qteCXvqQcvYenFsoR9D+b1x4Es3eGUaMFobUsoGLos8k0fegrQBR7?= =?us-ascii?Q?AzN/A1AYYiIo5tbhK/mXLdLMSZ1laASuttVq5mGCgrP5RN85/C/SVT3nyA?= =?us-ascii?Q?=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN6PR11MB8244.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d028991a-505a-462e-9dfa-08db81e6438d X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jul 2023 08:10:17.8745 (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: PACYnuqoNoT2H7qDvD0FhH/FspZqSTPsz4SL+n23cNNXnE+Ra8GuCgZMrzk1KWiVDW4HxP8bCN8120R244HF1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5043 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Abdul, Can you please send a patch to fix MmSaveStateLib to use gMmst (instead of = gSmst)? Using gSmst forbids the lib instance be linked by standalone MM modules. Thanks, Ray > -----Original Message----- > From: Tan, Dun > Sent: Wednesday, July 5, 2023 4:42 PM > To: devel@edk2.groups.io; abdattar@amd.com > Cc: Ni, Ray > Subject: Use gMmst from MmServiceTableLib in MmSaveStateLib >=20 > Hi Abdul, >=20 > In the new MmSaveStateLib created in this patch set, gSmst from > SmmServiceTableLib is used. This causes that only DXE_SMM_DRIVER type > module can consume this lib but MM_STANDALONE type module cannot. >=20 > In current edk2, there are different MmServicesTableLib and > SmmServicesTableLib: > StadaloneMmServicesTableLib(MmServicesTableLib|MM_STANDALONE): > initialize gMmst in standalone SMM env. > MmServicesTableLib(MmServicesTableLib|DXE_SMM_DRIVER): > initialize gMmst in legacy SMM env. > SmmServicesTableLib(SmmServicesTableLib|DXE_SMM_DRIVER): initialize gSmst > in legacy SMM env. >=20 > If MmSaveStateLib uses gMmst from MmServiceTableLib instead of gSmst, the= n > MmSaveStateLib can be consumed by both DXE_SMM_DRIVER and > MM_STANDALONE module. > Could you pls send patch to fix this? >=20 > Thanks, > Dun >=20 > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Abdul Late= ef > Attar via groups.io > Sent: Sunday, July 2, 2023 12:14 PM > To: devel@edk2.groups.io > Cc: Abdul Lateef Attar ; Paul Grimes > ; Abner Chang ; Dong, Eric > ; Ni, Ray ; Kumar, Rahul R > ; Gerd Hoffmann ; Kinney, > Michael D ; Gao, Liming > ; Liu, Zhiguang ; Ard > Biesheuvel ; Yao, Jiewen ; > Justen, Jordan L > Subject: [edk2-devel] [PATCH v15 0/8] Adds AmdSmmCpuFeaturesLib and > MmSaveStateLib >=20 > Backward-compatibility changes: > This patch series removes the SmmCpuFeaturesReadSaveStateRegister > and SmmCpuFeaturesWriteSaveStateRegister interface/function. > SmmReadSaveState() and SmmWriteSaveState() now directly invokes > MmSaveStateLib > routines to save/restore registers. >=20 > PR: https://github.com/tianocore/edk2/pull/4597 >=20 > V15: Delta changes > Rebase the branch and fix the merge conflicts. > V14: Delta changes > Added @note to the MmSaveStateLib.h. > SaveState(Read/Write) of > EFI_SMM_SAVE_STATE_REGISTER_PROCESSOR_ID/EFI_MM_SAVE_STATE_REGIS > TER_PROCESSOR_ID > is handled by PiSmmCpuDxeSmm driver. > Fixed PatchCheck warnings. > 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 > SmmCpuFeaturesWriteSaveStateRegister > 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. >=20 > 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 >=20 > 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 >=20 > UefiCpuPkg/UefiCpuPkg.dec | 4 + > OvmfPkg/OvmfPkgIa32.dsc | 1 + > OvmfPkg/OvmfPkgIa32X64.dsc | 3 + > OvmfPkg/OvmfPkgX64.dsc | 1 + > UefiCpuPkg/UefiCpuPkg.dsc | 12 + > .../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 | 74 ++ > .../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, 1809 insertions(+), 1508 deletions(-) create mode 100= 644 > UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveStateLib.inf > create mode 100644 > UefiCpuPkg/Library/MmSaveStateLib/IntelMmSaveStateLib.inf > create mode 100644 > UefiCpuPkg/Library/SmmCpuFeaturesLib/AmdSmmCpuFeaturesLib.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/AmdSmmCpuFeaturesLib.c >=20 > -- > 2.25.1 >=20 >=20 >=20 >=20 >=20