TianoCore EDK2 master
|
#include <PiMm.h>
#include <Library/SmiHandlerProfileLib.h>
#include <Library/MmServicesTableLib.h>
#include <Guid/SmiHandlerProfile.h>
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_PROTOCOL * | mSmiHandlerProfile |
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.
EFI_STATUS MmSmiHandlerProfileLibInitialization | ( | VOID | ) |
The common constructor function for SMI handler profile.
EFI_SUCCESS | The constructor always returns EFI_SUCCESS. |
Definition at line 93 of file MmSmiHandlerProfileLib.c.
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.
HandlerGuid | The GUID to identify the type of the handler. For the SmmChildDispatch protocol, the HandlerGuid must be the GUID of SmmChildDispatch protocol. |
Handler | The SMI handler. |
CallerAddress | The address of the module who registers the SMI handler. |
Context | The context of the SMI handler. For the SmmChildDispatch protocol, the Context must match the one defined for SmmChildDispatch protocol. |
ContextSize | The size of the context in bytes. For the SmmChildDispatch protocol, the Context must match the one defined for SmmChildDispatch protocol. |
EFI_SUCCESS | The information is recorded. |
EFI_UNSUPPORTED | The feature is unsupported. |
EFI_OUT_OF_RESOURCES | There is no enough resource to record the information. |
Definition at line 39 of file MmSmiHandlerProfileLib.c.
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.
HandlerGuid | The GUID to identify the type of the handler. For the SmmChildDispatch protocol, the HandlerGuid must be the GUID of SmmChildDispatch protocol. |
Handler | The SMI handler. |
Context | The context of the SMI handler. If it is NOT NULL, it will be used to check what is registered. |
ContextSize | The size of the context in bytes. If Context is NOT NULL, it will be used to check what is registered. |
EFI_SUCCESS | The original record is removed. |
EFI_UNSUPPORTED | The feature is unsupported. |
EFI_NOT_FOUND | There is no record for the HandlerGuid and handler. |
Definition at line 73 of file MmSmiHandlerProfileLib.c.
SMI_HANDLER_PROFILE_PROTOCOL* mSmiHandlerProfile |
Definition at line 15 of file MmSmiHandlerProfileLib.c.