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

Go to the source code of this file.

Data Structures

struct  IMAGE_STRUCT
 

Macros

#define GET_OCCUPIED_SIZE(ActualSize, Alignment)    ((ActualSize) + (((Alignment) - ((ActualSize) & ((Alignment) - 1))) & ((Alignment) - 1)))
 

Functions

VOID RegisterSmiHandlerProfileHandler (VOID)
 
VOID BuildSmiHandlerProfileDatabase (VOID)
 
RETURN_STATUS InternalPeCoffGetEntryPoint (IN VOID *Pe32Data, OUT VOID **EntryPoint)
 
VOID InternalDumpData (IN UINT8 *Data, IN UINTN Size)
 
VOID GetDriverGuid (IN EFI_LOADED_IMAGE_PROTOCOL *LoadedImage, OUT EFI_GUID *Guid)
 
VOID AddImageStruct (IN PHYSICAL_ADDRESS ImageBase, IN UINT64 ImageSize, IN PHYSICAL_ADDRESS EntryPoint, IN EFI_GUID *Guid, IN CHAR8 *PdbString)
 
IMAGE_STRUCTAddressToImageStruct (IN UINTN Address)
 
UINT32 AddressToImageRef (IN UINTN Address)
 
VOID GetSmmLoadedImage (VOID)
 
VOID DumpSmiChildContext (IN EFI_GUID *HandlerType, IN VOID *Context, IN UINTN ContextSize)
 
VOID DumpSmiHandlerOnSmiEntry (IN SMI_ENTRY *SmiEntry)
 
VOID DumpSmiEntryList (IN LIST_ENTRY *SmiEntryList)
 
EFI_STATUS EFIAPI SmmReadyToLockInSmiHandlerProfile (IN CONST EFI_GUID *Protocol, IN VOID *Interface, IN EFI_HANDLE Handle)
 
UINTN GetSmmImageDatabaseSize (VOID)
 
UINTN GetSmmSmiHandlerSizeOnSmiEntry (IN SMI_ENTRY *SmiEntry)
 
UINTN GetSmmSmiDatabaseSize (IN LIST_ENTRY *SmiEntryList)
 
UINTN GetSmiHandlerProfileDatabaseSize (VOID)
 
UINTN GetSmmImageDatabaseData (IN OUT VOID *Data, IN UINTN ExpectedSize)
 
UINTN GetSmmSmiHandlerDataOnSmiEntry (IN SMI_ENTRY *SmiEntry, IN OUT VOID *Data, IN UINTN MaxSize, OUT UINT32 *Count)
 
UINTN GetSmmSmiDatabaseData (IN LIST_ENTRY *SmiEntryList, IN UINT32 HandlerCategory, IN OUT VOID *Data, IN UINTN ExpectedSize)
 
EFI_STATUS GetSmiHandlerProfileDatabaseData (IN OUT VOID *Data)
 
VOID SmiHandlerProfileCopyData (OUT VOID *DataBuffer, IN OUT UINT64 *DataSize, IN OUT UINT64 *DataOffset)
 
VOID SmiHandlerProfileHandlerGetInfo (IN SMI_HANDLER_PROFILE_PARAMETER_GET_INFO *SmiHandlerProfileParameterGetInfo)
 
VOID SmiHandlerProfileHandlerGetDataByOffset (IN SMI_HANDLER_PROFILE_PARAMETER_GET_DATA_BY_OFFSET *SmiHandlerProfileParameterGetDataByOffset)
 
EFI_STATUS EFIAPI SmiHandlerProfileHandler (IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
 
SMI_ENTRYSmmCoreFindHardwareSmiEntry (IN EFI_GUID *HandlerType, IN BOOLEAN Create)
 
SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXTConvertSmiHandlerUsbContext (IN EFI_SMM_USB_REGISTER_CONTEXT *UsbContext, IN UINTN UsbContextSize, OUT UINTN *SmiHandlerUsbContextSize)
 
SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXTConvertSmiHandlerSwContext (IN EFI_SMM_SW_REGISTER_CONTEXT *SwContext, IN UINTN SwContextSize, OUT UINTN *SmiHandlerSwContextSize)
 
EFI_STATUS EFIAPI SmiHandlerProfileRegisterHandler (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)
 
EFI_STATUS EFIAPI SmiHandlerProfileUnregisterHandler (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)
 
VOID SmmCoreInitializeSmiHandlerProfile (VOID)
 

Variables

LIST_ENTRY mSmiEntryList
 
LIST_ENTRY mHardwareSmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mHardwareSmiEntryList)
 
SMI_ENTRY mRootSmiEntry
 
SMI_HANDLER_PROFILE_PROTOCOL mSmiHandlerProfile
 
GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRY mRootSmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mRootSmiEntryList)
 
GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRYmSmmCoreRootSmiEntryList = &mRootSmiEntryList
 
GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRYmSmmCoreSmiEntryList = &mSmiEntryList
 
GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRYmSmmCoreHardwareSmiEntryList = &mHardwareSmiEntryList
 
GLOBAL_REMOVE_IF_UNREFERENCED IMAGE_STRUCTmImageStruct
 
GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mImageStructCountMax
 
GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mImageStructCount
 
GLOBAL_REMOVE_IF_UNREFERENCED VOID * mSmiHandlerProfileDatabase
 
GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmiHandlerProfileDatabaseSize
 
GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmImageDatabaseSize
 
GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmRootSmiDatabaseSize
 
GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmSmiDatabaseSize
 
GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmHardwareSmiDatabaseSize
 
GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN mSmiHandlerProfileRecordingStatus
 

Detailed Description

SMI handler profile support.

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

Definition in file SmiHandlerProfile.c.

Macro Definition Documentation

◆ GET_OCCUPIED_SIZE

#define GET_OCCUPIED_SIZE (   ActualSize,
  Alignment 
)     ((ActualSize) + (((Alignment) - ((ActualSize) & ((Alignment) - 1))) & ((Alignment) - 1)))

Definition at line 30 of file SmiHandlerProfile.c.

Function Documentation

◆ AddImageStruct()

VOID AddImageStruct ( IN PHYSICAL_ADDRESS  ImageBase,
IN UINT64  ImageSize,
IN PHYSICAL_ADDRESS  EntryPoint,
IN EFI_GUID Guid,
IN CHAR8 *  PdbString 
)

Add image structure.

Parameters
ImageBaseimage base
ImageSizeimage size
EntryPointimage entry point
GuidFFS GUID of the image
PdbStringimage PDB string

Definition at line 172 of file SmiHandlerProfile.c.

◆ AddressToImageRef()

UINT32 AddressToImageRef ( IN UINTN  Address)

return an image reference index based upon image address.

Parameters
Addressimage address
Returns
image reference index

Definition at line 236 of file SmiHandlerProfile.c.

◆ AddressToImageStruct()

IMAGE_STRUCT * AddressToImageStruct ( IN UINTN  Address)

return an image structure based upon image address.

Parameters
Addressimage address
Returns
image structure

Definition at line 211 of file SmiHandlerProfile.c.

◆ BuildSmiHandlerProfileDatabase()

VOID BuildSmiHandlerProfileDatabase ( VOID  )

Build SMI handler profile database.

Definition at line 877 of file SmiHandlerProfile.c.

◆ ConvertSmiHandlerSwContext()

SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXT * ConvertSmiHandlerSwContext ( IN EFI_SMM_SW_REGISTER_CONTEXT SwContext,
IN UINTN  SwContextSize,
OUT UINTN SmiHandlerSwContextSize 
)

Convert EFI_SMM_SW_REGISTER_CONTEXT to SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXT.

Parameters
SwContextA pointer to EFI_SMM_SW_REGISTER_CONTEXT
SwContextSizeThe size of EFI_SMM_SW_REGISTER_CONTEXT in bytes
SmiHandlerSwContextSizeThe size of SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXT in bytes
Returns
SmiHandlerSwContext A pointer to SMI_HANDLER_PROFILE_SW_REGISTER_CONTEXT

Definition at line 1195 of file SmiHandlerProfile.c.

◆ ConvertSmiHandlerUsbContext()

SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT * ConvertSmiHandlerUsbContext ( IN EFI_SMM_USB_REGISTER_CONTEXT UsbContext,
IN UINTN  UsbContextSize,
OUT UINTN SmiHandlerUsbContextSize 
)

Convert EFI_SMM_USB_REGISTER_CONTEXT to SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT.

Parameters
UsbContextA pointer to EFI_SMM_USB_REGISTER_CONTEXT
UsbContextSizeThe size of EFI_SMM_USB_REGISTER_CONTEXT in bytes
SmiHandlerUsbContextSizeThe size of SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT in bytes
Returns
SmiHandlerUsbContext A pointer to SMI_HANDLER_PROFILE_USB_REGISTER_CONTEXT

Definition at line 1160 of file SmiHandlerProfile.c.

◆ DumpSmiChildContext()

VOID DumpSmiChildContext ( IN EFI_GUID HandlerType,
IN VOID *  Context,
IN UINTN  ContextSize 
)

Dump SMI child context.

Parameters
HandlerTypethe handler type
Contextthe handler context
ContextSizethe handler context size

Definition at line 370 of file SmiHandlerProfile.c.

◆ DumpSmiEntryList()

VOID DumpSmiEntryList ( IN LIST_ENTRY SmiEntryList)

Dump all SMI entry on the list.

Parameters
SmiEntryLista list of SMI entry.

Definition at line 467 of file SmiHandlerProfile.c.

◆ DumpSmiHandlerOnSmiEntry()

VOID DumpSmiHandlerOnSmiEntry ( IN SMI_ENTRY SmiEntry)

Dump all SMI handlers associated with SmiEntry.

Parameters
SmiEntrySMI entry.

Definition at line 416 of file SmiHandlerProfile.c.

◆ GetDriverGuid()

VOID GetDriverGuid ( IN EFI_LOADED_IMAGE_PROTOCOL LoadedImage,
OUT EFI_GUID Guid 
)

Get GUID name for an image.

Parameters
[in]LoadedImageLoadedImage protocol.
[out]GuidGuid of the FFS

Definition at line 141 of file SmiHandlerProfile.c.

◆ GetSmiHandlerProfileDatabaseData()

EFI_STATUS GetSmiHandlerProfileDatabaseData ( IN OUT VOID *  Data)

Get SMI handler profile database.

Parameters
Datathe buffer to hold SMI handler profile database
Return values
EFI_SUCCESSthe database is got.
EFI_INVALID_PARAMETERthe database size mismatch.

Definition at line 836 of file SmiHandlerProfile.c.

◆ GetSmiHandlerProfileDatabaseSize()

UINTN GetSmiHandlerProfileDatabaseSize ( VOID  )

return SMI handler profile database size.

Returns
SMI handler profile database size.

Definition at line 637 of file SmiHandlerProfile.c.

◆ GetSmmImageDatabaseData()

UINTN GetSmmImageDatabaseData ( IN OUT VOID *  Data,
IN UINTN  ExpectedSize 
)

get SMM image database.

Parameters
DataThe buffer to hold SMM image database
ExpectedSizeThe expected size of the SMM image database
Returns
SMM image data base size.

Definition at line 658 of file SmiHandlerProfile.c.

◆ GetSmmImageDatabaseSize()

UINTN GetSmmImageDatabaseSize ( VOID  )

returns SMM image data base size.

Returns
SMM image data base size.

Definition at line 557 of file SmiHandlerProfile.c.

◆ GetSmmLoadedImage()

VOID GetSmmLoadedImage ( VOID  )

Collect SMM image information based upon loaded image protocol.

Definition at line 254 of file SmiHandlerProfile.c.

◆ GetSmmSmiDatabaseData()

UINTN GetSmmSmiDatabaseData ( IN LIST_ENTRY SmiEntryList,
IN UINT32  HandlerCategory,
IN OUT VOID *  Data,
IN UINTN  ExpectedSize 
)

get all SMI handler database on the SMI entry list.

Parameters
SmiEntryLista list of SMI entry.
HandlerCategoryThe handler category
DataThe buffer to hold all SMI handler database
ExpectedSizeThe expected size of the SMM image database
Returns
all SMI database size on the SMI entry list.

Definition at line 777 of file SmiHandlerProfile.c.

◆ GetSmmSmiDatabaseSize()

UINTN GetSmmSmiDatabaseSize ( IN LIST_ENTRY SmiEntryList)

return all SMI handler database size on the SMI entry list.

Parameters
SmiEntryLista list of SMI entry.
Returns
all SMI handler database size on the SMI entry list.

Definition at line 609 of file SmiHandlerProfile.c.

◆ GetSmmSmiHandlerDataOnSmiEntry()

UINTN GetSmmSmiHandlerDataOnSmiEntry ( IN SMI_ENTRY SmiEntry,
IN OUT VOID *  Data,
IN UINTN  MaxSize,
OUT UINT32 *  Count 
)

get all SMI handler data associated with SmiEntry.

Parameters
SmiEntrySMI entry.
DataThe buffer to hold all SMI handler data
MaxSizeThe max size of the SMM image database
CountThe count of the SMI handler.
Returns
SMM image data base size.

Definition at line 715 of file SmiHandlerProfile.c.

◆ GetSmmSmiHandlerSizeOnSmiEntry()

UINTN GetSmmSmiHandlerSizeOnSmiEntry ( IN SMI_ENTRY SmiEntry)

returns all SMI handlers' size associated with SmiEntry.

Parameters
SmiEntrySMI entry.
Returns
all SMI handlers' size associated with SmiEntry.

Definition at line 580 of file SmiHandlerProfile.c.

◆ InternalDumpData()

VOID InternalDumpData ( IN UINT8 *  Data,
IN UINTN  Size 
)

This function dump raw data.

Parameters
Dataraw data
Sizeraw data size

Definition at line 122 of file SmiHandlerProfile.c.

◆ InternalPeCoffGetEntryPoint()

RETURN_STATUS InternalPeCoffGetEntryPoint ( IN VOID *  Pe32Data,
OUT VOID **  EntryPoint 
)

Retrieves and returns a pointer to the entry point to a PE/COFF image that has been loaded into system memory with the PE/COFF Loader Library functions.

Retrieves the entry point to the PE/COFF image specified by Pe32Data and returns this entry point in EntryPoint. If the entry point could not be retrieved from the PE/COFF image, then return RETURN_INVALID_PARAMETER. Otherwise return RETURN_SUCCESS. If Pe32Data is NULL, then ASSERT(). If EntryPoint is NULL, then ASSERT().

Parameters
Pe32DataThe pointer to the PE/COFF image that is loaded in system memory.
EntryPointThe pointer to entry point to the PE/COFF image to return.
Return values
RETURN_SUCCESSEntryPoint was returned.
RETURN_INVALID_PARAMETERThe entry point could not be found in the PE/COFF image.

Definition at line 315 of file MemoryProfileRecord.c.

◆ RegisterSmiHandlerProfileHandler()

VOID RegisterSmiHandlerProfileHandler ( VOID  )

Register SMI handler profile handler.

Definition at line 1075 of file SmiHandlerProfile.c.

◆ SmiHandlerProfileCopyData()

VOID SmiHandlerProfileCopyData ( OUT VOID *  DataBuffer,
IN OUT UINT64 *  DataSize,
IN OUT UINT64 *  DataOffset 
)

Copy SMI handler profile data.

Parameters
DataBufferThe buffer to hold SMI handler profile data.
DataSizeOn input, data buffer size. On output, actual data buffer size copied.
DataOffsetOn input, data buffer offset to copy. On output, next time data buffer offset to copy.

Definition at line 907 of file SmiHandlerProfile.c.

◆ SmiHandlerProfileHandler()

EFI_STATUS EFIAPI SmiHandlerProfileHandler ( IN EFI_HANDLE  DispatchHandle,
IN CONST VOID *Context  OPTIONAL,
IN OUT VOID *CommBuffer  OPTIONAL,
IN OUT UINTN *CommBufferSize  OPTIONAL 
)

Dispatch function for a Software SMI handler.

Caution: This function may receive untrusted input. Communicate buffer and buffer size are external input, so this function will do basic validation.

Parameters
DispatchHandleThe unique handle assigned to this handler by SmiHandlerRegister().
ContextPoints to an optional handler context which was specified when the handler was registered.
CommBufferA pointer to a collection of data in memory that will be conveyed from a non-SMM environment into an SMM environment.
CommBufferSizeThe size of the CommBuffer.
Return values
EFI_SUCCESSCommand is handled successfully.

Definition at line 1005 of file SmiHandlerProfile.c.

◆ SmiHandlerProfileHandlerGetDataByOffset()

VOID SmiHandlerProfileHandlerGetDataByOffset ( IN SMI_HANDLER_PROFILE_PARAMETER_GET_DATA_BY_OFFSET SmiHandlerProfileParameterGetDataByOffset)

SMI handler profile handler to get data by offset.

Parameters
SmiHandlerProfileParameterGetDataByOffsetThe parameter of SMI handler profile get data by offset.

Definition at line 959 of file SmiHandlerProfile.c.

◆ SmiHandlerProfileHandlerGetInfo()

VOID SmiHandlerProfileHandlerGetInfo ( IN SMI_HANDLER_PROFILE_PARAMETER_GET_INFO SmiHandlerProfileParameterGetInfo)

SMI handler profile handler to get info.

Parameters
SmiHandlerProfileParameterGetInfoThe parameter of SMI handler profile get info.

Definition at line 937 of file SmiHandlerProfile.c.

◆ SmiHandlerProfileRegisterHandler()

EFI_STATUS EFIAPI SmiHandlerProfileRegisterHandler ( 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 1238 of file SmiHandlerProfile.c.

◆ SmiHandlerProfileUnregisterHandler()

EFI_STATUS EFIAPI SmiHandlerProfileUnregisterHandler ( 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 1319 of file SmiHandlerProfile.c.

◆ SmmCoreFindHardwareSmiEntry()

SMI_ENTRY * SmmCoreFindHardwareSmiEntry ( IN EFI_GUID HandlerType,
IN BOOLEAN  Create 
)

Finds the SMI entry for the requested handler type.

Parameters
HandlerTypeThe type of the interrupt
CreateCreate a new entry if not found
Returns
SMI entry

Definition at line 1099 of file SmiHandlerProfile.c.

◆ SmmCoreInitializeSmiHandlerProfile()

VOID SmmCoreInitializeSmiHandlerProfile ( VOID  )

Initialize SmiHandler profile feature.

Definition at line 1401 of file SmiHandlerProfile.c.

◆ SmmReadyToLockInSmiHandlerProfile()

EFI_STATUS EFIAPI SmmReadyToLockInSmiHandlerProfile ( IN CONST EFI_GUID Protocol,
IN VOID *  Interface,
IN EFI_HANDLE  Handle 
)

SMM Ready To Lock event notification handler.

This function collects all SMM image information and build SmiHandleProfile database, and register SmiHandlerProfile SMI handler.

Parameters
[in]ProtocolPoints to the protocol's unique identifier.
[in]InterfacePoints to the interface instance.
[in]HandleThe handle on which the interface was installed.
Return values
EFI_SUCCESSNotification handler runs successfully.

Definition at line 501 of file SmiHandlerProfile.c.

Variable Documentation

◆ mHardwareSmiEntryList

GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRY mHardwareSmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mHardwareSmiEntryList)

Definition at line 88 of file SmiHandlerProfile.c.

◆ mImageStruct

Definition at line 96 of file SmiHandlerProfile.c.

◆ mImageStructCount

GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mImageStructCount

Definition at line 98 of file SmiHandlerProfile.c.

◆ mImageStructCountMax

GLOBAL_REMOVE_IF_UNREFERENCED UINT32 mImageStructCountMax

Definition at line 97 of file SmiHandlerProfile.c.

◆ mRootSmiEntry

SMI_ENTRY mRootSmiEntry
extern

Definition at line 18 of file Smi.c.

◆ mRootSmiEntryList

Definition at line 90 of file SmiHandlerProfile.c.

◆ mSmiEntryList

LIST_ENTRY mSmiEntryList
extern

Definition at line 16 of file Smi.c.

◆ mSmiHandlerProfile

Initial value:
= {
}
EFI_STATUS EFIAPI SmiHandlerProfileRegisterHandler(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)
EFI_STATUS EFIAPI SmiHandlerProfileUnregisterHandler(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)

Definition at line 110 of file SmiHandlerProfile.c.

◆ mSmiHandlerProfileDatabase

GLOBAL_REMOVE_IF_UNREFERENCED VOID* mSmiHandlerProfileDatabase

Definition at line 100 of file SmiHandlerProfile.c.

◆ mSmiHandlerProfileDatabaseSize

GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmiHandlerProfileDatabaseSize

Definition at line 101 of file SmiHandlerProfile.c.

◆ mSmiHandlerProfileRecordingStatus

GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN mSmiHandlerProfileRecordingStatus

Definition at line 108 of file SmiHandlerProfile.c.

◆ mSmmCoreHardwareSmiEntryList

GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRY* mSmmCoreHardwareSmiEntryList = &mHardwareSmiEntryList

Definition at line 94 of file SmiHandlerProfile.c.

◆ mSmmCoreRootSmiEntryList

GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRY* mSmmCoreRootSmiEntryList = &mRootSmiEntryList

Definition at line 92 of file SmiHandlerProfile.c.

◆ mSmmCoreSmiEntryList

GLOBAL_REMOVE_IF_UNREFERENCED LIST_ENTRY* mSmmCoreSmiEntryList = &mSmiEntryList

Definition at line 93 of file SmiHandlerProfile.c.

◆ mSmmHardwareSmiDatabaseSize

GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmHardwareSmiDatabaseSize

Definition at line 106 of file SmiHandlerProfile.c.

◆ mSmmImageDatabaseSize

GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmImageDatabaseSize

Definition at line 103 of file SmiHandlerProfile.c.

◆ mSmmRootSmiDatabaseSize

GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmRootSmiDatabaseSize

Definition at line 104 of file SmiHandlerProfile.c.

◆ mSmmSmiDatabaseSize

GLOBAL_REMOVE_IF_UNREFERENCED UINTN mSmmSmiDatabaseSize

Definition at line 105 of file SmiHandlerProfile.c.