EFI_STATUS\r
(EFIAPI *EFI_PEI_SMBUS_PPI_EXECUTE_OPERATION)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,\r
IN EFI_SMBUS_DEVICE_COMMAND Command,\r
IN EFI_SMBUS_OPERATION Operation,\r
EFI_STATUS\r
(EFIAPI *EFI_PEI_SMBUS_NOTIFY_FUNCTION)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *SmbusPpi,\r
+ IN EFI_PEI_SMBUS_PPI *SmbusPpi,\r
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,\r
IN UINTN Data\r
);\r
EFI_STATUS\r
(EFIAPI *EFI_PEI_SMBUS_PPI_ARP_DEVICE)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN BOOLEAN ArpAll,\r
IN EFI_SMBUS_UDID *SmbusUdid, OPTIONAL\r
IN OUT EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL\r
@param SmbusDeviceMap The pointer to the device map as enumerated\r
by the SMBus controller driver.\r
\r
- @retval EFI_SUCCESS The device map was returned correctly in the buffer.\r
+ @retval EFI_SUCCESS The device map was returned correctly in the buffer.\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PEI_SMBUS_PPI_GET_ARP_MAP)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN OUT UINTN *Length,\r
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap\r
);\r
@param NotifyFunction The function to call when the bus driver\r
detects the SlaveAddress and Data pair.\r
\r
- @retval EFI_SUCCESS NotifyFunction has been registered.\r
+ @retval EFI_SUCCESS NotifyFunction has been registered.\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PEI_SMBUS_PPI_NOTIFY)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,\r
IN UINTN Data,\r
- IN EFI_PEI_SMBUS_NOTIFY_FUNCTION NotifyFunction\r
+ IN EFI_PEI_SMBUS_NOTIFY_FUNCTION NotifyFunction\r
);\r
\r
/**\r
Gets information on possible SMRAM regions.\r
\r
@param LockState\r
-Indicates the current state of the SMRAM. Set to TRUE if any region is locked.\r
+ Indicates the current state of the SMRAM. Set to TRUE if any region is locked.\r
\r
@param OpenState\r
-Indicates the current state of the SMRAM. Set to TRUE if any region is open.\r
+ Indicates the current state of the SMRAM. Set to TRUE if any region is open.\r
\r
**/\r
struct _EFI_SMM_ACCESS_PROTOCOL {\r
@param SourceBuffer Optional source buffer in case of the image file\r
being in memory.\r
@param SourceSize Size of the source image file, if in memory.\r
- @param ImageHandle Pointer to the handle that reflects the driver\r
- loaded into SMM.\r
- @param LegacyIA32Binary The binary image to load is legacy 16 bit code.\r
+ @param ImageHandle The handle that the base driver uses to decode \r
+ the handler. Unique among SMM handlers only, \r
+ not unique across DXE/EFI.\r
+ @param LegacyIA32Binary An optional parameter that details that the associated \r
+ file is a real-mode IA-32 binary.\r
\r
@retval EFI_SUCCESS The operation was successful.\r
@retval EFI_OUT_OF_RESOURCES There were no additional SMRAM resources to load the handler\r
);\r
\r
/**\r
- Remove a given driver SMRAM. This is the equivalent of performing\r
- the UnloadImage System Management Mode.\r
+ Removes a handler from execution within SMRAM. This is the equivalent of performing\r
+ the UnloadImage in System Management Mode.\r
\r
@param This Protocol instance pointer.\r
- @param ImageHandle Pointer to the handle that reflects the driver\r
- loaded into SMM.\r
+ @param ImageHandle The handler to be removed.\r
\r
@retval EFI_SUCCESS The operation was successful\r
@retval EFI_INVALID_PARAMETER The handler did not exist\r
The SMM Inter-module Communicate Service Communicate() function\r
provides a services to send/received messages from a registered\r
EFI service. The BASE protocol driver is responsible for doing\r
- any of the copies such that the data lives in boot-service accessible RAM.\r
+ any of the copies such that the data lives in boot-service-accessible RAM.\r
\r
@param This Protocol instance pointer.\r
- @param ImageHandle Pointer to the handle that reflects the driver\r
- loaded into SMM.\r
+ @param ImageHandle The handle of the registered driver.\r
@param CommunicationBuffer Pointer to the buffer to convey into SMRAM.\r
- @param SourceSize Size of the contents of buffer..\r
+ @param SourceSize The size of the data buffer being passed in.\r
\r
@retval EFI_SUCCESS The message was successfully posted\r
@retval EFI_INVALID_PARAMETER The buffer was NULL\r
\r
/**\r
Register a callback to execute within SMM.\r
- This allows receipt of messages created with the Boot Service COMMUNICATE.\r
+ This allows receipt of messages created with EFI_SMM_BASE_PROTOCOL.Communicate().\r
\r
@param This Protocol instance pointer.\r
- @param CallbackAddress Address of the callback service\r
- @param MakeFirst If present, will stipulate that the handler is posted\r
- to be the first module executed in the dispatch table.\r
- @param MakeLast If present, will stipulate that the handler is posted\r
- to be last executed in the dispatch table.\r
+ @param SmmImageHandle Handle of the callback service.\r
+ @param CallbackAddress Address of the callback service.\r
+ @param MakeLast If present, will stipulate that the handler is posted to \r
+ be executed last in the dispatch table.\r
@param FloatingPointSave This is an optional parameter which informs the\r
EFI_SMM_ACCESS_PROTOCOL Driver core if it needs to save\r
the floating point register state. If any of the handlers\r
@retval EFI_SUCCESS The operation was successful\r
@retval EFI_OUT_OF_RESOURCES Not enough space in the dispatch queue\r
@retval EFI_UNSUPPORTED In runtime.\r
- @retval EFI_UNSUPPORTED Not in SMM.\r
+ @retval EFI_UNSUPPORTED The caller is not in SMM.\r
\r
**/\r
typedef\r
@param This Protocol instance pointer.\r
@param PoolType The type of pool to allocate.\r
The only supported type is EfiRuntimeServicesData;\r
- the interface will internally map this runtime request to SMRAM.\r
+ the interface will internally map this runtime request to \r
+ SMRAM for IA-32 and leave as this type for the Itanium \r
+ processor family. Other types can be ignored.\r
@param Size The number of bytes to allocate from the pool.\r
@param Buffer A pointer to a pointer to the allocated buffer if the call\r
succeeds; undefined otherwise.\r
{ \\r
0x8d12e231, 0xc667, 0x4fd1, {0x98, 0xf2, 0x24, 0x49, 0xa7, 0xe7, 0xb2, 0xe5 } \\r
}\r
-\r
+//\r
// SMM Access specification Data Structures\r
//\r
typedef struct {\r
Clears any system state that was created in response to the Active call.\r
\r
@param This The EFI_SMM_CONTROL_PROTOCOL instance.\r
- @param Periodic Optional parameter to repeat at this period one time\r
+ @param Periodic Optional parameter to repeat at this period one \r
+ time or, if the Periodic Boolean is set, periodically.\r
\r
@retval EFI_SUCCESS The SMI/PMI has been engendered.\r
@retval EFI_DEVICE_ERROR The source could not be cleared.\r
/**\r
Register a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_GPI_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Function to install.\r
@param DispatchContext 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 the GPI(s) for which the dispatch function\r
should be invoked.\r
- @param DispatchHandle Handle of dispatch function, for when interfacing\r
- with the parent Sx state SMM driver.\r
+ @param 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
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_GPI_REGISTER)(\r
- IN EFI_SMM_GPI_DISPATCH_PROTOCOL *This,\r
- IN EFI_SMM_GPI_DISPATCH DispatchFunction,\r
- IN EFI_SMM_GPI_DISPATCH_CONTEXT *DispatchContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
+ IN EFI_SMM_GPI_DISPATCH_PROTOCOL *This,\r
+ IN EFI_SMM_GPI_DISPATCH DispatchFunction,\r
+ IN EFI_SMM_GPI_DISPATCH_CONTEXT *DispatchContext,\r
+ OUT EFI_HANDLE *DispatchHandle\r
);\r
\r
/**\r
- Unregister a child SMI source dispatch function with a parent SMM driver\r
+ Unregisters a General Purpose Input (GPI) service.\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_GPI_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
unregistered and the SMI source has been disabled\r
if there are no other registered child dispatch\r
functions for this SMI source.\r
@retval EFI_INVALID_PARAMETER Handle is invalid.\r
- @retval other TBD\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_GPI_UNREGISTER)(\r
- IN EFI_SMM_GPI_DISPATCH_PROTOCOL *This,\r
- IN EFI_HANDLE DispatchHandle\r
+ IN EFI_SMM_GPI_DISPATCH_PROTOCOL *This,\r
+ IN EFI_HANDLE DispatchHandle\r
);\r
\r
//\r
// Member functions\r
//\r
/**\r
- Dispatch function for a ICH n specific SMI handler.\r
+ Dispatch function for a ICHN specific SMI handler.\r
\r
@param DispatchHandle Handle of this dispatch function.\r
@param DispatchContext Pointer to the dispatch function's context.\r
by the dispatching driver prior to\r
invoking this dispatch function.\r
\r
- Nothing\r
+ @return None\r
\r
**/\r
typedef\r
/**\r
Register a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_ICHN_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Function to install.\r
@param DispatchContext 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 the ICHN SMI source for which the dispatch\r
function should be invoked.\r
- @param DispatchHandle Handle of dispatch function, for when interfacing\r
- with the parent Sx state SMM driver.\r
+ @param DispatchHandle Handle generated by the dispatcher to track the function\r
+ instance.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
registered and the SMI source has been enabled.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_ICHN_REGISTER)(\r
- IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This,\r
- IN EFI_SMM_ICHN_DISPATCH DispatchFunction,\r
- IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
+ IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This,\r
+ IN EFI_SMM_ICHN_DISPATCH DispatchFunction,\r
+ IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext,\r
+ OUT EFI_HANDLE *DispatchHandle\r
);\r
\r
/**\r
Unregister a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_ICHN_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
unregistered and the SMI source has been disabled\r
if there are no other registered child dispatch\r
functions for this SMI source.\r
@retval EFI_INVALID_PARAMETER Handle is invalid.\r
- @retval other TBD\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_ICHN_UNREGISTER)(\r
- IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This,\r
- IN EFI_HANDLE DispatchHandle\r
+ IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This,\r
+ IN EFI_HANDLE DispatchHandle\r
);\r
\r
//\r
-// Interface structure for the SMM Ich n specific SMI Dispatch Protocol\r
+// Interface structure for the SMM ICHN specific SMI Dispatch Protocol\r
//\r
/**\r
@par Protocol Description:\r
by the dispatching driver prior to\r
invoking this dispatch function.\r
\r
- Nothing\r
+ @return None\r
\r
**/\r
typedef\r
VOID\r
(EFIAPI *EFI_SMM_PERIODIC_TIMER_DISPATCH)(\r
- IN EFI_HANDLE DispatchHandle,\r
- IN EFI_SMM_PERIODIC_TIMER_DISPATCH_CONTEXT *DispatchContext\r
+ IN EFI_HANDLE DispatchHandle,\r
+ IN EFI_SMM_PERIODIC_TIMER_DISPATCH_CONTEXT *DispatchContext\r
);\r
\r
/**\r
/**\r
Register a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Function to install.\r
@param DispatchContext 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 the period at which the dispatch function\r
should be invoked.\r
- @param DispatchHandle Handle of dispatch function, for when interfacing\r
- with the parent Sx state SMM driver.\r
+ @param DispatchHandle Handle generated by the dispatcher to track the function instance.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
registered and the SMI source has been enabled.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_PERIODIC_TIMER_REGISTER)(\r
- IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This,\r
- IN EFI_SMM_PERIODIC_TIMER_DISPATCH DispatchFunction,\r
- IN EFI_SMM_PERIODIC_TIMER_DISPATCH_CONTEXT *DispatchContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
+ IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This,\r
+ IN EFI_SMM_PERIODIC_TIMER_DISPATCH DispatchFunction,\r
+ IN EFI_SMM_PERIODIC_TIMER_DISPATCH_CONTEXT *DispatchContext,\r
+ OUT EFI_HANDLE *DispatchHandle\r
);\r
\r
/**\r
- Unregister a child SMI source dispatch function with a parent SMM driver\r
+ Unregisters a periodic timer service.\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
unregistered and the SMI source has been disabled\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_PERIODIC_TIMER_UNREGISTER)(\r
- IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This,\r
- IN EFI_HANDLE DispatchHandle\r
+ IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This,\r
+ IN EFI_HANDLE DispatchHandle\r
);\r
\r
//\r
by the dispatching driver prior to\r
invoking this dispatch function.\r
\r
- Nothing\r
+ @return None\r
\r
**/\r
typedef\r
);\r
\r
/**\r
- Register a child SMI source dispatch function with a parent SMM driver\r
+ Provides the parent dispatch service for a given SMI source generator\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Function to install.\r
@param DispatchContext 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 the Power Button SMI phase for which the dispatch\r
function should be invoked.\r
- @param DispatchHandle Handle of dispatch function, for when interfacing\r
- with the parent Sx state SMM driver.\r
+ @param DispatchHandle Handle generated by the dispatcher to track the function instance.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
registered and the SMI source has been enabled.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_POWER_BUTTON_REGISTER)(\r
- IN EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL *This,\r
- IN EFI_SMM_POWER_BUTTON_DISPATCH DispatchFunction,\r
- IN EFI_SMM_POWER_BUTTON_DISPATCH_CONTEXT *DispatchContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
+ IN EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL *This,\r
+ IN EFI_SMM_POWER_BUTTON_DISPATCH DispatchFunction,\r
+ IN EFI_SMM_POWER_BUTTON_DISPATCH_CONTEXT *DispatchContext,\r
+ OUT EFI_HANDLE *DispatchHandle\r
);\r
\r
/**\r
- Unregister a child SMI source dispatch function with a parent SMM driver\r
+ Unregisters a power-button service.\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
unregistered and the SMI source has been disabled\r
if there are no other registered child dispatch\r
functions for this SMI source.\r
@retval EFI_INVALID_PARAMETER Handle is invalid.\r
- @retval other TBD\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_POWER_BUTTON_UNREGISTER)(\r
- IN EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL *This,\r
- IN EFI_HANDLE DispatchHandle\r
+ IN EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL *This,\r
+ IN EFI_HANDLE DispatchHandle\r
);\r
\r
//\r
by the dispatching driver prior to\r
invoking this dispatch function.\r
\r
- @return Nothing\r
+ @return None\r
\r
**/\r
typedef\r
);\r
\r
/**\r
- Register a child SMI source dispatch function with a parent SMM driver\r
+ Provides the parent dispatch service for a given SMI source generator\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Function to install.\r
@param DispatchContext 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 the Standby Button SMI phase for which the dispatch\r
function should be invoked.\r
- @param DispatchHandle Handle of dispatch function, for when interfacing\r
- with the parent Sx state SMM driver.\r
+ @param DispatchHandle Handle generated by the dispatcher to track the function instance.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
registered and the SMI source has been enabled.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_STANDBY_BUTTON_REGISTER)(\r
- IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL *This,\r
- IN EFI_SMM_STANDBY_BUTTON_DISPATCH DispatchFunction,\r
- IN EFI_SMM_STANDBY_BUTTON_DISPATCH_CONTEXT *DispatchContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
+ IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL *This,\r
+ IN EFI_SMM_STANDBY_BUTTON_DISPATCH DispatchFunction,\r
+ IN EFI_SMM_STANDBY_BUTTON_DISPATCH_CONTEXT *DispatchContext,\r
+ OUT EFI_HANDLE *DispatchHandle\r
);\r
\r
/**\r
Unregister a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
unregistered and the SMI source has been disabled\r
if there are no other registered child dispatch\r
functions for this SMI source.\r
@retval EFI_INVALID_PARAMETER Handle is invalid.\r
- @retval other TBD\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_STANDBY_BUTTON_UNREGISTER)(\r
IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL *This,\r
- IN EFI_HANDLE DispatchHandle\r
+ IN EFI_HANDLE DispatchHandle\r
);\r
\r
//\r
The dispatch function will only be called\r
for input values for which it is registered.\r
\r
- Nothing\r
+ @return None\r
\r
**/\r
typedef\r
/**\r
Register a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_SW_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Function to install.\r
@param DispatchContext 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 DispatchHandle Handle of dispatch function, for when interfacing\r
- with the parent Sx state SMM driver.\r
+ @param DispatchHandle Handle generated by the dispatcher to track the function instance.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
registered and the SMI source has been enabled.\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_SW_REGISTER)(\r
- IN EFI_SMM_SW_DISPATCH_PROTOCOL *This,\r
- IN EFI_SMM_SW_DISPATCH DispatchFunction,\r
- IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
+ IN EFI_SMM_SW_DISPATCH_PROTOCOL *This,\r
+ IN EFI_SMM_SW_DISPATCH DispatchFunction,\r
+ IN EFI_SMM_SW_DISPATCH_CONTEXT *DispatchContext,\r
+ OUT EFI_HANDLE *DispatchHandle\r
);\r
\r
/**\r
Unregister a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_SW_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
unregistered and the SMI source has been disabled\r
if there are no other registered child dispatch\r
functions for this SMI source.\r
@retval EFI_INVALID_PARAMETER Handle is invalid.\r
- @retval other TBD\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_SW_UNREGISTER)(\r
- IN EFI_SMM_SW_DISPATCH_PROTOCOL *This,\r
- IN EFI_HANDLE DispatchHandle\r
+ IN EFI_SMM_SW_DISPATCH_PROTOCOL *This,\r
+ IN EFI_HANDLE DispatchHandle\r
);\r
\r
//\r
and phases, so the Sx state handler(s) must check the Type and\r
Phase field of EFI_SMM_SX_DISPATCH_CONTEXT and act accordingly.\r
\r
- Nothing\r
+ @return None\r
\r
**/\r
typedef\r
/**\r
Register a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_SX_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Function to install.\r
@param DispatchContext 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
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_SX_REGISTER)(\r
- IN EFI_SMM_SX_DISPATCH_PROTOCOL *This,\r
- IN EFI_SMM_SX_DISPATCH DispatchFunction,\r
- IN EFI_SMM_SX_DISPATCH_CONTEXT *DispatchContext,\r
- OUT EFI_HANDLE *DispatchHandle\r
+ IN EFI_SMM_SX_DISPATCH_PROTOCOL *This,\r
+ IN EFI_SMM_SX_DISPATCH DispatchFunction,\r
+ IN EFI_SMM_SX_DISPATCH_CONTEXT *DispatchContext,\r
+ OUT EFI_HANDLE *DispatchHandle\r
);\r
\r
/**\r
- Unregister a child SMI source dispatch function with a parent SMM driver\r
+ Unregisters an Sx-state service\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_SX_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully unregistered and the\r
SMI source has been disabled if there are no other registered child\r
dispatch functions for this SMI source.\r
@retval EFI_INVALID_PARAMETER Handle is invalid.\r
- @retval other TBD\r
\r
**/\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_SMM_SX_UNREGISTER)(\r
- IN EFI_SMM_SX_DISPATCH_PROTOCOL *This,\r
- IN EFI_HANDLE DispatchHandle\r
+ IN EFI_SMM_SX_DISPATCH_PROTOCOL *This,\r
+ IN EFI_HANDLE DispatchHandle\r
);\r
\r
//\r
by the dispatching driver prior to\r
invoking this dispatch function.\r
\r
- Nothing\r
+ @return None\r
\r
**/\r
typedef\r
/**\r
Register a child SMI source dispatch function with a parent SMM driver\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchFunction Pointer to dispatch function to be invoked for\r
- this SMI source\r
+ @param This Pointer to the EFI_SMM_USB_DISPATCH_PROTOCOL instance.\r
+ @param DispatchFunction Pointer to dispatch function to be invoked \r
+ for this SMI source.\r
@param DispatchContext 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 the USB SMI types for which the dispatch\r
function should be invoked.\r
- @param DispatchHandle Handle of dispatch function, for when interfacing\r
- with the parent Sx state SMM driver.\r
+ @param 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
);\r
\r
/**\r
- Unregister a child SMI source dispatch function with a parent SMM driver\r
+ Unregisters a USB service\r
\r
- @param This Protocol instance pointer.\r
- @param DispatchHandle Handle of dispatch function to deregister.\r
+ @param This Pointer to the EFI_SMM_USB_DISPATCH_PROTOCOL instance.\r
+ @param DispatchHandle Handle of the service to remove.\r
\r
@retval EFI_SUCCESS The dispatch function has been successfully\r
unregistered and the SMI source has been disabled\r