TianoCore EDK2 master
|
#include "StandaloneMmCore.h"
Go to the source code of this file.
Functions | |
EFI_STATUS | MmValidateHandle (IN EFI_HANDLE UserHandle) |
PROTOCOL_ENTRY * | MmFindProtocolEntry (IN EFI_GUID *Protocol, IN BOOLEAN Create) |
PROTOCOL_INTERFACE * | MmFindProtocolInterface (IN IHANDLE *Handle, IN EFI_GUID *Protocol, IN VOID *Interface) |
EFI_STATUS EFIAPI | MmInstallProtocolInterface (IN OUT EFI_HANDLE *UserHandle, IN EFI_GUID *Protocol, IN EFI_INTERFACE_TYPE InterfaceType, IN VOID *Interface) |
EFI_STATUS | MmInstallProtocolInterfaceNotify (IN OUT EFI_HANDLE *UserHandle, IN EFI_GUID *Protocol, IN EFI_INTERFACE_TYPE InterfaceType, IN VOID *Interface, IN BOOLEAN Notify) |
EFI_STATUS EFIAPI | MmUninstallProtocolInterface (IN EFI_HANDLE UserHandle, IN EFI_GUID *Protocol, IN VOID *Interface) |
PROTOCOL_INTERFACE * | MmGetProtocolInterface (IN EFI_HANDLE UserHandle, IN EFI_GUID *Protocol) |
EFI_STATUS EFIAPI | MmHandleProtocol (IN EFI_HANDLE UserHandle, IN EFI_GUID *Protocol, OUT VOID **Interface) |
Variables | |
LIST_ENTRY | mProtocolDatabase = INITIALIZE_LIST_HEAD_VARIABLE (mProtocolDatabase) |
LIST_ENTRY | gHandleList = INITIALIZE_LIST_HEAD_VARIABLE (gHandleList) |
SMM handle & protocol handling.
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.
Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Handle.c.
PROTOCOL_ENTRY * MmFindProtocolEntry | ( | IN EFI_GUID * | Protocol, |
IN BOOLEAN | Create | ||
) |
PROTOCOL_INTERFACE * MmFindProtocolInterface | ( | IN IHANDLE * | Handle, |
IN EFI_GUID * | Protocol, | ||
IN VOID * | Interface | ||
) |
Finds the protocol instance for the requested handle and protocol. Note: This function doesn't do parameters checking, it's caller's responsibility to pass in valid parameters.
Handle | The handle to search the protocol on |
Protocol | GUID of the protocol |
Interface | The interface for the protocol being searched |
PROTOCOL_INTERFACE * MmGetProtocolInterface | ( | IN EFI_HANDLE | UserHandle, |
IN EFI_GUID * | Protocol | ||
) |
EFI_STATUS EFIAPI MmHandleProtocol | ( | IN EFI_HANDLE | UserHandle, |
IN EFI_GUID * | Protocol, | ||
OUT VOID ** | Interface | ||
) |
Queries a handle to determine if it supports a specified protocol.
UserHandle | The handle being queried. |
Protocol | The published unique identifier of the protocol. |
Interface | Supplies the address where a pointer to the corresponding Protocol Interface is returned. |
EFI_SUCCESS | The interface information for the specified protocol was returned. |
EFI_UNSUPPORTED | The device does not support the specified protocol. |
EFI_INVALID_PARAMETER | Handle is not a valid EFI_HANDLE.. |
EFI_INVALID_PARAMETER | Protocol is NULL. |
EFI_INVALID_PARAMETER | Interface is NULL. |
EFI_STATUS EFIAPI MmInstallProtocolInterface | ( | IN OUT EFI_HANDLE * | UserHandle, |
IN EFI_GUID * | Protocol, | ||
IN EFI_INTERFACE_TYPE | InterfaceType, | ||
IN VOID * | Interface | ||
) |
Wrapper function to MmInstallProtocolInterfaceNotify. This is the public API which Calls the private one which contains a BOOLEAN parameter for notifications
UserHandle | The handle to install the protocol handler on, or NULL if a new handle is to be allocated |
Protocol | The protocol to add to the handle |
InterfaceType | Indicates whether Interface is supplied in native form. |
Interface | The interface for the protocol being added |
EFI_STATUS MmInstallProtocolInterfaceNotify | ( | IN OUT EFI_HANDLE * | UserHandle, |
IN EFI_GUID * | Protocol, | ||
IN EFI_INTERFACE_TYPE | InterfaceType, | ||
IN VOID * | Interface, | ||
IN BOOLEAN | Notify | ||
) |
Installs a protocol interface into the boot services environment.
UserHandle | The handle to install the protocol handler on, or NULL if a new handle is to be allocated |
Protocol | The protocol to add to the handle |
InterfaceType | Indicates whether Interface is supplied in native form. |
Interface | The interface for the protocol being added |
Notify | indicates whether notify the notification list for this protocol |
EFI_INVALID_PARAMETER | Invalid parameter |
EFI_OUT_OF_RESOURCES | No enough buffer to allocate |
EFI_SUCCESS | Protocol interface successfully installed |
EFI_STATUS EFIAPI MmUninstallProtocolInterface | ( | IN EFI_HANDLE | UserHandle, |
IN EFI_GUID * | Protocol, | ||
IN VOID * | Interface | ||
) |
Uninstalls all instances of a protocol:interfacer from a handle. If the last protocol interface is remove from the handle, the handle is freed.
UserHandle | The handle to remove the protocol handler from |
Protocol | The protocol, of protocol:interface, to remove |
Interface | The interface, of protocol:interface, to remove |
EFI_INVALID_PARAMETER | Protocol is NULL. |
EFI_SUCCESS | Protocol interface successfully uninstalled. |
EFI_STATUS MmValidateHandle | ( | IN EFI_HANDLE | UserHandle | ) |
LIST_ENTRY gHandleList = INITIALIZE_LIST_HEAD_VARIABLE (gHandleList) |
LIST_ENTRY mProtocolDatabase = INITIALIZE_LIST_HEAD_VARIABLE (mProtocolDatabase) |