MdeModulePkg[all]  0.98
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SmiHandlerProfile.h File Reference

Data Structures

struct  SMM_CORE_DATABASE_COMMON_HEADER
 
struct  SMM_CORE_IMAGE_DATABASE_STRUCTURE
 
struct  SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT
 
struct  SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXT
 
struct  SMM_CORE_SMI_HANDLER_STRUCTURE
 
struct  SMM_CORE_SMI_DATABASE_STRUCTURE
 
struct  SMI_HANDLER_PROFILE_PARAMETER_HEADER
 
struct  SMI_HANDLER_PROFILE_PARAMETER_GET_INFO
 
struct  SMI_HANDLER_PROFILE_PARAMETER_GET_DATA_BY_OFFSET
 
struct  _SMI_HANDLER_PROFILE_PROTOCOL
 

Macros

#define SMM_CORE_IMAGE_DATABASE_SIGNATURE   SIGNATURE_32 ('S','C','I','D')
 
#define SMM_CORE_IMAGE_DATABASE_REVISION   0x0001
 
#define SMM_CORE_SMI_DATABASE_SIGNATURE   SIGNATURE_32 ('S','C','S','D')
 
#define SMM_CORE_SMI_DATABASE_REVISION   0x0001
 
#define SMI_HANDLER_PROFILE_COMMAND_GET_INFO   0x1
 
#define SMI_HANDLER_PROFILE_COMMAND_GET_DATA_BY_OFFSET   0x2
 
#define SMI_HANDLER_PROFILE_GUID   {0x49174342, 0x7108, 0x409b, {0x8b, 0xbe, 0x65, 0xfd, 0xa8, 0x53, 0x89, 0xf5}}
 

Typedefs

typedef struct
_SMI_HANDLER_PROFILE_PROTOCOL 
SMI_HANDLER_PROFILE_PROTOCOL
 
typedef IN EFI_GUID * HandlerGuid
 
typedef IN EFI_GUID IN
EFI_SMM_HANDLER_ENTRY_POINT2 
Handler
 
typedef IN EFI_GUID IN
EFI_SMM_HANDLER_ENTRY_POINT2
IN PHYSICAL_ADDRESS 
CallerAddress
 
typedef IN EFI_GUID IN
EFI_SMM_HANDLER_ENTRY_POINT2
IN PHYSICAL_ADDRESS IN VOID
Context
 
typedef IN EFI_GUID IN
EFI_SMM_HANDLER_ENTRY_POINT2
IN PHYSICAL_ADDRESS IN VOID IN
UINTN 
ContextSize
 

Enumerations

enum  SMM_CORE_SMI_HANDLER_CATEGORY { SmmCoreSmiHandlerCategoryRootHandler, SmmCoreSmiHandlerCategoryGuidHandler, SmmCoreSmiHandlerCategoryHardwareHandler }
 

Functions

typedef EFI_STATUS (EFIAPI *SMI_HANDLER_PROFILE_REGISTER_HANDLER)(IN SMI_HANDLER_PROFILE_PROTOCOL *This
 

Variables

EFI_GUID gSmiHandlerProfileGuid
 

Detailed Description

Header file for SMI handler profile definition.

Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define SMI_HANDLER_PROFILE_COMMAND_GET_DATA_BY_OFFSET   0x2
#define SMI_HANDLER_PROFILE_COMMAND_GET_INFO   0x1
#define SMI_HANDLER_PROFILE_GUID   {0x49174342, 0x7108, 0x409b, {0x8b, 0xbe, 0x65, 0xfd, 0xa8, 0x53, 0x89, 0xf5}}
#define SMM_CORE_IMAGE_DATABASE_REVISION   0x0001
#define SMM_CORE_IMAGE_DATABASE_SIGNATURE   SIGNATURE_32 ('S','C','I','D')
#define SMM_CORE_SMI_DATABASE_REVISION   0x0001
#define SMM_CORE_SMI_DATABASE_SIGNATURE   SIGNATURE_32 ('S','C','S','D')

Typedef Documentation

typedef IN EFI_GUID IN EFI_SMM_HANDLER_ENTRY_POINT2 IN PHYSICAL_ADDRESS CallerAddress
typedef IN EFI_GUID IN EFI_SMM_HANDLER_ENTRY_POINT2 IN VOID * Context
typedef IN EFI_GUID IN EFI_SMM_HANDLER_ENTRY_POINT2 IN VOID IN UINTN ContextSize
typedef IN EFI_GUID IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler
typedef IN EFI_GUID * HandlerGuid

Enumeration Type Documentation

Enumerator
SmmCoreSmiHandlerCategoryRootHandler 
SmmCoreSmiHandlerCategoryGuidHandler 
SmmCoreSmiHandlerCategoryHardwareHandler 

Function Documentation

typedef EFI_STATUS ( EFIAPI *  SMI_HANDLER_PROFILE_UNREGISTER_HANDLER)

This function is called by SmmChildDispatcher module to report a new SMI handler is registered, to SmmCore.

Parameters
ThisThe protocol instance
HandlerGuidThe GUID to identify the type of the handler. For the SmmChildDispatch protocol, the HandlerGuid must be the GUID of SmmChildDispatch protocol.
HandlerThe SMI handler.
CallerAddressThe address of the module who registers the SMI handler.
ContextThe context of the SMI handler. For the SmmChildDispatch protocol, the Context must match the one defined for SmmChildDispatch protocol.
ContextSizeThe size of the context in bytes. For the SmmChildDispatch protocol, the Context must match the one defined for SmmChildDispatch protocol.
Return values
EFI_SUCCESSThe information is recorded.
EFI_OUT_OF_RESOURCESThere is no enough resource to record the information.

This function is called by SmmChildDispatcher module to report an existing SMI handler is unregistered, to SmmCore.

Parameters
ThisThe protocol instance
HandlerGuidThe GUID to identify the type of the handler. For the SmmChildDispatch protocol, the HandlerGuid must be the GUID of SmmChildDispatch protocol.
HandlerThe SMI handler.
ContextThe context of the SMI handler. If it is NOT NULL, it will be used to check what is registered.
ContextSizeThe size of the context in bytes. If Context is NOT NULL, it will be used to check what is registered.
Return values
EFI_SUCCESSThe original record is removed.
EFI_NOT_FOUNDThere is no record for the HandlerGuid and handler.

Variable Documentation

EFI_GUID gSmiHandlerProfileGuid