TianoCore EDK2 master
Loading...
Searching...
No Matches
SmiHandlerProfile.h File Reference

Go to the source code of this file.

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 EFI_STATUS(EFIAPI * SMI_HANDLER_PROFILE_REGISTER_HANDLER) (IN SMI_HANDLER_PROFILE_PROTOCOL *This, IN EFI_GUID *HandlerGuid, IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, IN PHYSICAL_ADDRESS CallerAddress, IN VOID *Context OPTIONAL, IN UINTN ContextSize OPTIONAL)
 
typedef EFI_STATUS(EFIAPI * SMI_HANDLER_PROFILE_UNREGISTER_HANDLER) (IN SMI_HANDLER_PROFILE_PROTOCOL *This, IN EFI_GUID *HandlerGuid, IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, IN VOID *Context OPTIONAL, IN UINTN ContextSize OPTIONAL)
 

Enumerations

enum  SMM_CORE_SMI_HANDLER_CATEGORY { SmmCoreSmiHandlerCategoryRootHandler , SmmCoreSmiHandlerCategoryGuidHandler , SmmCoreSmiHandlerCategoryHardwareHandler }
 

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

Definition in file SmiHandlerProfile.h.

Macro Definition Documentation

◆ SMI_HANDLER_PROFILE_COMMAND_GET_DATA_BY_OFFSET

#define SMI_HANDLER_PROFILE_COMMAND_GET_DATA_BY_OFFSET   0x2

Definition at line 112 of file SmiHandlerProfile.h.

◆ SMI_HANDLER_PROFILE_COMMAND_GET_INFO

#define SMI_HANDLER_PROFILE_COMMAND_GET_INFO   0x1

Definition at line 111 of file SmiHandlerProfile.h.

◆ SMI_HANDLER_PROFILE_GUID

#define SMI_HANDLER_PROFILE_GUID   {0x49174342, 0x7108, 0x409b, {0x8b, 0xbe, 0x65, 0xfd, 0xa8, 0x53, 0x89, 0xf5}}

Definition at line 140 of file SmiHandlerProfile.h.

◆ SMM_CORE_IMAGE_DATABASE_REVISION

#define SMM_CORE_IMAGE_DATABASE_REVISION   0x0001

Definition at line 30 of file SmiHandlerProfile.h.

◆ SMM_CORE_IMAGE_DATABASE_SIGNATURE

#define SMM_CORE_IMAGE_DATABASE_SIGNATURE   SIGNATURE_32 ('S','C','I','D')

Definition at line 29 of file SmiHandlerProfile.h.

◆ SMM_CORE_SMI_DATABASE_REVISION

#define SMM_CORE_SMI_DATABASE_REVISION   0x0001

Definition at line 45 of file SmiHandlerProfile.h.

◆ SMM_CORE_SMI_DATABASE_SIGNATURE

#define SMM_CORE_SMI_DATABASE_SIGNATURE   SIGNATURE_32 ('S','C','S','D')

Definition at line 44 of file SmiHandlerProfile.h.

Typedef Documentation

◆ SMI_HANDLER_PROFILE_PROTOCOL

◆ SMI_HANDLER_PROFILE_REGISTER_HANDLER

typedef EFI_STATUS(EFIAPI * SMI_HANDLER_PROFILE_REGISTER_HANDLER) (IN SMI_HANDLER_PROFILE_PROTOCOL *This, IN EFI_GUID *HandlerGuid, IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, IN PHYSICAL_ADDRESS CallerAddress, IN VOID *Context OPTIONAL, IN UINTN ContextSize OPTIONAL)

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.

Definition at line 167 of file SmiHandlerProfile.h.

◆ SMI_HANDLER_PROFILE_UNREGISTER_HANDLER

typedef EFI_STATUS(EFIAPI * SMI_HANDLER_PROFILE_UNREGISTER_HANDLER) (IN SMI_HANDLER_PROFILE_PROTOCOL *This, IN EFI_GUID *HandlerGuid, IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, IN VOID *Context OPTIONAL, IN UINTN ContextSize OPTIONAL)

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.

Definition at line 195 of file SmiHandlerProfile.h.

Enumeration Type Documentation

◆ SMM_CORE_SMI_HANDLER_CATEGORY

enum SMM_CORE_SMI_HANDLER_CATEGORY

Definition at line 47 of file SmiHandlerProfile.h.