diff options
author | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
---|---|---|
committer | raywu <raywu0301@gmail.com> | 2018-06-15 00:00:50 +0800 |
commit | b7c51c9cf4864df6aabb99a1ae843becd577237c (patch) | |
tree | eebe9b0d0ca03062955223097e57da84dd618b9a /Chipset/SB/SmmChildDispatchProtocol.h | |
download | zprj-b7c51c9cf4864df6aabb99a1ae843becd577237c.tar.xz |
Diffstat (limited to 'Chipset/SB/SmmChildDispatchProtocol.h')
-rw-r--r-- | Chipset/SB/SmmChildDispatchProtocol.h | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/Chipset/SB/SmmChildDispatchProtocol.h b/Chipset/SB/SmmChildDispatchProtocol.h new file mode 100644 index 0000000..39bca9a --- /dev/null +++ b/Chipset/SB/SmmChildDispatchProtocol.h @@ -0,0 +1,279 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* + +//************************************************************************* +// $Header: /Alaska/BIN/Chipset/Intel/SouthBridge/LynxPoint/Intel Pch SB Chipset/SmmChildDispatcher/SmmChildDispatchProtocol.h 1 2/08/12 8:27a Yurenlai $ +// +// $Revision: 1 $ +// +// $Date: 2/08/12 8:27a $ +//************************************************************************* +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Chipset/Intel/SouthBridge/LynxPoint/Intel Pch SB Chipset/SmmChildDispatcher/SmmChildDispatchProtocol.h $ +// +// 1 2/08/12 8:27a Yurenlai +// Intel Lynx Point/SB eChipset initially releases. +// +//************************************************************************* +//<AMI_FHDR_START> +// +// Name: SmmChildDispatchProtocol.h +// +// Description: SMM Child dispatcher protocols functions definition +// +//<AMI_FHDR_END> +//************************************************************************* + +#ifndef __SMM_CHILD_DISPATCH_PROTOCOL__H__ +#define __SMM_CHILD_DISPATCH_PROTOCOL__H__ +#ifdef __cplusplus +extern "C" { +#endif + +#include <Protocol\SmmSwDispatch.h> +#include <Protocol\SmmSxDispatch.h> +#include <Protocol\SmmPeriodicTimerDispatch.h> +#include <Protocol\SmmUsbDispatch.h> +#include <Protocol\SmmGpiDispatch.h> +#include <Protocol\SmmStandbyButtonDispatch.h> +#include <Protocol\SmmPowerButtonDispatch.h> +#include <Protocol\SmmTcoDispatch.h> +#include <Protocol\SmmIoTrapDispatch.h> +#if defined PI_SPECIFICATION_VERSION && (PI_SPECIFICATION_VERSION >= 0x0001000A) +#include <Protocol\SmmIoTrapDispatch2.h> +#else +#include <Protocol\SmmPchIoTrapDispatch2.h> +#endif + +#include <Protocol\SmmBiosWriteDispatch.h> +#include <Token.h> +//-------------- Generic register/unregister handler functions -------------- + +EFI_STATUS RegisterHandler( + IN EFI_SMM_SMI Type, + IN VOID *Function, + IN VOID *Context, + IN UINTN ContextSize, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS UnregisterHandler ( + IN EFI_SMM_SMI Type, + IN EFI_HANDLE Handle +); + +//------------------------ Sw SMI protocol functions ------------------------ + +EFI_STATUS EfiSmmSwRegister ( + IN EFI_SMM_SW_DISPATCH_PROTOCOL *This, + IN EFI_SMM_SW_DISPATCH Function, + IN EFI_SMM_SW_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmSwUnregister ( + IN EFI_SMM_SW_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//------------------------ Sx SMI protocol functions ------------------------ + +EFI_STATUS EfiSmmSxRegister ( + IN EFI_SMM_SX_DISPATCH_PROTOCOL *This, + IN EFI_SMM_SX_DISPATCH Function, + IN EFI_SMM_SX_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmSxUnregister ( + IN EFI_SMM_SX_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//------------------ Periodic timer SMI protocol functions ------------------ + +EFI_STATUS EfiSmmTimerRegister ( + IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, + IN EFI_SMM_PERIODIC_TIMER_DISPATCH Function, + IN EFI_SMM_PERIODIC_TIMER_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmTimerUnregister ( + IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +EFI_STATUS EfiSmmTimerGetNextShorterInterval ( + IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, + IN OUT UINT64 **SmiTickInterval +); + +EFI_STATUS EfiSmmPeriodicTimerEnable ( + IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +EFI_STATUS EfiSmmPeriodicTimerDisable ( + IN EFI_SMM_PERIODIC_TIMER_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//----------------------- Usb SMI protocol functions ------------------------ + +EFI_STATUS EfiSmmUsbRegister ( + IN EFI_SMM_USB_DISPATCH_PROTOCOL *This, + IN EFI_SMM_USB_DISPATCH Function, + IN EFI_SMM_USB_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmUsbUnregister ( + IN EFI_SMM_USB_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//----------------------- Gpi SMI protocol functions ------------------------ + +EFI_STATUS EfiSmmGpiRegister ( + IN EFI_SMM_GPI_DISPATCH_PROTOCOL *This, + IN EFI_SMM_GPI_DISPATCH Function, + IN EFI_SMM_GPI_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmGpiUnregister ( + IN EFI_SMM_GPI_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//------------------ Standby button SMI protocol functions ------------------ + +EFI_STATUS EfiSmmSButtonRegister ( + IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL *This, + IN EFI_SMM_STANDBY_BUTTON_DISPATCH Function, + IN EFI_SMM_STANDBY_BUTTON_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmSButtonUnregister ( + IN EFI_SMM_STANDBY_BUTTON_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//------------------- Power button SMI protocol functions ------------------- + +EFI_STATUS EfiSmmPButtonRegister ( + IN EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL *This, + IN EFI_SMM_POWER_BUTTON_DISPATCH Function, + IN EFI_SMM_POWER_BUTTON_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmPButtonUnregister ( + IN EFI_SMM_POWER_BUTTON_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//----------- Total Cost of Ownership (TCO) SMI protocol functions ---------- + +EFI_STATUS EfiSmmTcoRegister ( + IN EFI_SMM_TCO_DISPATCH_PROTOCOL *This, + IN EFI_SMM_TCO_DISPATCH Function, + IN EFI_SMM_TCO_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmTcoUnregister ( + IN EFI_SMM_TCO_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//--------------------- I/O Trap SMI protocol functions --------------------- + +EFI_STATUS EfiSmmIoTrapRegister ( + IN EFI_SMM_IO_TRAP_DISPATCH_PROTOCOL *This, + IN EFI_SMM_IO_TRAP_DISPATCH Function, + IN EFI_SMM_IO_TRAP_DISPATCH_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmIoTrapUnregister ( + IN EFI_SMM_IO_TRAP_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +//------------------- I/O Trap #2 SMI protocol functions ------------------- + +#if defined PI_SPECIFICATION_VERSION && (PI_SPECIFICATION_VERSION >= 0x0001000A) +EFI_STATUS EfiSmmIoTrap2Register ( + IN CONST EFI_SMM_IO_TRAP_DISPATCH2_PROTOCOL *This, + IN EFI_SMM_HANDLER_ENTRY_POINT2 Function, + IN EFI_SMM_IO_TRAP_REGISTER_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); +#else +EFI_STATUS EfiSmmIoTrap2Register ( + IN EFI_SMM_IO_TRAP_DISPATCH2_PROTOCOL *This, + IN EFI_SMM_IO_TRAP_DISPATCH2 Function, + IN EFI_SMM_IO_TRAP_REGISTER_CONTEXT *Context, + OUT EFI_HANDLE *Handle +); +#endif + +#if defined PI_SPECIFICATION_VERSION && (PI_SPECIFICATION_VERSION >= 0x0001000A) +EFI_STATUS EfiSmmIoTrap2Unregister ( + IN CONST EFI_SMM_IO_TRAP_DISPATCH2_PROTOCOL *This, + IN EFI_HANDLE Handle +); +#else +EFI_STATUS EfiSmmIoTrap2Unregister ( + IN EFI_SMM_IO_TRAP_DISPATCH2_PROTOCOL *This, + IN EFI_HANDLE Handle +); +#endif + +//-------------------- BIOS Write SMI protocol functions -------------------- + +EFI_STATUS EfiSmmBiosWriteRegister ( + IN EFI_SMM_BIOS_WRITE_DISPATCH_PROTOCOL *This, + IN EFI_SMM_BIOS_WRITE_DISPATCH Function, + OUT EFI_HANDLE *Handle +); + +EFI_STATUS EfiSmmBiosWriteUnregister ( + IN EFI_SMM_BIOS_WRITE_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE Handle +); + +/****** DO NOT WRITE BELOW THIS LINE *******/ +#ifdef __cplusplus +} +#endif +#endif + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* |