TianoCore EDK2 master
|
#include "StandaloneMmCore.h"
Go to the source code of this file.
Data Structures | |
struct | MMI_ENTRY |
struct | MMI_HANDLER |
Macros | |
#define | MMI_ENTRY_SIGNATURE SIGNATURE_32('m','m','i','e') |
#define | MMI_HANDLER_SIGNATURE SIGNATURE_32('m','m','i','h') |
Functions | |
BOOLEAN | RemoveMmiHandler (IN MMI_HANDLER *MmiHandler, IN MMI_ENTRY *MmiEntry) |
MMI_ENTRY *EFIAPI | MmCoreFindMmiEntry (IN EFI_GUID *HandlerType, IN BOOLEAN Create) |
EFI_STATUS EFIAPI | MmiManage (IN CONST EFI_GUID *HandlerType, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL) |
EFI_STATUS EFIAPI | MmiHandlerRegister (IN EFI_MM_HANDLER_ENTRY_POINT Handler, IN CONST EFI_GUID *HandlerType OPTIONAL, OUT EFI_HANDLE *DispatchHandle) |
EFI_STATUS EFIAPI | MmiHandlerUnRegister (IN EFI_HANDLE DispatchHandle) |
Variables | |
UINTN | mMmiManageCallingDepth = 0 |
LIST_ENTRY | mRootMmiHandlerList = INITIALIZE_LIST_HEAD_VARIABLE (mRootMmiHandlerList) |
LIST_ENTRY | mMmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mMmiEntryList) |
MMI management.
Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Mmi.c.
#define MMI_ENTRY_SIGNATURE SIGNATURE_32('m','m','i','e') |
#define MMI_HANDLER_SIGNATURE SIGNATURE_32('m','m','i','h') |
EFI_STATUS EFIAPI MmiHandlerRegister | ( | IN EFI_MM_HANDLER_ENTRY_POINT | Handler, |
IN CONST EFI_GUID *HandlerType | OPTIONAL, | ||
OUT EFI_HANDLE * | DispatchHandle | ||
) |
Registers a handler to execute within MM.
Handler | Handler service function pointer. |
HandlerType | Points to the handler type or NULL for root MMI handlers. |
DispatchHandle | On return, contains a unique handle which can be used to later unregister the handler function. |
EFI_SUCCESS | Handler register success. |
EFI_INVALID_PARAMETER | Handler or DispatchHandle is NULL. |
EFI_STATUS EFIAPI MmiHandlerUnRegister | ( | IN EFI_HANDLE | DispatchHandle | ) |
EFI_STATUS EFIAPI MmiManage | ( | IN CONST EFI_GUID * | HandlerType, |
IN CONST VOID *Context | OPTIONAL, | ||
IN OUT VOID *CommBuffer | OPTIONAL, | ||
IN OUT UINTN *CommBufferSize | OPTIONAL | ||
) |
Manage MMI of a particular type.
HandlerType | Points to the handler type or NULL for root MMI handlers. |
Context | Points to an optional context buffer. |
CommBuffer | Points to the optional communication buffer. |
CommBufferSize | Points to the size of the optional communication buffer. |
EFI_WARN_INTERRUPT_SOURCE_PENDING | Interrupt source was processed successfully but not quiesced. |
EFI_INTERRUPT_PENDING | One or more MMI sources could not be quiesced. |
EFI_NOT_FOUND | Interrupt source was not handled or quiesced. |
EFI_SUCCESS | Interrupt source was handled and quiesced. |
BOOLEAN RemoveMmiHandler | ( | IN MMI_HANDLER * | MmiHandler, |
IN MMI_ENTRY * | MmiEntry | ||
) |
Remove MmiHandler and free the memory it used. If MmiEntry is empty, remove MmiEntry and free the memory it used.
MmiHandler | Points to MMI handler. |
MmiEntry | Points to MMI Entry or NULL for root MMI handlers. |
TRUE | MmiEntry is removed. |
FALSE | MmiEntry is not removed. |
LIST_ENTRY mMmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mMmiEntryList) |
LIST_ENTRY mRootMmiHandlerList = INITIALIZE_LIST_HEAD_VARIABLE (mRootMmiHandlerList) |