TianoCore EDK2 master
|
#include "PiSmmCore.h"
Go to the source code of this file.
Functions | |
SMI_ENTRY *EFIAPI | SmmCoreFindSmiEntry (IN EFI_GUID *HandlerType, IN BOOLEAN Create) |
BOOLEAN | RemoveSmiHandler (IN SMI_HANDLER *SmiHandler, IN SMI_ENTRY *SmiEntry) |
EFI_STATUS EFIAPI | SmiManage (IN CONST EFI_GUID *HandlerType, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL) |
EFI_STATUS EFIAPI | SmiHandlerRegister (IN EFI_SMM_HANDLER_ENTRY_POINT2 Handler, IN CONST EFI_GUID *HandlerType OPTIONAL, OUT EFI_HANDLE *DispatchHandle) |
EFI_STATUS EFIAPI | SmiHandlerUnRegister (IN EFI_HANDLE DispatchHandle) |
Variables | |
UINTN | mSmiManageCallingDepth = 0 |
LIST_ENTRY | mSmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mSmiEntryList) |
SMI_ENTRY | mRootSmiEntry |
SMI management.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Smi.c.
BOOLEAN RemoveSmiHandler | ( | IN SMI_HANDLER * | SmiHandler, |
IN SMI_ENTRY * | SmiEntry | ||
) |
Remove SmiHandler and free the memory it used. If SmiEntry is empty, remove SmiEntry and free the memory it used.
SmiHandler | Points to SMI handler. |
SmiEntry | Points to SMI Entry or NULL for root SMI handlers. |
TRUE | SmiEntry is removed. |
FALSE | SmiEntry is not removed. |
EFI_STATUS EFIAPI SmiHandlerRegister | ( | IN EFI_SMM_HANDLER_ENTRY_POINT2 | Handler, |
IN CONST EFI_GUID *HandlerType | OPTIONAL, | ||
OUT EFI_HANDLE * | DispatchHandle | ||
) |
Registers a handler to execute within SMM.
Handler | Handler service function pointer. |
HandlerType | Points to the handler type or NULL for root SMI 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 SmiHandlerUnRegister | ( | IN EFI_HANDLE | DispatchHandle | ) |
EFI_STATUS EFIAPI SmiManage | ( | IN CONST EFI_GUID * | HandlerType, |
IN CONST VOID *Context | OPTIONAL, | ||
IN OUT VOID *CommBuffer | OPTIONAL, | ||
IN OUT UINTN *CommBufferSize | OPTIONAL | ||
) |
Manage SMI of a particular type.
HandlerType | Points to the handler type or NULL for root SMI 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 SMI sources could not be quiesced. |
EFI_NOT_FOUND | Interrupt source was not handled or quiesced. |
EFI_SUCCESS | Interrupt source was handled and quiesced. |
SMI_ENTRY mRootSmiEntry |
LIST_ENTRY mSmiEntryList = INITIALIZE_LIST_HEAD_VARIABLE (mSmiEntryList) |