TianoCore EDK2 master
Loading...
Searching...
No Matches
PiMmCis.h
Go to the documentation of this file.
1
10#ifndef _PI_MMCIS_H_
11#define _PI_MMCIS_H_
12
13#include <Pi/PiMultiPhase.h>
14#include <Protocol/MmCpuIo.h>
15
17
21#define MM_MMST_SIGNATURE SIGNATURE_32 ('S', 'M', 'S', 'T')
25#define MM_SPECIFICATION_MAJOR_REVISION 1
26#define MM_SPECIFICATION_MINOR_REVISION 60
27#define EFI_MM_SYSTEM_TABLE_REVISION ((MM_SPECIFICATION_MAJOR_REVISION<<16) | (MM_SPECIFICATION_MINOR_REVISION))
28
47typedef
50 IN CONST EFI_MM_SYSTEM_TABLE *SystemTable,
51 IN CONST EFI_GUID *Guid,
52 IN VOID *Table,
53 IN UINTN TableSize
54 );
55
72typedef
75 IN EFI_AP_PROCEDURE Procedure,
76 IN UINTN CpuNumber,
77 IN OUT VOID *ProcArguments OPTIONAL
78 );
79
89typedef
91(EFIAPI *EFI_MM_NOTIFY_FN)(
92 IN CONST EFI_GUID *Protocol,
93 IN VOID *Interface,
94 IN EFI_HANDLE Handle
95 );
96
115typedef
118 IN CONST EFI_GUID *Protocol,
119 IN EFI_MM_NOTIFY_FN Function,
120 OUT VOID **Registration
121 );
122
136typedef
139 IN CONST EFI_GUID *HandlerType,
140 IN CONST VOID *Context OPTIONAL,
141 IN OUT VOID *CommBuffer OPTIONAL,
142 IN OUT UINTN *CommBufferSize OPTIONAL
143 );
144
163typedef
166 IN EFI_HANDLE DispatchHandle,
167 IN CONST VOID *Context OPTIONAL,
168 IN OUT VOID *CommBuffer OPTIONAL,
169 IN OUT UINTN *CommBufferSize OPTIONAL
170 );
171
183typedef
187 IN CONST EFI_GUID *HandlerType OPTIONAL,
188 OUT EFI_HANDLE *DispatchHandle
189 );
190
199typedef
202 IN EFI_HANDLE DispatchHandle
203 );
204
208typedef struct _EFI_MM_ENTRY_CONTEXT {
209 EFI_MM_STARTUP_THIS_AP MmStartupThisAp;
233
239typedef
240VOID
241(EFIAPI *EFI_MM_ENTRY_POINT)(
242 IN CONST EFI_MM_ENTRY_CONTEXT *MmEntryContext
243 );
244
266
267 EFI_MM_INSTALL_CONFIGURATION_TABLE MmInstallConfigurationTable;
268
273
278 EFI_FREE_POOL MmFreePool;
279 EFI_ALLOCATE_PAGES MmAllocatePages;
280 EFI_FREE_PAGES MmFreePages;
281
286
290
312
316
326
331 EFI_UNINSTALL_PROTOCOL_INTERFACE MmUninstallProtocolInterface;
332 EFI_HANDLE_PROTOCOL MmHandleProtocol;
333 EFI_MM_REGISTER_PROTOCOL_NOTIFY MmRegisterProtocolNotify;
334 EFI_LOCATE_HANDLE MmLocateHandle;
335 EFI_LOCATE_PROTOCOL MmLocateProtocol;
336
341 EFI_MM_INTERRUPT_REGISTER MmiHandlerRegister;
342 EFI_MM_INTERRUPT_UNREGISTER MmiHandlerUnRegister;
343};
344
345#endif
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EFI_MM_REGISTER_PROTOCOL_NOTIFY)(IN CONST EFI_GUID *Protocol, IN EFI_MM_NOTIFY_FN Function, OUT VOID **Registration)
Definition: PiMmCis.h:117
EFI_STATUS(EFIAPI * EFI_MM_INTERRUPT_MANAGE)(IN CONST EFI_GUID *HandlerType, IN CONST VOID *Context OPTIONAL, IN OUT VOID *CommBuffer OPTIONAL, IN OUT UINTN *CommBufferSize OPTIONAL)
Definition: PiMmCis.h:138
VOID(EFIAPI * EFI_MM_ENTRY_POINT)(IN CONST EFI_MM_ENTRY_CONTEXT *MmEntryContext)
Definition: PiMmCis.h:241
EFI_STATUS(EFIAPI * EFI_MM_STARTUP_THIS_AP)(IN EFI_AP_PROCEDURE Procedure, IN UINTN CpuNumber, IN OUT VOID *ProcArguments OPTIONAL)
Definition: PiMmCis.h:74
EFI_STATUS(EFIAPI * EFI_MM_INTERRUPT_REGISTER)(IN EFI_MM_HANDLER_ENTRY_POINT Handler, IN CONST EFI_GUID *HandlerType OPTIONAL, OUT EFI_HANDLE *DispatchHandle)
Definition: PiMmCis.h:185
EFI_STATUS(EFIAPI * EFI_MM_NOTIFY_FN)(IN CONST EFI_GUID *Protocol, IN VOID *Interface, IN EFI_HANDLE Handle)
Definition: PiMmCis.h:91
EFI_STATUS(EFIAPI * EFI_MM_INTERRUPT_UNREGISTER)(IN EFI_HANDLE DispatchHandle)
Definition: PiMmCis.h:201
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)
Definition: PiMmCis.h:165
EFI_STATUS(EFIAPI * EFI_MM_INSTALL_CONFIGURATION_TABLE)(IN CONST EFI_MM_SYSTEM_TABLE *SystemTable, IN CONST EFI_GUID *Guid, IN VOID *Table, IN UINTN TableSize)
Definition: PiMmCis.h:49
struct _EFI_MM_ENTRY_CONTEXT EFI_MM_ENTRY_CONTEXT
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)
Definition: PiMultiPhase.h:191
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
EFI_STATUS(EFIAPI * EFI_ALLOCATE_POOL)(IN EFI_MEMORY_TYPE PoolType, IN UINTN Size, OUT VOID **Buffer)
Definition: UefiSpec.h:270
EFI_STATUS(EFIAPI * EFI_INSTALL_PROTOCOL_INTERFACE)(IN OUT EFI_HANDLE *Handle, IN EFI_GUID *Protocol, IN EFI_INTERFACE_TYPE InterfaceType, IN VOID *Interface)
Definition: UefiSpec.h:1173
EFI_STATUS(EFIAPI * EFI_LOCATE_PROTOCOL)(IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface)
Definition: UefiSpec.h:1600
EFI_STATUS(EFIAPI * EFI_HANDLE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface)
Definition: UefiSpec.h:1290
EFI_STATUS(EFIAPI * EFI_LOCATE_HANDLE)(IN EFI_LOCATE_SEARCH_TYPE SearchType, IN EFI_GUID *Protocol OPTIONAL, IN VOID *SearchKey OPTIONAL, IN OUT UINTN *BufferSize, OUT EFI_HANDLE *Buffer)
Definition: UefiSpec.h:1500
EFI_STATUS(EFIAPI * EFI_UNINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
Definition: UefiSpec.h:1249
EFI_STATUS(EFIAPI * EFI_FREE_PAGES)(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
Definition: UefiSpec.h:209
EFI_STATUS(EFIAPI * EFI_ALLOCATE_PAGES)(IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, IN OUT EFI_PHYSICAL_ADDRESS *Memory)
Definition: UefiSpec.h:188
EFI_STATUS(EFIAPI * EFI_FREE_POOL)(IN VOID *Buffer)
Definition: UefiSpec.h:287
UINTN CurrentlyExecutingCpu
Definition: PiMmCis.h:214
UINTN * CpuSaveStateSize
Definition: PiMmCis.h:225
VOID ** CpuSaveState
Definition: PiMmCis.h:231
EFI_INSTALL_PROTOCOL_INTERFACE MmInstallProtocolInterface
Definition: PiMmCis.h:330
EFI_MM_CPU_IO_PROTOCOL MmIo
Definition: PiMmCis.h:272
EFI_TABLE_HEADER Hdr
Definition: PiMmCis.h:256
UINTN CurrentlyExecutingCpu
Definition: PiMmCis.h:295
EFI_CONFIGURATION_TABLE * MmConfigurationTable
Definition: PiMmCis.h:325
EFI_MM_INTERRUPT_MANAGE MmiManage
Definition: PiMmCis.h:340
VOID ** CpuSaveState
Definition: PiMmCis.h:311
UINTN * CpuSaveStateSize
Definition: PiMmCis.h:305
EFI_ALLOCATE_POOL MmAllocatePool
Definition: PiMmCis.h:277
UINT32 MmFirmwareRevision
Definition: PiMmCis.h:265
EFI_MM_STARTUP_THIS_AP MmStartupThisAp
Definition: PiMmCis.h:285
CHAR16 * MmFirmwareVendor
Definition: PiMmCis.h:261
UINTN NumberOfTableEntries
Definition: PiMmCis.h:320
Definition: Base.h:213