]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/MpService.h
MdePkg/MpService.h: Fixed typo in function header to match PI spec
[mirror_edk2.git] / MdePkg / Include / Protocol / MpService.h
index cdbbfd8a9d41c18bfa104eeae70a71d41395d298..043a10ab3ea5625ad552b3b90c97d1471af1c7a8 100644 (file)
   APs to help test system memory in parallel with other device initialization.\r
   Diagnostics applications may also use this protocol for multi-processor.\r
 \r
-  Copyright (c) 2006 - 2009, Intel Corporation.<BR>\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at<BR>\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.                                          \r
+    \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
   @par Revision Reference:\r
   This Protocol is defined in the UEFI Platform Initialization Specification 1.2, \r
@@ -46,7 +46,7 @@
 #define _MP_SERVICE_PROTOCOL_H_\r
 \r
 ///\r
-/// Global ID for the EFI_MP_SERVICES_PROTOCOL\r
+/// Global ID for the EFI_MP_SERVICES_PROTOCOL.\r
 ///\r
 #define EFI_MP_SERVICES_PROTOCOL_GUID \\r
   { \\r
@@ -54,7 +54,7 @@
   }\r
 \r
 ///\r
-/// Forward declaration for the EFI_MP_SERVICES_PROTOCOL\r
+/// Forward declaration for the EFI_MP_SERVICES_PROTOCOL.\r
 ///\r
 typedef struct _EFI_MP_SERVICES_PROTOCOL EFI_MP_SERVICES_PROTOCOL;\r
 \r
@@ -128,43 +128,29 @@ typedef struct {
   ///  1      0       0     Invalid. The BSP can never be in the disabled state.\r
   ///  1      0       1     Invalid. The BSP can never be in the disabled state.\r
   ///  1      1       0     Unhealthy Enabled BSP.\r
-  ///  1      1       1     Healthy Enabled BSP\r
+  ///  1      1       1     Healthy Enabled BSP.\r
   /// </pre>\r
   ///\r
   UINT32                     StatusFlag;\r
   ///\r
   /// The physical location of the processor, including the physical package number\r
   /// that identifies the cartridge, the physical core number within package, and \r
-  /// logical threadnumber within core.\r
+  /// logical thread number within core.\r
   ///\r
   EFI_CPU_PHYSICAL_LOCATION  Location;\r
 } EFI_PROCESSOR_INFORMATION;\r
 \r
-/**\r
-  Functions of this type are passed into StartUpAllAPs() and StartThisAP() to\r
-  execute a procedure on enabled APs.  The context the AP should use durng \r
-  execution is specified by ProcedureArgument.\r
-  \r
-  @param[in]  ProcedureArgument   Pointer to the procedure's argument.\r
-\r
-**/\r
-typedef\r
-VOID\r
-(EFIAPI *EFI_AP_PROCEDURE)(\r
-  IN  VOID  *ProcedureArgument\r
-  );\r
-\r
 /**\r
   This service retrieves the number of logical processor in the platform\r
   and the number of those logical processors that are enabled on this boot.\r
   This service may only be called from the BSP.\r
 \r
   This function is used to retrieve the following information:\r
-    - The number of logical processors that are present in the system\r
+    - The number of logical processors that are present in the system.\r
     - The number of enabled logical processors in the system at the instant \r
       this call is made.\r
 \r
-  Since MP Service Protocol provides services to enable and disable processors \r
+  Because MP Service Protocol provides services to enable and disable processors \r
   dynamically, the number of enabled logical processors may vary during the \r
   course of a boot session.\r
   \r
@@ -186,8 +172,8 @@ VOID
   @retval EFI_SUCCESS             The number of logical processors and enabled \r
                                   logical processors was retrieved.\r
   @retval EFI_DEVICE_ERROR        The calling processor is an AP.\r
-  @retval EFI_INVALID_PARAMETER   NumberOfProcessors is NULL\r
-  @retval EFI_INVALID_PARAMETER   NumberOfEnabledProcessors is NULL\r
+  @retval EFI_INVALID_PARAMETER   NumberOfProcessors is NULL.\r
+  @retval EFI_INVALID_PARAMETER   NumberOfEnabledProcessors is NULL.\r
 \r
 **/\r
 typedef\r
@@ -229,7 +215,7 @@ EFI_STATUS
 (EFIAPI *EFI_MP_SERVICES_GET_PROCESSOR_INFO)(\r
   IN  EFI_MP_SERVICES_PROTOCOL   *This,\r
   IN  UINTN                      ProcessorNumber,\r
-  OUT EFI_PROCESSOR_INFORMATION  *ProcessorContextBuffer\r
+  OUT EFI_PROCESSOR_INFORMATION  *ProcessorInfoBuffer\r
   );\r
 \r
 /**\r
@@ -290,7 +276,7 @@ EFI_STATUS
        FailedCpuList is set to NULL. If not all APs return from Procedure before \r
        the timeout, then FailedCpuList is filled in with the list of the failed \r
        APs. The buffer is allocated by MP Service Protocol using AllocatePool(). \r
-       It is the caller\92s responsibility to free the buffer with FreePool() service.\r
+       It is the caller's responsibility to free the buffer with FreePool() service.\r
     -# This invocation of SignalEvent() function informs the caller that invoked\r
        EFI_MP_SERVICES_PROTOCOL.StartupAllAPs() that either all the APs completed\r
        the specified task or a timeout occurred. The contents of FailedCpuList \r
@@ -316,7 +302,7 @@ EFI_STATUS
                                       BSP requests the function specified by \r
                                       Procedure to be started on all the enabled \r
                                       APs, and go on executing immediately. If \r
-                                      all return from Procedure or TimeoutInMicroSeconds\r
+                                      all return from Procedure, or TimeoutInMicroSeconds\r
                                       expires, this event is signaled. The BSP \r
                                       can use the CheckEvent() or WaitForEvent() \r
                                       services to check the state of event.  Type \r
@@ -402,8 +388,8 @@ EFI_STATUS
 \r
   @param[in]  This                    A pointer to the EFI_MP_SERVICES_PROTOCOL\r
                                       instance.\r
-  @param[in]  Procedure               A pointer to the function to be run on \r
-                                      enabled APs of the system. See type\r
+  @param[in]  Procedure               A pointer to the function to be run on the\r
+                                      designated AP of the system. See type\r
                                       EFI_AP_PROCEDURE.\r
   @param[in]  ProcessorNumber         The handle number of the AP. The range is \r
                                       from 0 to the total number of logical\r
@@ -412,13 +398,13 @@ EFI_STATUS
                                       EFI_MP_SERVICES_PROTOCOL.GetNumberOfProcessors().\r
   @param[in]  WaitEvent               The event created by the caller with CreateEvent()\r
                                       service.  If it is NULL, then execute in \r
-                                      blocking mode. BSP waits until all APs finish \r
+                                      blocking mode. BSP waits until this AP finish \r
                                       or TimeoutInMicroSeconds expires.  If it's \r
                                       not NULL, then execute in non-blocking mode. \r
                                       BSP requests the function specified by \r
-                                      Procedure to be started on all the enabled \r
-                                      APs, and go on executing immediately. If \r
-                                      all return from Procedure or TimeoutInMicroSeconds\r
+                                      Procedure to be started on this AP, \r
+                                      and go on executing immediately. If this AP\r
+                                      return from Procedure or TimeoutInMicroSeconds\r
                                       expires, this event is signaled. The BSP \r
                                       can use the CheckEvent() or WaitForEvent() \r
                                       services to check the state of event.  Type \r
@@ -426,20 +412,20 @@ EFI_STATUS
                                       the Unified Extensible Firmware Interface \r
                                       Specification.  \r
   @param[in]  TimeoutInMicrosecsond   Indicates the time limit in microseconds for \r
-                                      APs to return from Procedure, either for \r
+                                      this AP to finish this Procedure, either for \r
                                       blocking or non-blocking mode. Zero means \r
                                       infinity.  If the timeout expires before \r
-                                      all APs return from Procedure, then Procedure\r
-                                      on the failed APs is terminated. All enabled \r
-                                      APs are available for next function assigned \r
+                                      this AP returns from Procedure, then Procedure\r
+                                      on the AP is terminated. The \r
+                                      AP is available for next function assigned \r
                                       by EFI_MP_SERVICES_PROTOCOL.StartupAllAPs() \r
                                       or EFI_MP_SERVICES_PROTOCOL.StartupThisAP().\r
                                       If the timeout expires in blocking mode, \r
                                       BSP returns EFI_TIMEOUT.  If the timeout \r
                                       expires in non-blocking mode, WaitEvent \r
                                       is signaled with SignalEvent().\r
-  @param[in]  ProcedureArgument       The parameter passed into Procedure for \r
-                                      all APs.\r
+  @param[in]  ProcedureArgument       The parameter passed into Procedure on the\r
+                                      specified AP.\r
   @param[out] Finished                If NULL, this parameter is ignored.  In \r
                                       blocking mode, this parameter is ignored.\r
                                       In non-blocking mode, if AP returns from \r
@@ -537,8 +523,8 @@ EFI_STATUS
   from this service, then EFI_UNSUPPORTED must be returned.\r
 \r
   @param[in] This              A pointer to the EFI_MP_SERVICES_PROTOCOL instance.\r
-  @param[in] ProcessorNumber   The handle number of AP that is to become the new \r
-                               BSP. The range is from 0 to the total number of \r
+  @param[in] ProcessorNumber   The handle number of AP.\r
+                               The range is from 0 to the total number of \r
                                logical processors minus 1. The total number of \r
                                logical processors can be retrieved by\r
                                EFI_MP_SERVICES_PROTOCOL.GetNumberOfProcessors().\r
@@ -552,7 +538,7 @@ EFI_STATUS
                                bits are ignored.  If it is NULL, this parameter \r
                                is ignored.\r
 \r
-  @retval EFI_SUCCESS             The specified AP successfully enabled or disabled.\r
+  @retval EFI_SUCCESS             The specified AP was enabled or disabled successfully.\r
   @retval EFI_UNSUPPORTED         Enabling or disabling an AP cannot be completed \r
                                   prior to this service returning.\r
   @retval EFI_UNSUPPORTED         Enabling or disabling an AP is not supported.\r
@@ -567,7 +553,7 @@ EFI_STATUS
 (EFIAPI *EFI_MP_SERVICES_ENABLEDISABLEAP)(\r
   IN  EFI_MP_SERVICES_PROTOCOL  *This,\r
   IN  UINTN                     ProcessorNumber,\r
-  IN  BOOLEAN                   NewAPState,\r
+  IN  BOOLEAN                   EnableAP,\r
   IN  UINT32                    *HealthFlag OPTIONAL\r
   );\r
 \r
@@ -584,15 +570,15 @@ EFI_STATUS
   ProcessorNumber, and EFI_SUCCESS is returned.\r
 \r
   @param[in] This              A pointer to the EFI_MP_SERVICES_PROTOCOL instance.\r
-  @param[in] ProcessorNumber   The handle number of AP that is to become the new \r
-                               BSP. The range is from 0 to the total number of \r
+  @param[in] ProcessorNumber   Pointer to the handle number of AP.\r
+                               The range is from 0 to the total number of \r
                                logical processors minus 1. The total number of \r
                                logical processors can be retrieved by\r
                                EFI_MP_SERVICES_PROTOCOL.GetNumberOfProcessors().\r
 \r
   @retval EFI_SUCCESS             The current processor handle number was returned \r
                                   in ProcessorNumber.\r
-  @retval EFI_INVALID_PARAMETER   ProcessorNumber is NULL\r
+  @retval EFI_INVALID_PARAMETER   ProcessorNumber is NULL.\r
 \r
 **/\r
 typedef\r
@@ -621,7 +607,7 @@ EFI_STATUS
 /// guarantee that all non-blocking mode requests on all APs have been completed \r
 /// before the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled. Since the \r
 /// order that event notification functions in the same event group are executed \r
-/// is not deterministic, an event of type EFI_EVENT_GROUP_READY_TO_BOOT can not \r
+/// is not deterministic, an event of type EFI_EVENT_GROUP_READY_TO_BOOT cannot \r
 /// be used to guarantee that APs have completed their non-blocking mode requests.\r
 ///\r
 /// When the UEFI event EFI_EVENT_GROUP_READY_TO_BOOT is signaled, the StartAllAPs() \r