From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web11.6821.1670212069957438349 for ; Sun, 04 Dec 2022 19:47:50 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Ho1DH4ar; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: dun.tan@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1670212069; x=1701748069; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=9FKf5yAunU9hUg4hWiQoMTpGqkOTDtAA0p1pxEIXoaY=; b=Ho1DH4arCTM6OiRDfHyrvxI7kUwRxG4wgi0DTdUAlB+gbj6wuiwOqwJL rZrW6Wim3LamvfhV1FLgOF0/jMFffvSxGgAsNV3mNu/ZyhdAYEMMz6sJQ IYDni8Xbwj7dDW9knF/C2ORz/cXZbRZqjvDdQuRL7elkL315b3oAw07iQ QcNveqXIvUqMv7lq6X74y22i228RJ1VRG/B1Zxdt2RiOPD858kqLwogZh TOAs7l1OoSZ1ge1FygVtrlZHER3xynk8nGHCSEzXEpPna/vN9joup0JML XvngxSbFZmlc4agthbsBWa/la1Z4PoVSNKz5PnxOKibyIThfHLi5ZRA5S A==; X-IronPort-AV: E=McAfee;i="6500,9779,10551"; a="343242844" X-IronPort-AV: E=Sophos;i="5.96,218,1665471600"; d="scan'208";a="343242844" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Dec 2022 19:47:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10551"; a="974532056" X-IronPort-AV: E=Sophos;i="5.96,218,1665471600"; d="scan'208";a="974532056" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmsmga005.fm.intel.com with ESMTP; 04 Dec 2022 19:47:49 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2507.16; Sun, 4 Dec 2022 19:47:49 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Sun, 4 Dec 2022 19:47:48 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Sun, 4 Dec 2022 19:47:48 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) 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.2507.16; Sun, 4 Dec 2022 19:47:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lp5vq3/DyMFmR93LYuJKhz7RH9BG/MeSryD1XZUs8gZaCoaqW6K2mwC9fxBCoGEoVyyjgvZUMXA3jacE6vh0Xneu6TF/XyrRNXgtWyuWA1zqp9Q0vQhc5j9kb2VeJp1AuMFsAeaNc3yA+ZCRgzWxiFDLc6xd1lwCXML2KJ5Zbciho1vm7Xm12Jdz5kqQXV15rrbg55/VyxgSK59+JaPeYq8WSViopOlMel1bnPIQa6ZUiQGmTV8y0+rdxd0aZL/9UtGx2bHITNX9KoIpnofTQ9JE7ZcUvUeV6MkNCmnMtzB0485Rf7xzci8eLvm1Nd7g0XoqYqtyBB1o5dXau6wY3w== 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=vOoW0tU21ycJjPjd7h12aFpZwviHzBceIEQZXixZjIA=; b=oAhg97gpIq4NhasLSzyW5m3jgyijYLi1sWYzxsKqoaSdRWFswI6DsHdd4Fafo3DZ783F+rPyI8DxA8odpk0FcJebp08ZRfQP2QgSO19A+HSt1Fflc3hNL8lz4y3DPmSwdynprIeIFadWP23BHUQmDn2T1rngqr8zfgOewwh2qtsvh0p5JfjRAMbcTVyIyeFT4io2UYUuYD4Bf9BKOj2WxVW1uxemoxsX5iNgCcOi8eua1Cy+qnZVu7KmiJo3l9xtpwa84fgLzpsJ3rLwzhpGaTGbuEs2Pd1ML2Zn9pChdbV5CuIq8rE31KnvBSp1khBp7aJLXAwe9FBG7kZTE/kHNQ== 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 BN9PR11MB5483.namprd11.prod.outlook.com (2603:10b6:408:104::10) by DM4PR11MB5373.namprd11.prod.outlook.com (2603:10b6:5:394::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 5 Dec 2022 03:47:47 +0000 Received: from BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::c945:6fc3:ca84:dd9b]) by BN9PR11MB5483.namprd11.prod.outlook.com ([fe80::c945:6fc3:ca84:dd9b%9]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022 03:47:47 +0000 From: "duntan" To: "Lou, Yun" , "devel@edk2.groups.io" Subject: Re: [PATCH v1 2/2] UefiCpuPkg/Test: develop UEFI App and dynamic cmd for MP services UT Thread-Topic: [PATCH v1 2/2] UefiCpuPkg/Test: develop UEFI App and dynamic cmd for MP services UT Thread-Index: AQHY//39CIA4TQgld0SDQGrXSpXko65euCqQ Date: Mon, 5 Dec 2022 03:47:47 +0000 Message-ID: References: <20221124121158.2812-1-yun.lou@intel.com> <20221124121158.2812-2-yun.lou@intel.com> In-Reply-To: <20221124121158.2812-2-yun.lou@intel.com> Accept-Language: zh-CN, 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: BN9PR11MB5483:EE_|DM4PR11MB5373:EE_ x-ms-office365-filtering-correlation-id: fe37b377-f5ff-41d1-52e5-08dad6737950 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: edYnCCamY6t1pHKZZZ7lVKfZr4Yyf2tCGkxTL71p2lVeh9nGhf2o5/Y9RUipjr40eFah6tYdY1Q4Z+dcw8Ehv965nujOaCYu0/ShIv3uMK7EcQINfimM8u0/oc4X4dzJUVUtj0jJ6RsKhVIH+7HNIoz43PMty9NhQAcr3ypTXWuGePnwq8mQiMDgBvC6BeF1wdIikjqX2VM8CqWE+XnodOvBHlYNv21lb/FKmfl6V5m2e5ntJkENYJ/v0bQoaBKTHBuvxdSeQU7+BFPOmI+0rmH1gkNC18B2uhzGqPTn/3VOav/D72JPwCDQWr13yKT76nOZJfBnivgx3CSd8vYscj5NQ2IdvRJs5m8jRKgsyomNOntnuM+xMk89GrYNeYLCXDv3tE48WSkdsys8+lM0aAvkxqjgYCVT/VDyWDwU6zD+70O62uGkyATKCqzz48GCX771sx0kef/rXjwNHoVLEUMogAO7amRlDNLbxF9/hq9LSotFFySuhwvEzfzD2lhMo6LZJkf44Rq8S9CHHTjlN8hJoOhF7v1QlyqN7PUZwItINvyOKZcd3PoXp8Je3LogU0SnPldQJxwIQndLCZV8q2Iiv3qO+g/9uZ8bF0YoF3yvHrC1lVp3BD9HW1Xh44ZKDoFGjxPigAikJyi7bxfRMVYRwZS5p4etKXb1s6xQQ7xgYp/4gwKfBrSQw9ZRQlT4luL4WV5BTaxUduhvVwQ55w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5483.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(376002)(39860400002)(366004)(346002)(451199015)(55016003)(71200400001)(38070700005)(9686003)(110136005)(86362001)(6506007)(53546011)(7696005)(5660300002)(478600001)(33656002)(41300700001)(52536014)(316002)(66476007)(8676002)(8936002)(2906002)(66446008)(66556008)(64756008)(66946007)(76116006)(82960400001)(38100700002)(26005)(122000001)(186003)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?m2+eCwTObxPe4C9YBbY7x90mpJRuPhCEHW4p/yYlvNgNEJ0hudqYXK3IY1Ds?= =?us-ascii?Q?3wkG+KhTGXhduZf08qV4ut4E1W/pU9vtb8m6pZ89uCVFu5SBWvWyLnSf6kWx?= =?us-ascii?Q?0GtPh/ENwTBS5kRGSriraAQqedM7cheCGeTxDK3QcawXGkRG7icgTFF3R9WZ?= =?us-ascii?Q?2/PF1s1V4b4jMPvmznzqTWGSZ1pvC2DckaAGTMj5U8U/1zZXKtajV1bQ1/4x?= =?us-ascii?Q?HvMukFoyaLtw2rWnUsGRUm8y1Wr05f935HUmcKBzW59asFadsRNDO/s7Mz6Y?= =?us-ascii?Q?aiIYLBmii8zgaO0syx6mtgNOC8Oz07kXGA9if3egAo7mWbdUr8SvobdCgRk6?= =?us-ascii?Q?dUpkg7DcTxRyc8n4X+LCroTZNmlP+JxW6voq1nzhzN4bxoRWpli/sleEjKXX?= =?us-ascii?Q?IvEU3XO8AgYPOz5XqPDInexVWyk6uhhtXrwwBZKxuwlih1eq9VCYBnCYDiRr?= =?us-ascii?Q?tdfLrCxsbjPFhyq7/EOB7rUSF9XazZMBJBtGzYmyOy+BQOnLc/wYcHBDBhzK?= =?us-ascii?Q?D+aBKsKPBqvdy3Mj0NE/tH/0wFzMlSvsE6DsQccWnalU/7b+mRTYym8WCulg?= =?us-ascii?Q?o5UR/akBOMv49hVKMQdjiGzq6wi93rmTKEQAAJXyosBRKfQsgmeB51BRmZNq?= =?us-ascii?Q?GUuIVW9odwlMzWWzdTzAW589Kj50TOBdik+Dyt8rV9MykEa/4dYXndB2buyl?= =?us-ascii?Q?WiERWTnKWWWcW4nO5T3QJzVdoIQYtu3lrfH2jf8ZJhOXEyfU2Wh7H+ZE73Tt?= =?us-ascii?Q?il0LYV23nARLy9WXGvs5U8/NOSMjm/r0372FAFnQEASXcD4lzXwdBRGsKOHN?= =?us-ascii?Q?mbHDibTFXmOrXbVcWB3RyHG7FdBrk2sxr/1lBj7e/JPXnF2IZGnkzcAnoWFu?= =?us-ascii?Q?CQCsv5z0ZBcX9ESRJiZlkAoOQbk0OVqGc/2FBoDflS8tm7sQUmsUBa/t5jLL?= =?us-ascii?Q?4i4r503x0uTU2ryRjU8Ag6qPIwrDuC66lxfXV5GvIIuYdwnbBWNssVtVDMPT?= =?us-ascii?Q?kVB4C+OS+rvrh73s/jNBZ9VSjcG4NuskKzsm3NDi4LZiWNaJlgKVbVztXnew?= =?us-ascii?Q?k83q2/Yq1pJIa/KOe4yHZUcEB39BuxpBu0zUGn5Brx0NjCGLYzfRDghL6J11?= =?us-ascii?Q?WdUJDjwYSLCW1t7ibSLkFfhzZtV9DccGYiDIba/gN9zPPRKOHzjNStR7fael?= =?us-ascii?Q?K+67EaEPQgAWKE4yakoQCbRNQPZm1sk9AlxqBetb9nhGIOF5faJkJtb42vJr?= =?us-ascii?Q?1US/CLaav8wMQjPp6eGbRDQEQhixGlNNbl8rfjsyB+wtGYyxuyI39CAFfDQW?= =?us-ascii?Q?NbaZfw3fGKN8F6jVZ2U294JRe/7PHsyLtdQCc/vVTo+4z2WHX0T3dRQT8x+E?= =?us-ascii?Q?BJHh2yjZa2R0im6qUlP/fBtXSR8JH8xTAjxgYGGqo+mvBo0xxNAUDhR/ezEl?= =?us-ascii?Q?LUBpMhdt0TUanvMzMr8ivdHBlUi1nzwVB1aadEzVEGJMzBTi9Z3kolghnXo5?= =?us-ascii?Q?Td8j5E0AleBtQudvwyeL93ZVcQzCDtSSAmJqYlfkUhqs5f7RavDVq/fWqPXX?= =?us-ascii?Q?KirG8jr66T9j1QvJPo8=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5483.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe37b377-f5ff-41d1-52e5-08dad6737950 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 03:47:47.0768 (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: IYC81NimxnwgSCMhWUUaZZRuzs/hn7CgnDZ0onYiUnGHlj0eWHIpyu96l4I5qJXtNB3SjF8WasC0b0PjhohShw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5373 Return-Path: dun.tan@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Dun Tan -----Original Message----- From: Lou, Yun =20 Sent: Thursday, November 24, 2022 8:12 PM To: devel@edk2.groups.io Cc: Lou, Yun ; Ni, Ray ; Dong, Eric ; Laszlo Ersek ; Kumar, Rahul R ; Liu, Zhiguang ; Tan, Dun Subject: [PATCH v1 2/2] UefiCpuPkg/Test: develop UEFI App and dynamic cmd f= or MP services UT From: Jason Lou The code changes develop UEFI application and dynamic command for EfiMpServ= iceProtocol unit tests based on current UnitTestFramework. Signed-off-by: Jason Lou Reviewed-by: Ray Ni Cc: Eric Dong Cc: Laszlo Ersek Cc: Rahul Kumar Cc: Zhiguang Liu Cc: Dun Tan --- UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProtocolDyna= micCmdUnitTest.c | 129 ++++++++++++++++++++ UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProtocolDyna= micCmdUnitTest.inf | 45 +++++++ UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProtocolShel= lUnitTest.inf | 43 +++++++ UefiCpuPkg/UefiCpuPkg.dsc = | 8 ++ 4 files changed, 225 insertions(+) diff --git a/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpService= ProtocolDynamicCmdUnitTest.c b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiPro= tocol/EfiMpServiceProtocolDynamicCmdUnitTest.c new file mode 100644 index 0000000000..be65c3d678 --- /dev/null +++ b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProt +++ ocolDynamicCmdUnitTest.c @@ -0,0 +1,129 @@ +/** @file+ Produce "MpProtocolUnitTest" shell dynamic command.++ Copyrig= ht (c) 2022, Intel Corporation. All rights reserved.
++ SPDX-License-Id= entifier: BSD-2-Clause-Patent++**/++#include +#include +#include "EfiMpServicesUni= tTestCommom.h"++CHAR16 *mMpProtocolUnitTestCommandHelp =3D L".TH MpProtoco= lUnitTest 0\r\n.SH NAME\r\nDisplay unit test results of EFI MP services pro= tocol.\r\n";++EFI_STATUS+EFIAPI+EfiMpServiceProtocolUnitTest (+ VOID+ );+= +/**+ This is the shell command handler function pointer callback type. T= his+ function handles the command when it is invoked in the shell.++ @par= am[in] This The instance of the EFI_SHELL_DYNAMIC_COMMAND= _PROTOCOL.+ @param[in] SystemTable The pointer to the system ta= ble.+ @param[in] ShellParameters The parameters associated with the= command.+ @param[in] Shell The instance of the shell pro= tocol used in the context+ of processing= this command.++ @return EFI_SUCCESS the operation was succe= ssful+ @return other the operation failed.+**/+SHELL_S= TATUS+EFIAPI+MpProtocolUnitTestCommandHandler (+ IN EFI_SHELL_DYNAMIC_COMM= AND_PROTOCOL *This,+ IN EFI_SYSTEM_TABLE *SystemTable,= + IN EFI_SHELL_PARAMETERS_PROTOCOL *ShellParameters,+ IN EFI_SHELL_= PROTOCOL *Shell+ )+{+ return EfiMpServiceProtocolUnitTes= t ();+}++/**+ This is the command help handler function pointer callback t= ype. This+ function is responsible for displaying help information for th= e associated+ command.++ @param[in] This The instance o= f the EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL.+ @param[in] Language = The pointer to the language string to use.++ @return string = Pool allocated help string, must be freed by caller+**/+CHAR16 *+EF= IAPI+MpProtocolUnitTestCommandGetHelp (+ IN EFI_SHELL_DYNAMIC_COMMAND_PROT= OCOL *This,+ IN CONST CHAR8 *Language+ )+{+ ret= urn AllocateCopyPool (StrSize (mMpProtocolUnitTestCommandHelp), mMpProtocol= UnitTestCommandHelp);+}++EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL mMpProtocolUni= tTestDynamicCommand =3D {+ L"MpProtocolUnitTest",+ MpProtocolUnitTestComm= andHandler,+ MpProtocolUnitTestCommandGetHelp+};++/**+ Entry point of MpP= rotocolUnitTest Dynamic Command.++ Produce the DynamicCommand protocol to = handle "MpProtocolUnitTest" command.++ @param ImageHandle The i= mage handle of the process.+ @param SystemTable The EFI System = Table pointer.++ @retval EFI_SUCCESS Tftp command is executed su= ccessfully.+ @retval EFI_ABORTED HII package was failed to initi= alize.+ @retval others Other errors when executing MpProtoc= olUnitTest command.+**/+EFI_STATUS+EFIAPI+MpProtocolUnitTestCommandInitiali= ze (+ IN EFI_HANDLE ImageHandle,+ IN EFI_SYSTEM_TABLE *SystemTabl= e+ )+{+ EFI_STATUS Status;++ Status =3D gBS->InstallProtocolInterface (= + &ImageHandle,+ &gEfiShellDynamicCommand= ProtocolGuid,+ EFI_NATIVE_INTERFACE,+ &mM= pProtocolUnitTestDynamicCommand+ );+ ASSERT_EFI_ERROR (St= atus);++ return Status;+}++/**+ Driver unload handler.++ @param ImageHan= dle The image handle of the process.++ @retval EFI_SUCCESS = The image is unloaded.+ @retval Others Failed to unlo= ad the image.+**/+EFI_STATUS+EFIAPI+MpProtocolUnitTestUnload (+ IN EFI_HAN= DLE ImageHandle+ )+{+ EFI_STATUS Status;++ Status =3D gBS->UninstallPr= otocolInterface (+ ImageHandle,+ &gEfiShe= llDynamicCommandProtocolGuid,+ &mMpProtocolUnitTestDynamic= Command+ );+ ASSERT_EFI_ERROR (Status);++ return Status;= +}diff --git a/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServi= ceProtocolDynamicCmdUnitTest.inf b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPp= iProtocol/EfiMpServiceProtocolDynamicCmdUnitTest.inf new file mode 100644 index 0000000000..3fa287d1ae --- /dev/null +++ b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProt +++ ocolDynamicCmdUnitTest.inf @@ -0,0 +1,45 @@ +## @file+# DXE driver that provides Shell 'MpProtocolUnitTest' dynamic com= mand to test EfiMpServiceProtocol.+#+# Copyright (c) 2022, Intel Corporatio= n. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent+= #+##++[Defines]+ INF_VERSION =3D 0x00010005+ BASE_NAME =3D EfiM= pServiceProtocolDynamicCmdUnitTest+ FILE_GUID =3D 8C4624B1-58CC-4DF6= -9E6D-09B38D67DFA6+ MODULE_TYPE =3D DXE_DRIVER+ VERSION_STRING =3D 1= .0+ ENTRY_POINT =3D MpProtocolUnitTestCommandInitialize+ UNLOAD_IMAGE= =3D MpProtocolUnitTestUnload++[Sources]+ EfiMpServicesUnitTestCommom.c= + EfiMpServicesUnitTestCommom.h+ EfiMpServiceProtocolUnitTest.c+ EfiMpSe= rviceProtocolDynamicCmdUnitTest.c++[Packages]+ MdePkg/MdePkg.dec+ MdeModu= lePkg/MdeModulePkg.dec+ UefiCpuPkg/UefiCpuPkg.dec++[LibraryClasses]+ Base= Lib+ DebugLib+ BaseMemoryLib+ MemoryAllocationLib+ UefiDriverEntryPoint= + UefiBootServicesTableLib+ UefiLib+ UnitTestPersistenceLib+ UnitTestLi= b++[Protocols]+ gEfiMpServiceProtocolGuid ## CONSUMES+ gEfiShel= lDynamicCommandProtocolGuid ## PRODUCES++[Depex]+ TRUEdiff --git a/UefiCpu= Pkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProtocolShellUnitTes= t.inf b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProto= colShellUnitTest.inf new file mode 100644 index 0000000000..34c1ea96a6 --- /dev/null +++ b/UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProt +++ ocolShellUnitTest.inf @@ -0,0 +1,43 @@ +## @file+# UEFI application that tests EfiMpServiceProtocol in Shell.+#+# = Copyright (c) 2022, Intel Corporation. All rights reserved.
+# SPDX-Lice= nse-Identifier: BSD-2-Clause-Patent+#+##++[Defines]+ INF_VERSION =3D 0= x00010005+ BASE_NAME =3D MpProtocolUnitTest+ FILE_GUID =3D 4C= EE6399-A22C-4FFD-B148-3A56B1DD83F1+ MODULE_TYPE =3D UEFI_APPLICATION+ = VERSION_STRING =3D 1.0+ ENTRY_POINT =3D DxeEntryPoint++#+# The follo= wing information is for reference only and not required by the build tools.= +#+# VALID_ARCHITECTURES =3D IA32 X64+#++[Sources]+ EfiMpServic= esUnitTestCommom.c+ EfiMpServicesUnitTestCommom.h+ EfiMpServiceProtocolUn= itTest.c++[Packages]+ MdePkg/MdePkg.dec+ UefiCpuPkg/UefiCpuPkg.dec++[Libr= aryClasses]+ BaseLib+ DebugLib+ BaseMemoryLib+ MemoryAllocationLib+ Ue= fiApplicationEntryPoint+ UefiBootServicesTableLib+ UnitTestPersistenceLib= + UnitTestLib++[Protocols]+ gEfiMpServiceProtocolGuid ## CONSUM= ESdiff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc index 67b0ce46e4..f9a46089d2 100644 --- a/UefiCpuPkg/UefiCpuPkg.dsc +++ b/UefiCpuPkg/UefiCpuPkg.dsc @@ -183,6 +183,14 @@ UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/PeiCpuExceptionHandle= rLibUnitTest.inf UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol/EdkiiP= eiMpServices2PpiPeiUnitTest.inf UefiCpuPkg/Test/UnitTest/EfiMpServicesPpi= Protocol/EfiMpServiceProtocolDxeUnitTest.inf+ UefiCpuPkg/Test/UnitTest/Efi= MpServicesPpiProtocol/EfiMpServiceProtocolDynamicCmdUnitTest.inf {+ + UnitTestResultReportLib|UnitTestFrameworkPkg/Library/Uni= tTestResultReportLib/UnitTestResultReportLibConOut.inf+ }+ UefiCpuPkg/Tes= t/UnitTest/EfiMpServicesPpiProtocol/EfiMpServiceProtocolShellUnitTest.inf {= + + UnitTestResultReportLib|UnitTestFrameworkPkg/Li= brary/UnitTestResultReportLib/UnitTestResultReportLibConOut.inf+ } [Compo= nents.X64] UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/DxeCpuExcep= tionHandlerLibUnitTest.inf--=20 2.28.0.windows.1