summaryrefslogtreecommitdiff
path: root/MdePkg/Include/Protocol/SmmSwDispatch2.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Protocol/SmmSwDispatch2.h')
-rw-r--r--MdePkg/Include/Protocol/SmmSwDispatch2.h26
1 files changed, 15 insertions, 11 deletions
diff --git a/MdePkg/Include/Protocol/SmmSwDispatch2.h b/MdePkg/Include/Protocol/SmmSwDispatch2.h
index c64e2b226f..a4c41663c8 100644
--- a/MdePkg/Include/Protocol/SmmSwDispatch2.h
+++ b/MdePkg/Include/Protocol/SmmSwDispatch2.h
@@ -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
using UnRegister().
- @param[in] This Pointer to the EFI_SMM_SW_DISPATCH2_PROTOCOL instance.
- @param[in] DispatchFunction Function to register for handler when the specified software
- SMI is generated.
- @param[in] RegisterContext Pointer to the dispatch function's context.
- The caller fills this context in before calling
- the register function to indicate to the register
- function which Software SMI input value the
- dispatch function should be invoked for.
- @param[out] DispatchHandle Handle generated by the dispatcher to track the
- function instance.
+ Note that the modifiers for the parameter RegisterContext are IN, OUT, while they are IN, CONST
+ in the PI 1.2 errta B spec. This in-consistency is for support for the case where SwSmiInputValue
+ is set to -1, a unique value will be returned in the RegisterContext structure.
+
+ @param[in] This Pointer to the EFI_SMM_SW_DISPATCH2_PROTOCOL instance.
+ @param[in] DispatchFunction Function to register for handler when the specified software
+ SMI is generated.
+ @param[in, out] RegisterContext Pointer to the dispatch function's context.
+ The caller fills this context in before calling
+ the register function to indicate to the register
+ function which Software SMI input value the
+ dispatch function should be invoked for.
+ @param[out] DispatchHandle Handle generated by the dispatcher to track the
+ function instance.
@retval EFI_SUCCESS The dispatch function has been successfully
registered and the SMI source has been enabled.
@@ -91,7 +95,7 @@ EFI_STATUS
(EFIAPI *EFI_SMM_SW_REGISTER2)(
IN CONST EFI_SMM_SW_DISPATCH2_PROTOCOL *This,
IN EFI_SMM_HANDLER_ENTRY_POINT2 DispatchFunction,
- IN CONST EFI_SMM_SW_REGISTER_CONTEXT *RegisterContext,
+ IN OUT EFI_SMM_SW_REGISTER_CONTEXT *RegisterContext,
OUT EFI_HANDLE *DispatchHandle
);