From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.6214.1611904084708385480 for ; Thu, 28 Jan 2021 23:08:04 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=DDoS5sQj; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: ray.ni@intel.com) IronPort-SDR: Rd3IR+OpLmjJQ0RSGeBkLNRBSZo7QsW9mtETlmWKhHkYO9/8Ava4sLFVTgCgoEv4horWgx2Gdy 7Mzd42z0XvxA== X-IronPort-AV: E=McAfee;i="6000,8403,9878"; a="244465648" X-IronPort-AV: E=Sophos;i="5.79,384,1602572400"; d="scan'208";a="244465648" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jan 2021 23:08:04 -0800 IronPort-SDR: C2FOzAPBY1Pe6efWdnD4YeDSl2Hv6k54plixHOhLirBG+Jepmj4NGd8bcaS3tA5KWHHgvgJbbQ RDHrhPO9ZfMA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,384,1602572400"; d="scan'208";a="505614354" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga004.jf.intel.com with ESMTP; 28 Jan 2021 23:08:04 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 28 Jan 2021 23:08:03 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2106.2 via Frontend Transport; Thu, 28 Jan 2021 23:08:03 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.177) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 28 Jan 2021 23:07:53 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H9Ma5XU/FT5bUDyCETF2fNm+aLBQQJ0v2c8gG74faMG9shvTSBiqCo6dbQb4P1GsUgEuEQP3ClinrhyIe7HeYvYhSHIgFXKfVIDafHhzq96lp62clclYepuTEQfOksQrFeIDS3kRh4BpmSEUmQktKn0rHNzbov38dgTvD1GxH6nJ7jCCNRJOzIbq5aPIzsq8iVNPjFUkIIyy5wBAOQ7y1dd+jCxYzC4IMdsMdu7iX7PpnVYW4SMqbP0ZJjv3KBRHF+tfjKVfdGpvbwAYkCsu/85x31VDw3+CJ8MC0K+KvnZovc931PbgI18T8TzIesW4YnxueBSwrE/50VBEZJMHtA== 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-SenderADCheck; bh=CI/q6qleI83XGmWL+YeavWbOCtDzQFPVnFXE/PNppHw=; b=UjI4iAUR+4e8sar/f0wI3YZMsBxjF2OvZ13kS5UKHQjDGsn4JGawvTvKEvhV3jPjTyGnmZZJX83MvKNFnxFioUZRBevjzmkeaVFR6UUzVsh5UB7FeH1Bbpcm9nbp0CeHia2DvcI1KhmuaPYNGhzQYeXWqkSQt+DR9JPV1Oq9LZMh1N39ZKWKC1S8uargXuroFL+VZxu9zixQtzBffSPBIjT1av0DJFZziSfvsXZksG7IHuAwfJ1AiWZ/dCyauYog+35OrR3lpyVKCwPf0GMtMMmWK7vVwISNA5MXaocD13+ht2rRl/53pVv9smXpYTPehTqd36ExiWlx4P7RM/bnCQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CI/q6qleI83XGmWL+YeavWbOCtDzQFPVnFXE/PNppHw=; b=DDoS5sQjHmYTHlF5wIimcJAAfwnO9HF9sFsjH+YoyVk0jmqH6wzSc+ORHBoIpIl7+WM7hKbIpubTH9DuGGg8JemJgYf+aCkjSwopgkeiTRZY1xdpgChCfg7gWJ+WZ3NmOlkAEah4mMkRdnmcr69AhXKpSeFk46kZjy+pkaHERR4= Received: from CO1PR11MB4930.namprd11.prod.outlook.com (2603:10b6:303:9b::11) by MWHPR1101MB2125.namprd11.prod.outlook.com (2603:10b6:301:4d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.19; Fri, 29 Jan 2021 07:07:50 +0000 Received: from CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::8d64:91ed:c259:e95]) by CO1PR11MB4930.namprd11.prod.outlook.com ([fe80::8d64:91ed:c259:e95%6]) with mapi id 15.20.3805.021; Fri, 29 Jan 2021 07:07:49 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "kun.q@outlook.com" CC: "Dong, Eric" , Laszlo Ersek , "Kumar, Rahul1" Subject: Re: [edk2-devel] [PATCH v4 19/20] UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm Thread-Topic: [edk2-devel] [PATCH v4 19/20] UefiCpuPkg: CpuIo2Smm: Support of CpuIo driver under StandaloneMm Thread-Index: AQHW9BxPMQrYwvNoWEuFa/okcSLZ26o+Mpjg Date: Fri, 29 Jan 2021 07:07:49 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-reaction: no-action dlp-product: dlpe-windows authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f71bdff8-e4e1-4f67-7a82-08d8c42496ac x-ms-traffictypediagnostic: MWHPR1101MB2125: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3513; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: JVYQzoABOOTcVMVDHH5Hk9UwkQmutndT7ZRSOWhmG6N4AcArebhO3pq+SKwcEDyWcNeoYtIgSaVx+8QEtNKz2jJWAhg18yrqvK5m/dPhYcTIcZOqrDhr398EaUhTUhIM84Y89Jo+6l8P3XtkarpmrMnLGn8Ws9i0yiRayAGSH2iq2RhzffqEFk5Y1p2mrQzzyVzLmhQlE2hXfkmemzbDlxJT4/ai1VeOrJIFWMn5leIwLyizDPi33tO6XvtHozDJDvz/2UgAHg/2rjvJlWyhl9dCCV1EoLBKIovgd1j38r+05aarodYf1+9ax5pGSt0kDZKaoNlF8FumNbAFlvl0/ZT+cmipeZ/TrIgBGRw/H9fHQLJhCJoxtH0WCsKPPsi4NggLWGujI+wWzweqegL2Fkkfi0DYx72eOOuq1jL63dJqKh4CCM1uRlXmCgRODgbh00Jx9o9kQfsrtyn/RzR/dkQe7GNMVAVZKFoj+O6399Lghc6zotQ+CP1woGaTVKEp5XqT50VN6EEN7bmNhd+B07Wgw6MdNz8YxfqX1KGFfYbdC1IdfHwpvKhydWK0KxJ8mvKtxBfX5wTw9lmy/Gw0hQwGVo5qlqaNAUcUAMcH1co= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4930.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(376002)(366004)(396003)(39860400002)(26005)(19627235002)(966005)(478600001)(107886003)(71200400001)(53546011)(6506007)(83380400001)(4326008)(45080400002)(52536014)(86362001)(55016002)(5660300002)(76116006)(8676002)(110136005)(54906003)(66946007)(186003)(33656002)(2906002)(7696005)(316002)(8936002)(9686003)(66476007)(66556008)(66446008)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?BC/RiqgzXaJqQy6dOMSNote8kQ02LReR/mr2taKzPRQx01AXMG3n3oTwV9SL?= =?us-ascii?Q?CcZNlfg6Xado5x9cKQnH0+j/3s87XJDD6GHqAvQEvmbyShvd+Rs2rvfseJ+0?= =?us-ascii?Q?HJdir1V3w4G72dVqP835jfRyZ/7fo4KDH3u7ZCdBHSKG99b6Gy6FNZSWIyKN?= =?us-ascii?Q?mTSK7xbSCDzwz8RjGxoxDwDU66YscjgFmVB/FNwglWijvIIbLqHRC0kaRUAM?= =?us-ascii?Q?LQUGU1rsCpyl8w3BzDcKh6vF2GUkOz8F5PnnlIDJBMGz7sY1g45NJPdkSU0e?= =?us-ascii?Q?An1hhwCr9K6q/3FF7GG/nk7IWJgrQz+l6zpqYMHReg2z5MYM06Yd8lVIR1mr?= =?us-ascii?Q?8WFTpWrTSphojrvBkPwPXkvbgm30VyVCK+C+OezN4o1qPWAxFCMb52X20YqZ?= =?us-ascii?Q?opxpK6ChfssdC0Za8e/uH8x+GtS6NlK5nPsCuOpM9Bm9lJ3phLQNkfKZsJ90?= =?us-ascii?Q?xLsTMlNJJKigoCSG2SlsJdPXV6ooJZkb7Xrq0s/NZhv2flnSiCgjIPbT61pZ?= =?us-ascii?Q?6BlaHW9dla/xXlg9dLr+wxGTzayB0NYm+IYZHwd+ouL4nkwMi9KVkvvFQu5R?= =?us-ascii?Q?GSWh7QgwvU4so63y+JSBMWVnU7gqt7lFHPidljd/X4hEe/QwyOY6mV9nKCV4?= =?us-ascii?Q?GF6My1i9eI1lhHEKousEG5xLaePxpJx6gts4/db2QBwmxH5twEv6ekxzsTQd?= =?us-ascii?Q?+nakuX+cxOSQtPJqF+FFBwFBQz3ueJcCk6j49BTq2KtujgYbYpbKGW9qWMqH?= =?us-ascii?Q?IN2LwgtB31APg1cou4OlmQVu+pGA6UZE+5wx313SClQqg8Mk+7bbXZLDr16l?= =?us-ascii?Q?SPaNAQgG5tkNKnMkWzzAB+uYCGW4sUKjTJTN2Y5VD99inVTChBC6lNPTeCFf?= =?us-ascii?Q?VkNOkczbWQQ1R2GCdkwWQVXxBMNHCi2k5EY/W2FtVPU2B9umJ35bO2SE3Tih?= =?us-ascii?Q?JHGBXFh/TpnJpQdLyoDdFBxQHiNBHDc8OBzsmhyLcOPPVEB1s7cDCC6NSfIk?= =?us-ascii?Q?BMm3l3IBUnOWpi72OcoptR5vwhTOfYgYFsNWpaaSp9y3JSK8m7PbP/hqqGDF?= =?us-ascii?Q?HPepOKSH?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4930.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f71bdff8-e4e1-4f67-7a82-08d8c42496ac X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jan 2021 07:07:49.8040 (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: vq7yVWuvMr3UOSjKpcVCyd2cvLa+ZCgyM0JJI7sFB/BL9gGA1mZd+eFOG/yie+kLWxMXd9iDXK8RXzLY9e3kSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2125 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 Reviewed-by: Ray Ni > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Kun Qin > Sent: Wednesday, January 27, 2021 3:49 AM > To: devel@edk2.groups.io > Cc: Dong, Eric ; Ni, Ray ; Laszlo= Ersek ; Kumar, Rahul1 > > Subject: [edk2-devel] [PATCH v4 19/20] UefiCpuPkg: CpuIo2Smm: Support of= CpuIo driver under StandaloneMm >=20 > This change adds a new CpuIo driver instance for MM_STANDALONE type. The > new driver entrypoint is implemented in a separate file to match the > interface definition of MM_STANDALONE modules. >=20 > Cc: Eric Dong > Cc: Ray Ni > Cc: Laszlo Ersek > Cc: Rahul Kumar >=20 > Signed-off-by: Kun Qin > --- >=20 > Notes: > v4: > - Break SMM instance abstraction and file renaming into a separate > patch [Ray] >=20 > v3: > - Revert file name change of "CpuIo2Smm" for review and git history > concern [Laszlo] > - Break driver entrypoint into separate patch [Laszlo] >=20 > v2: > - Removed "EFIAPI" for internal functions. >=20 > UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c | 32 ++++++++++++++ > UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.inf | 45 ++++++++++++++++++++ > UefiCpuPkg/UefiCpuPkg.dsc | 5 +++ > 3 files changed, 82 insertions(+) >=20 > diff --git a/UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c b/UefiCpuPkg/CpuI= o2Smm/CpuIo2StandaloneMm.c > new file mode 100644 > index 000000000000..9cff4b7166db > --- /dev/null > +++ b/UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.c > @@ -0,0 +1,32 @@ > +/** @file > + Produces the SMM CPU I/O Protocol. > + > +Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
> +Copyright (c) Microsoft Corporation. > +SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include > + > +#include "CpuIo2Mm.h" > + > +/** > + The module Entry Point for Standalone MM CpuIoProtocol driver > + > + @param[in] ImageHandle The firmware allocated handle for the EFI ima= ge. > + @param[in] SystemTable A pointer to the EFI System Table. > + > + @retval EFI_SUCCESS The entry point is executed successfully. > + @retval Other Some error occurs when executing this entry poin= t. > + > +**/ > +EFI_STATUS > +EFIAPI > +StandaloneMmCpuIo2Initialize ( > + IN EFI_HANDLE ImageHandle, > + IN EFI_MM_SYSTEM_TABLE *SystemTable > + ) > +{ > + return CommonCpuIo2Initialize (); > +} > diff --git a/UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.inf b/UefiCpuPkg/Cp= uIo2Smm/CpuIo2StandaloneMm.inf > new file mode 100644 > index 000000000000..ec37a9d9198a > --- /dev/null > +++ b/UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.inf > @@ -0,0 +1,45 @@ > +## @file > +# Produces the SMM CPU I/O 2 Protocol by using the services of the I/O= Library. > +# > +# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved. > +# Copyright (c) Microsoft Corporation. > +# SPDX-License-Identifier: BSD-2-Clause-Patent > +# > +## > + > +[Defines] > + INF_VERSION =3D 0x00010005 > + BASE_NAME =3D CpuIo2StandaloneMm > + FILE_GUID =3D E3121A26-BB1C-4A18-8E23-2EA3F04122= 48 > + MODULE_TYPE =3D MM_STANDALONE > + VERSION_STRING =3D 1.0 > + PI_SPECIFICATION_VERSION =3D 0x00010032 > + ENTRY_POINT =3D StandaloneMmCpuIo2Initialize > + > +# > +# The following information is for reference only and not required by t= he build tools. > +# > +# VALID_ARCHITECTURES =3D IA32 X64 > +# > + > +[Sources] > + CpuIo2StandaloneMm.c > + CpuIo2Mm.c > + CpuIo2Mm.h > + > +[Packages] > + MdePkg/MdePkg.dec > + > +[LibraryClasses] > + StandaloneMmDriverEntryPoint > + BaseLib > + DebugLib > + IoLib > + MmServicesTableLib > + BaseMemoryLib > + > +[Protocols] > + gEfiSmmCpuIo2ProtocolGuid ## PRODUCES > + > +[Depex] > + TRUE > diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc > index c3c27afff88e..9128cef076dd 100644 > --- a/UefiCpuPkg/UefiCpuPkg.dsc > +++ b/UefiCpuPkg/UefiCpuPkg.dsc > @@ -38,6 +38,7 @@ [LibraryClasses] > UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLi= b/UefiRuntimeServicesTableLib.inf > UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/Uefi= BootServicesTableLib.inf > UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEn= tryPoint.inf > + StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPo= int/StandaloneMmDriverEntryPoint.inf > DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTab= leLib.inf > PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf > PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf > @@ -96,6 +97,9 @@ [LibraryClasses.common.DXE_SMM_DRIVER] > HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf > CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmC= puExceptionHandlerLib.inf >=20 > +[LibraryClasses.common.MM_STANDALONE] > + MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/Standa= loneMmServicesTableLib.inf > + > [LibraryClasses.common.UEFI_APPLICATION] > UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/Ue= fiApplicationEntryPoint.inf > MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemory= AllocationLib.inf > @@ -126,6 +130,7 @@ [Components.IA32, Components.X64] > NULL|UefiCpuPkg/Library/CpuCommonFeaturesLib/CpuCommonFeaturesLib= .inf > } > UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf > + UefiCpuPkg/CpuIo2Smm/CpuIo2StandaloneMm.inf > UefiCpuPkg/CpuMpPei/CpuMpPei.inf > UefiCpuPkg/CpuS3DataDxe/CpuS3DataDxe.inf > UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf > -- > 2.30.0.windows.1 >=20 >=20 >=20 >=20 >=20