Re: [edk2-devel] [Patch v2 1/6] UefiCpuPkg/Include/MpInitLib.h: Add MpInitLibStartupAllCPUs API.

2019-07-22 Thread Ni, Ray
Reviewed-by: Ray Ni 

> -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 1/6] UefiCpuPkg/Include/MpInitLib.h: 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 
> Cc: Laszlo Ersek 
> Cc: Chandana Kumar 
> Cc: Star Zeng 
> Signed-off-by: Eric Dong 
> ---
>  UefiCpuPkg/Include/Library/MpInitLib.h | 33
> ++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/UefiCpuPkg/Include/Library/MpInitLib.h
> b/UefiCpuPkg/Include/Library/MpInitLib.h
> index fa82529373..a943fbd9bc 100644
> --- a/UefiCpuPkg/Include/Library/MpInitLib.h
> +++ b/UefiCpuPkg/Include/Library/MpInitLib.h
> @@ -344,4 +344,37 @@ MpInitLibWhoAmI (
>OUT UINTN*ProcessorNumber
>);
> 
> +/**
> +  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_ERRORCaller 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
> +  );
> +
>  #endif
> --
> 2.21.0.windows.1
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44106): https://edk2.groups.io/g/devel/message/44106
Mute This Topic: https://groups.io/mt/32556151/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[edk2-devel] [Patch v2 1/6] UefiCpuPkg/Include/MpInitLib.h: Add MpInitLibStartupAllCPUs API.

2019-07-22 Thread Dong, Eric
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 
Cc: Laszlo Ersek 
Cc: Chandana Kumar 
Cc: Star Zeng 
Signed-off-by: Eric Dong 
---
 UefiCpuPkg/Include/Library/MpInitLib.h | 33 ++
 1 file changed, 33 insertions(+)

diff --git a/UefiCpuPkg/Include/Library/MpInitLib.h 
b/UefiCpuPkg/Include/Library/MpInitLib.h
index fa82529373..a943fbd9bc 100644
--- a/UefiCpuPkg/Include/Library/MpInitLib.h
+++ b/UefiCpuPkg/Include/Library/MpInitLib.h
@@ -344,4 +344,37 @@ MpInitLibWhoAmI (
   OUT UINTN*ProcessorNumber
   );
 
+/**
+  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_ERRORCaller 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
+  );
+
 #endif
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44100): https://edk2.groups.io/g/devel/message/44100
Mute This Topic: https://groups.io/mt/32556151/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-