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

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI SmiHandlerProfileRegisterHandler (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 EFI_GUID *HandlerGuid, IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, IN VOID *Context OPTIONAL, IN UINTN ContextSize OPTIONAL)
 
EFI_STATUS MmSmiHandlerProfileLibInitialization (VOID)
 

Variables

SMI_HANDLER_PROFILE_PROTOCOLmSmiHandlerProfile
 

Detailed Description

MM driver instance of SmiHandlerProfile Library.

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

Definition in file MmSmiHandlerProfileLib.c.

Function Documentation

◆ MmSmiHandlerProfileLibInitialization()

EFI_STATUS MmSmiHandlerProfileLibInitialization ( VOID  )

The common constructor function for SMI handler profile.

Return values
EFI_SUCCESSThe constructor always returns EFI_SUCCESS.

Definition at line 93 of file MmSmiHandlerProfileLib.c.

◆ SmiHandlerProfileRegisterHandler()

EFI_STATUS EFIAPI SmiHandlerProfileRegisterHandler ( 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
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_UNSUPPORTEDThe feature is unsupported.
EFI_OUT_OF_RESOURCESThere is no enough resource to record the information.

Definition at line 39 of file MmSmiHandlerProfileLib.c.

◆ SmiHandlerProfileUnregisterHandler()

EFI_STATUS EFIAPI SmiHandlerProfileUnregisterHandler ( 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
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_UNSUPPORTEDThe feature is unsupported.
EFI_NOT_FOUNDThere is no record for the HandlerGuid and handler.

Definition at line 73 of file MmSmiHandlerProfileLib.c.

Variable Documentation

◆ mSmiHandlerProfile

SMI_HANDLER_PROFILE_PROTOCOL* mSmiHandlerProfile

Definition at line 15 of file MmSmiHandlerProfileLib.c.