"CPU" is used in MpInitLibStartupAllCPUs() and StartupAllCpusWorker(). Can you please follow today's capital rule of "AP" to update StartupAllCpusWorker() to StartupAllCPUsWorker()?
And with the copyright year update to 2019, Reviewed-by: Ray Ni <ray...@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <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 <ray...@intel.com>; Laszlo Ersek <ler...@redhat.com>; Kumar, > Chandana C <chandana.c.ku...@intel.com>; Zeng, Star > <star.z...@intel.com> > Subject: [edk2-devel] [Patch v2 2/6] UefiCpuPkg/MpInitLib: Add > MpInitLibStartupAllCPUs API. > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1973 > > Add new MpInitLibStartupAllCPUs API uses to start all processors at the same > time. > > Cc: Ray Ni <ray...@intel.com> > Cc: Laszlo Ersek <ler...@redhat.com> > Cc: Chandana Kumar <chandana.c.ku...@intel.com> > Cc: Star Zeng <star.z...@intel.com> > Signed-off-by: Eric Dong <eric.d...@intel.com> > --- > UefiCpuPkg/Library/MpInitLib/DxeMpLib.c | 3 +- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 60 +++++++++++++++++++++++- > - > UefiCpuPkg/Library/MpInitLib/MpLib.h | 4 +- > UefiCpuPkg/Library/MpInitLib/PeiMpLib.c | 3 +- > 4 files changed, 63 insertions(+), 7 deletions(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c > b/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c > index 6be1bae464..23adfd0625 100644 > --- a/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/DxeMpLib.c > @@ -568,9 +568,10 @@ MpInitLibStartupAllAPs ( > // > mStopCheckAllApsStatus = TRUE; > > - Status = StartupAllAPsWorker ( > + Status = StartupAllCpusWorker ( > Procedure, > SingleThread, > + TRUE, > WaitEvent, > TimeoutInMicroseconds, > ProcedureArgument, > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c > b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index 6f51bc4ebf..51e63e14a3 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -2130,6 +2130,7 @@ MpInitLibGetNumberOfProcessors ( > number. If FALSE, then all the > enabled APs > execute the function specified by > Procedure > simultaneously. > + @param[in] ExcludeBsp Whether let BSP also trig this task. > @param[in] WaitEvent The event created by the caller with > CreateEvent() > service. > @param[in] TimeoutInMicroseconds Indicates the time limit in > microseconds for > @@ -2151,9 +2152,10 @@ MpInitLibGetNumberOfProcessors ( > > **/ > EFI_STATUS > -StartupAllAPsWorker ( > +StartupAllCpusWorker ( > IN EFI_AP_PROCEDURE Procedure, > IN BOOLEAN SingleThread, > + IN BOOLEAN ExcludeBsp, > IN EFI_EVENT WaitEvent OPTIONAL, > IN UINTN TimeoutInMicroseconds, > IN VOID *ProcedureArgument OPTIONAL, > @@ -2175,7 +2177,7 @@ StartupAllAPsWorker ( > *FailedCpuList = NULL; > } > > - if (CpuMpData->CpuCount == 1) { > + if (CpuMpData->CpuCount == 1 && ExcludeBsp) { > return EFI_NOT_STARTED; > } > > @@ -2218,9 +2220,9 @@ StartupAllAPsWorker ( > } > } > > - if (!HasEnabledAp) { > + if (!HasEnabledAp && ExcludeBsp) { > // > - // If no enabled AP exists, return EFI_NOT_STARTED. > + // If no enabled AP exists and not include Bsp to do the procedure, > return > EFI_NOT_STARTED. > // > return EFI_NOT_STARTED; > } > @@ -2266,6 +2268,13 @@ StartupAllAPsWorker ( > } > } > > + if (!ExcludeBsp) { > + // > + // Start BSP. > + // > + Procedure (ProcedureArgument); > + } > + > Status = EFI_SUCCESS; > if (WaitEvent == NULL) { > do { > @@ -2411,3 +2420,46 @@ GetCpuMpDataFromGuidedHob ( > return CpuMpData; > } > > +/** > + This service executes a caller provided function on all enabled CPUs. > + > + @param[in] Procedure A pointer to the function to be run on > + enabled APs of the system. See type > + EFI_AP_PROCEDURE. > + @param[in] TimeoutInMicroseconds Indicates the time limit in > microseconds for > + APs to return from Procedure, either > for > + blocking or non-blocking mode. Zero > means > + infinity. > + @param[in] ProcedureArgument The parameter passed into > Procedure for > + all APs. > + > + @retval EFI_SUCCESS In blocking mode, all CPUs have finished > before > + the timeout expired. > + @retval EFI_SUCCESS In non-blocking mode, function has been > 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 initialized. > + @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 > + ) > +{ > + return StartupAllCpusWorker ( > + Procedure, > + FALSE, > + FALSE, > + NULL, > + TimeoutInMicroseconds, > + ProcedureArgument, > + NULL > + ); > +} > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.h > b/UefiCpuPkg/Library/MpInitLib/MpLib.h > index f89037c59e..81de45c73b 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.h > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.h > @@ -405,6 +405,7 @@ InitMpGlobalData ( > number. If FALSE, then all the > enabled APs > execute the function specified by > Procedure > simultaneously. > + @param[in] ExcludeBsp Whether let BSP also trig this task. > @param[in] WaitEvent The event created by the caller with > CreateEvent() > service. > @param[in] TimeoutInMicroseconds Indicates the time limit in > microseconds for > @@ -426,9 +427,10 @@ InitMpGlobalData ( > > **/ > EFI_STATUS > -StartupAllAPsWorker ( > +StartupAllCpusWorker ( > IN EFI_AP_PROCEDURE Procedure, > IN BOOLEAN SingleThread, > + IN BOOLEAN ExcludeBsp, > IN EFI_EVENT WaitEvent OPTIONAL, > IN UINTN TimeoutInMicroseconds, > IN VOID *ProcedureArgument OPTIONAL, > diff --git a/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c > b/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c > index 35dff91fd2..5666ad0862 100644 > --- a/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/PeiMpLib.c > @@ -401,9 +401,10 @@ MpInitLibStartupAllAPs ( > return EFI_UNSUPPORTED; > } > > - return StartupAllAPsWorker ( > + return StartupAllCpusWorker ( > Procedure, > SingleThread, > + TRUE, > NULL, > TimeoutInMicroseconds, > ProcedureArgument, > -- > 2.21.0.windows.1 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44212): https://edk2.groups.io/g/devel/message/44212 Mute This Topic: https://groups.io/mt/32556153/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-