X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkPkg%2FInclude%2FProtocol%2FSmmIchnDispatch.h;h=56e9e3844e7f1b5366f42001ee248cb6b2a616bd;hp=34185e88dc5fb81bc210e8a7b7e3ab7191bbffca;hb=2b3687dbb512ccd3cfbb75fa8966c3c93b3c067d;hpb=79964ac84ea0ca6c68d0dea38245fa83ff1945d1 diff --git a/IntelFrameworkPkg/Include/Protocol/SmmIchnDispatch.h b/IntelFrameworkPkg/Include/Protocol/SmmIchnDispatch.h index 34185e88dc..56e9e3844e 100644 --- a/IntelFrameworkPkg/Include/Protocol/SmmIchnDispatch.h +++ b/IntelFrameworkPkg/Include/Protocol/SmmIchnDispatch.h @@ -1,16 +1,16 @@ /** @file - This file declares EFI Smm ICH [N] Specific Smi Child Protocol - - Copyright (c) 2007, 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 - which 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. - - Module Name: SmmIchnDispatch.h + Provides the parent dispatch service for a given SMI source generator. + The EFI_SMM_ICHN_DISPATCH_PROTOCOL provides the ability to install child handlers for + the given event types. + +Copyright (c) 2008 - 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. @par Revision Reference: This Protocol is defined in Framework of EFI SMM Core Interface Spec @@ -21,6 +21,7 @@ #ifndef _EFI_SMM_ICHN_DISPATCH_H_ #define _EFI_SMM_ICHN_DISPATCH_H_ + // // Global ID for the ICH SMI Protocol // @@ -84,6 +85,11 @@ typedef enum { IchnIoTrap2, IchnIoTrap1, IchnIoTrap0, + IchnPciExpress, + IchnMonitor, + IchnSpi, + IchnQRT, + IchnGpioUnlock, // // INSERT NEW ITEMS JUST BEFORE THIS LINE // @@ -98,41 +104,40 @@ typedef struct { // Member functions // /** - Dispatch function for a ICH n specific SMI handler. + Dispatch function for a ICHN specific SMI handler. - @param DispatchHandle Handle of this dispatch function. - @param DispatchContext Pointer to the dispatch function's context. + @param DispatchHandle The handle of this dispatch function. + @param 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. - Nothing + @return None **/ typedef VOID -(EFIAPI *EFI_SMM_ICHN_DISPATCH) ( +(EFIAPI *EFI_SMM_ICHN_DISPATCH)( IN EFI_HANDLE DispatchHandle, IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext ); /** - Register a child SMI source dispatch function with a parent SMM driver + Register a child SMI source dispatch function with a parent SMM driver. - @param This Protocol instance pointer. - @param DispatchFunction Pointer to dispatch function to be invoked for - this SMI source - @param DispatchContext Pointer to the dispatch function's context. - The caller fills this context in before calling + @param This The pointer to the EFI_SMM_ICHN_DISPATCH_PROTOCOL instance. + @param DispatchFunction The function to install. + @param DispatchContext The pointer to the dispatch function's context. + The caller fills in this context before calling the register function to indicate to the register function the ICHN SMI source for which the dispatch function should be invoked. - @param DispatchHandle Handle of dispatch function, for when interfacing - with the parent Sx state SMM driver. + @param DispatchHandle The 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. - @retval EFI_DEVICE_ERROR The driver was unable to enable the SMI source. + @retval EFI_DEVICE_ERROR The driver could not enable the SMI source. @retval EFI_OUT_OF_RESOURCES Not enough memory (system or SMM) to manage this child. @retval EFI_INVALID_PARAMETER DispatchContext is invalid. The ICHN input value @@ -141,51 +146,42 @@ VOID **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_ICHN_REGISTER) ( - IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This, - IN EFI_SMM_ICHN_DISPATCH DispatchFunction, - IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext, - OUT EFI_HANDLE *DispatchHandle +(EFIAPI *EFI_SMM_ICHN_REGISTER)( + IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This, + IN EFI_SMM_ICHN_DISPATCH DispatchFunction, + IN EFI_SMM_ICHN_DISPATCH_CONTEXT *DispatchContext, + OUT EFI_HANDLE *DispatchHandle ); /** Unregister a child SMI source dispatch function with a parent SMM driver - @param This Protocol instance pointer. - @param DispatchHandle Handle of dispatch function to deregister. + @param This The pointer to the EFI_SMM_ICHN_DISPATCH_PROTOCOL instance. + @param DispatchHandle The handle of the service to remove. @retval EFI_SUCCESS The dispatch function has been successfully - unregistered and the SMI source has been disabled + unregistered, and the SMI source has been disabled, if there are no other registered child dispatch functions for this SMI source. - @retval EFI_INVALID_PARAMETER Handle is invalid. - @retval other TBD + @retval EFI_INVALID_PARAMETER The handle is invalid. **/ typedef EFI_STATUS -(EFIAPI *EFI_SMM_ICHN_UNREGISTER) ( - IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This, - IN EFI_HANDLE DispatchHandle +(EFIAPI *EFI_SMM_ICHN_UNREGISTER)( + IN EFI_SMM_ICHN_DISPATCH_PROTOCOL *This, + IN EFI_HANDLE DispatchHandle ); // -// Interface structure for the SMM Ich n specific SMI Dispatch Protocol +// Interface structure for the SMM ICHN specific SMI Dispatch Protocol // /** - @par Protocol Description: Provides the parent dispatch service for a given SMI source generator. - - @param Register - Installs a child service to be dispatched by this protocol. - - @param UnRegister - Removes a child service dispatched by this protocol. - **/ struct _EFI_SMM_ICHN_DISPATCH_PROTOCOL { - EFI_SMM_ICHN_REGISTER Register; - EFI_SMM_ICHN_UNREGISTER UnRegister; + EFI_SMM_ICHN_REGISTER Register; ///< Installs a child service to be dispatched by this protocol. + EFI_SMM_ICHN_UNREGISTER UnRegister; ///< Removes a child service dispatched by this protocol. }; extern EFI_GUID gEfiSmmIchnDispatchProtocolGuid;