]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Protocol/SmmSwDispatch2.h
Change the modifiers of the RegisterContext parameter of EFI SMM SW Dispatch2 Protoco...
[mirror_edk2.git] / MdePkg / Include / Protocol / SmmSwDispatch2.h
index c64e2b226f4db52dd8ab4a85dc578022040eee72..a4c41663c85589f60a151965d2691336d088ae28 100644 (file)
@@ -65,16 +65,20 @@ typedef struct _EFI_SMM_SW_DISPATCH2_PROTOCOL  EFI_SMM_SW_DISPATCH2_PROTOCOL;
   DispatchHandle contains a unique handle which may be used later to unregister the function \r
   using UnRegister().\r
 \r
-  @param[in]  This               Pointer to the EFI_SMM_SW_DISPATCH2_PROTOCOL instance.\r
-  @param[in]  DispatchFunction   Function to register for handler when the specified software \r
-                                 SMI is generated. \r
-  @param[in]  RegisterContext    Pointer to the dispatch function's context.\r
-                                 The caller fills this context in before calling\r
-                                 the register function to indicate to the register\r
-                                 function which Software SMI input value the\r
-                                 dispatch function should be invoked for.\r
-  @param[out] DispatchHandle     Handle generated by the dispatcher to track the\r
-                                 function instance.\r
+  Note that the modifiers for the parameter RegisterContext are IN, OUT, while they are IN, CONST\r
+  in the PI 1.2 errta B spec. This in-consistency is for support for the case where SwSmiInputValue\r
+  is set to -1, a unique value will be returned in the RegisterContext structure.\r
+\r
+  @param[in]  This                 Pointer to the EFI_SMM_SW_DISPATCH2_PROTOCOL instance.\r
+  @param[in]  DispatchFunction     Function to register for handler when the specified software \r
+                                   SMI is generated. \r
+  @param[in, out] RegisterContext  Pointer to the dispatch function's context.\r
+                                   The caller fills this context in before calling\r
+                                   the register function to indicate to the register\r
+                                   function which Software SMI input value the\r
+                                   dispatch function should be invoked for.\r
+  @param[out] DispatchHandle       Handle generated by the dispatcher to track the\r
+                                   function instance.\r
 \r
   @retval EFI_SUCCESS            The dispatch function has been successfully\r
                                  registered and the SMI source has been enabled.\r
@@ -91,7 +95,7 @@ EFI_STATUS
 (EFIAPI *EFI_SMM_SW_REGISTER2)(\r
   IN  CONST EFI_SMM_SW_DISPATCH2_PROTOCOL  *This,\r
   IN        EFI_SMM_HANDLER_ENTRY_POINT2   DispatchFunction,\r
-  IN  CONST EFI_SMM_SW_REGISTER_CONTEXT    *RegisterContext,\r
+  IN  OUT   EFI_SMM_SW_REGISTER_CONTEXT    *RegisterContext,\r
   OUT       EFI_HANDLE                     *DispatchHandle\r
   );\r
 \r