Reviewed-by: Ray Ni <[email protected]> > -----Original Message----- > From: [email protected] <[email protected]> On Behalf Of Dong, > Eric > Sent: Wednesday, July 24, 2019 3:07 PM > To: [email protected] > Cc: Ni, Ray <[email protected]>; Laszlo Ersek <[email protected]>; Kumar, > Chandana C <[email protected]>; Zeng, Star > <[email protected]> > Subject: [edk2-devel] [Patch v3 3/6] UefiCpuPkg/MpInitLibUp: 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 <[email protected]> > Cc: Laszlo Ersek <[email protected]> > Cc: Chandana Kumar <[email protected]> > Cc: Star Zeng <[email protected]> > Signed-off-by: Eric Dong <[email protected]> > --- > UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c | 35 > ++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > index 36c2bb5326..b4024ee1ae 100644 > --- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > +++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c > @@ -405,3 +405,38 @@ MpInitLibWhoAmI ( > *ProcessorNumber = 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 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. TimeoutInMicroseconds is > ignored > + for BSP. > + @param[in] ProcedureArgument The parameter passed into > Procedure for > + all APs. > + > + @retval EFI_SUCCESS CPU have finished the procedure. > + @retval EFI_INVALID_PARAMETER Procedure is NULL. > + > +**/ > +EFI_STATUS > +EFIAPI > +MpInitLibStartupAllCPUs ( > + IN EFI_AP_PROCEDURE Procedure, > + IN UINTN TimeoutInMicroseconds, > + IN VOID *ProcedureArgument OPTIONAL > + ) > +{ > + if (Procedure == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + Procedure (ProcedureArgument); > + > + return EFI_SUCCESS; > +} > -- > 2.21.0.windows.1 > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#44364): https://edk2.groups.io/g/devel/message/44364 Mute This Topic: https://groups.io/mt/32581674/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
