66#define EFI_MM_DRIVER_ENTRY_SIGNATURE SIGNATURE_32('s', 'd','r','v')
89 BOOLEAN DepexProtocolError;
96 PHYSICAL_ADDRESS ImageEntryPoint;
100 PHYSICAL_ADDRESS ImageBuffer;
107#define EFI_HANDLE_SIGNATURE SIGNATURE_32('h','n','d','l')
121#define ASSERT_IS_HANDLE(a) ASSERT((a)->Signature == EFI_HANDLE_SIGNATURE)
123#define PROTOCOL_ENTRY_SIGNATURE SIGNATURE_32('p','r','t','e')
142#define PROTOCOL_INTERFACE_SIGNATURE SIGNATURE_32('p','i','f','c')
162#define PROTOCOL_NOTIFY_SIGNATURE SIGNATURE_32('p','r','t','n')
183extern BOOLEAN mMmEntryPointRegistered;
490 OUT VOID **Registration
516 IN VOID *SearchKey OPTIONAL,
548 IN VOID *SearchKey OPTIONAL,
573 IN VOID *Registration OPTIONAL,
595 IN CONST VOID *Context OPTIONAL,
596 IN OUT VOID *CommBuffer OPTIONAL,
651 IN CONST VOID *Context OPTIONAL,
652 IN OUT VOID *CommBuffer OPTIONAL,
673 IN CONST VOID *Context OPTIONAL,
674 IN OUT VOID *CommBuffer OPTIONAL,
695 IN CONST VOID *Context OPTIONAL,
696 IN OUT VOID *CommBuffer OPTIONAL,
717 IN CONST VOID *Context OPTIONAL,
718 IN OUT VOID *CommBuffer OPTIONAL,
740 IN CONST VOID *Context OPTIONAL,
741 IN OUT VOID *CommBuffer OPTIONAL,
762 IN CONST VOID *Context OPTIONAL,
763 IN OUT VOID *CommBuffer OPTIONAL,
934#define NEXT_MEMORY_DESCRIPTOR(MemoryDescriptor, Size) \
935 ((EFI_MEMORY_DESCRIPTOR *)((UINT8 *)(MemoryDescriptor) + (Size)))
983 OUT UINT32 *DescriptorVersion
EFI_STATUS(EFIAPI * EFI_MM_NOTIFY_FN)(IN CONST EFI_GUID *Protocol, IN VOID *Interface, IN EFI_HANDLE Handle)
EFI_STATUS(EFIAPI * EFI_MM_HANDLER_ENTRY_POINT)(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
EFI_STATUS EFIAPI MmReadyToBootHandler(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
EFI_STATUS EFIAPI MmAllocatePool(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
EFI_STATUS EFIAPI MmInternalAllocatePool(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
EFI_STATUS EFIAPI MmHandleProtocol(IN EFI_HANDLE UserHandle, IN EFI_GUID *Protocol, OUT VOID **Interface)
EFI_STATUS EFIAPI MmLocateProtocol(IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface)
EFI_STATUS EFIAPI MmEndOfPeiHandler(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
PROTOCOL_INTERFACE * MmFindProtocolInterface(IN IHANDLE *Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
EFI_STATUS EFIAPI MmDriverDispatchHandler(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
EFI_STATUS EFIAPI MmInternalAllocatePages(IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN NumberOfPages, OUT EFI_PHYSICAL_ADDRESS *Memory)
EFI_STATUS EFIAPI MmLocateHandleBuffer(IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol OPTIONAL, IN VOID *SearchKey OPTIONAL, IN OUT UINTN *NumberHandles, OUT EFI_HANDLE **Buffer)
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 MmiHandlerRegister(IN EFI_MM_HANDLER_ENTRY_POINT Handler, IN CONST EFI_GUID *HandlerType OPTIONAL, OUT EFI_HANDLE *DispatchHandle)
EFI_STATUS EFIAPI MmAllocatePages(IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN NumberOfPages, OUT EFI_PHYSICAL_ADDRESS *Memory)
VOID MmAddMemoryRegion(IN EFI_PHYSICAL_ADDRESS MemBase, IN UINT64 MemLength, IN EFI_MEMORY_TYPE Type, IN UINT64 Attributes)
EFI_STATUS EFIAPI MmReadyToLockHandler(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
EFI_STATUS EFIAPI MmRegisterProtocolNotify(IN CONST EFI_GUID *Protocol, IN EFI_MM_NOTIFY_FN Function, OUT VOID **Registration)
EFI_STATUS EFIAPI MmFreePool(IN VOID *Buffer)
EFI_STATUS EFIAPI MmLocateHandle(IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol OPTIONAL, IN VOID *SearchKey OPTIONAL, IN OUT UINTN *BufferSize, OUT EFI_HANDLE *Buffer)
EFI_STATUS EFIAPI MmEfiNotAvailableYetArg5(UINTN Arg1, UINTN Arg2, UINTN Arg3, UINTN Arg4, UINTN Arg5)
PROTOCOL_INTERFACE * MmRemoveInterfaceFromProtocol(IN IHANDLE *Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
VOID MmInitializeMemoryServices(IN UINTN MmramRangeCount, IN EFI_MMRAM_DESCRIPTOR *MmramRanges)
VOID MmDisplayDiscoveredNotDispatched(VOID)
EFI_STATUS EFIAPI MmFreePages(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN NumberOfPages)
EFI_STATUS MmCoreFfsFindMmDriver(IN EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader, IN UINT32 Depth)
PROTOCOL_ENTRY * MmFindProtocolEntry(IN EFI_GUID *Protocol, IN BOOLEAN Create)
EFI_STATUS EFIAPI MmInstallProtocolInterface(IN OUT EFI_HANDLE *UserHandle, IN EFI_GUID *Protocol, IN EFI_INTERFACE_TYPE InterfaceType, IN VOID *Interface)
VOID EFIAPI MmCoreInitializeMemoryAttributesTable(VOID)
EFI_STATUS EFIAPI MmInternalFreePages(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN NumberOfPages)
BOOLEAN MmIsSchedulable(IN EFI_MM_DRIVER_ENTRY *DriverEntry)
EFI_STATUS EFIAPI MmInternalFreePool(IN VOID *Buffer)
EFI_STATUS EFIAPI MmiManage(IN CONST EFI_GUID *HandlerType, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
VOID MmNotifyProtocol(IN PROTOCOL_INTERFACE *Prot)
EFI_STATUS EFIAPI MmInstallConfigurationTable(IN CONST EFI_MM_SYSTEM_TABLE *SystemTable, IN CONST EFI_GUID *Guid, IN VOID *Table, IN UINTN TableSize)
EFI_STATUS EFIAPI MmCoreGetMemoryMap(IN OUT UINTN *MemoryMapSize, IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap, OUT UINTN *MapKey, OUT UINTN *DescriptorSize, OUT UINT32 *DescriptorVersion)
EFI_STATUS EFIAPI MmUninstallProtocolInterface(IN EFI_HANDLE UserHandle, IN EFI_GUID *Protocol, IN VOID *Interface)
EFI_STATUS EFIAPI MmExitBootServiceHandler(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
EFI_STATUS EFIAPI MmiHandlerUnRegister(IN EFI_HANDLE DispatchHandle)
EFI_STATUS EFIAPI MmEndOfDxeHandler(IN EFI_HANDLE DispatchHandle, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
EFI_STATUS EFIAPI DriverEntry(IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
UINT64 EFI_PHYSICAL_ADDRESS
EFI_MM_NOTIFY_FN Function
Notification function.