From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.120, mailfrom: ray.ni@intel.com) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by groups.io with SMTP; Mon, 22 Jul 2019 22:53:25 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jul 2019 22:53:24 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,297,1559545200"; d="scan'208";a="253129238" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga001.jf.intel.com with ESMTP; 22 Jul 2019 22:53:24 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jul 2019 22:53:24 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 22 Jul 2019 22:53:24 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.110]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.55]) with mapi id 14.03.0439.000; Tue, 23 Jul 2019 13:49:19 +0800 From: "Ni, Ray" To: "devel@edk2.groups.io" , "Dong, Eric" CC: Laszlo Ersek , "Kumar, Chandana C" , "Zeng, Star" Subject: Re: [edk2-devel] [Patch v2 3/6] UefiCpuPkg/MpInitLibUp: Add MpInitLibStartupAllCPUs API. Thread-Topic: [edk2-devel] [Patch v2 3/6] UefiCpuPkg/MpInitLibUp: Add MpInitLibStartupAllCPUs API. Thread-Index: AQHVQF0frJ7yw2yFp0+K+3D4iU4pGabXs09A Date: Tue, 23 Jul 2019 05:49:18 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C240D32@SHSMSX104.ccr.corp.intel.com> References: <20190722071423.17372-1-eric.dong@intel.com> <20190722071423.17372-4-eric.dong@intel.com> In-Reply-To: <20190722071423.17372-4-eric.dong@intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Please add: 1. parameter check "if (Procedure =3D=3D NULL) return EFI_INVALID_PARAMETE= R". 2. comments in function body saying TimeoutInMicroseconds is ignored for B= SP. > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Dong, > Eric > Sent: Monday, July 22, 2019 3:14 PM > To: devel@edk2.groups.io > Cc: Ni, Ray ; Laszlo Ersek ; Kumar, > Chandana C ; Zeng, Star > > Subject: [edk2-devel] [Patch v2 3/6] UefiCpuPkg/MpInitLibUp: Add > MpInitLibStartupAllCPUs API. >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1973 >=20 > Add new MpInitLibStartupAllCPUs API uses to start all processors at the = same > time. >=20 > Cc: Ray Ni > Cc: Laszlo Ersek > Cc: Chandana Kumar > Cc: Star Zeng > Signed-off-by: Eric Dong > --- > UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c | 38 > ++++++++++++++++++++ > 1 file changed, 38 insertions(+) >=20 > diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > index 36c2bb5326..849600d5c2 100644 > --- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > +++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > @@ -405,3 +405,41 @@ MpInitLibWhoAmI ( > *ProcessorNumber =3D 0; > return EFI_SUCCESS; > } > + > +/** > + This service executes a caller provided function on all enabled CPUs. > + > + @param[in] Procedure A pointer to the function to be r= un on > + enabled APs of the system. See ty= pe > + EFI_AP_PROCEDURE. > + @param[in] TimeoutInMicroseconds Indicates the time limit in > microseconds for > + APs to return from Procedure, eit= her for > + blocking or non-blocking mode. Ze= ro means > + infinity. > + @param[in] ProcedureArgument The parameter passed into > Procedure for > + all APs. > + > + @retval EFI_SUCCESS In blocking mode, all CPUs have finis= hed > before > + the timeout expired. > + @retval EFI_SUCCESS In non-blocking mode, function has be= en > dispatched > + to all enabled CPUs. > + @retval EFI_DEVICE_ERROR Caller processor is AP. > + @retval EFI_NOT_READY Any enabled APs are busy. > + @retval EFI_NOT_READY MP Initialize Library is not initiali= zed. > + @retval EFI_TIMEOUT In blocking mode, the timeout expired= before > + all enabled APs have finished. > + @retval EFI_INVALID_PARAMETER Procedure is NULL. > + > +**/ > +EFI_STATUS > +EFIAPI > +MpInitLibStartupAllCPUs ( > + IN EFI_AP_PROCEDURE Procedure, > + IN UINTN TimeoutInMicroseconds, > + IN VOID *ProcedureArgument OPTIONAL > + ) > +{ > + Procedure (ProcedureArgument); > + > + return EFI_SUCCESS; > +} > -- > 2.21.0.windows.1 >=20 >=20 >=20