Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL_GUID |
Value:
{ \ 0x9cca03fc, 0x4c9e, 0x4a19, {0x9b, 0x6, 0xed, 0x7b, 0x47, 0x9b, 0xde, 0x55 } \ }
typedef VOID(EFIAPI * EFI_SMM_PERIODIC_TIMER_DISPATCH)(IN EFI_HANDLE DispatchHandle, IN EFI_SMM_PERIODIC_TIMER_DISPATCH_CONTEXT *DispatchContext) |
Dispatch function for a Periodic Timer SMI handler.
DispatchHandle | The handle of this dispatch function. | |
DispatchContext | The pointer to the dispatch function's context. The DispatchContext fields are filled in by the dispatching driver prior to invoking this dispatch function. |
typedef EFI_STATUS(EFIAPI * EFI_SMM_PERIODIC_TIMER_INTERVAL)(IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, IN OUT UINT64 **SmiTickInterval) |
Returns the next SMI tick period supported by the chipset. The order returned is from longest to shortest interval period.
This | The protocol instance pointer. | |
SmiTickInterval | The pointer to pointer of next shorter SMI interval period supported by the child. This parameter works as a get-first, get-next field. The first time this function is called, *SmiTickInterval should be set to NULL to get the longest SMI interval. The returned SmiTickInterval should be passed in on subsequent calls to get the next shorter interval period until *SmiTickInterval = NULL. |
EFI_SUCCESS | The service returned successfully. |
typedef EFI_STATUS(EFIAPI * EFI_SMM_PERIODIC_TIMER_REGISTER)(IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, IN EFI_SMM_PERIODIC_TIMER_DISPATCH DispatchFunction, IN EFI_SMM_PERIODIC_TIMER_DISPATCH_CONTEXT *DispatchContext, OUT EFI_HANDLE *DispatchHandle) |
Register a child SMI source dispatch function with a parent SMM driver
This | The pointer to the EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL instance. | |
DispatchFunction | The function to install. | |
DispatchContext | The pointer to the dispatch function's context. Indicates to the register function the period at which the dispatch function should be invoked. | |
DispatchHandle | The handle generated by the dispatcher to track the function instance. |
EFI_SUCCESS | The dispatch function has been successfully registered, and the SMI source has been enabled. | |
EFI_DEVICE_ERROR | The driver was unable to enable the SMI source. | |
EFI_OUT_OF_RESOURCES | Not enough memory (system or SMM) to manage this child. | |
EFI_INVALID_PARAMETER | DispatchContext is invalid. The period input value is not within valid range. |
typedef EFI_STATUS(EFIAPI * EFI_SMM_PERIODIC_TIMER_UNREGISTER)(IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, IN EFI_HANDLE DispatchHandle) |
Unregisters a periodic timer service.
This | The pointer to the EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL instance. | |
DispatchHandle | The handle of the service to remove. |
EFI_SUCCESS | The dispatch function has been successfully unregistered, and the SMI source has been disabled if there are no other registered child dispatch functions for this SMI source. | |
EFI_INVALID_PARAMETER | The handle is invalid. |