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')
22#define MM_SPECIFICATION_MAJOR_REVISION PI_SPECIFICATION_MAJOR_REVISION
23#define MM_SPECIFICATION_MINOR_REVISION PI_SPECIFICATION_MINOR_REVISION
24#define EFI_MM_SYSTEM_TABLE_REVISION ((MM_SPECIFICATION_MAJOR_REVISION<<16) | (MM_SPECIFICATION_MINOR_REVISION))
25
44typedef
47 IN CONST EFI_MM_SYSTEM_TABLE *SystemTable,
48 IN CONST EFI_GUID *Guid,
49 IN VOID *Table,
50 IN UINTN TableSize
51 );
52
69typedef
72 IN EFI_AP_PROCEDURE Procedure,
73 IN UINTN CpuNumber,
74 IN OUT VOID *ProcArguments OPTIONAL
75 );
76
86typedef
88(EFIAPI *EFI_MM_NOTIFY_FN)(
89 IN CONST EFI_GUID *Protocol,
90 IN VOID *Interface,
91 IN EFI_HANDLE Handle
92 );
93
112typedef
115 IN CONST EFI_GUID *Protocol,
116 IN EFI_MM_NOTIFY_FN Function,
117 OUT VOID **Registration
118 );
119
133typedef
136 IN CONST EFI_GUID *HandlerType,
137 IN CONST VOID *Context OPTIONAL,
138 IN OUT VOID *CommBuffer OPTIONAL,
139 IN OUT UINTN *CommBufferSize OPTIONAL
140 );
141
160typedef
163 IN EFI_HANDLE DispatchHandle,
164 IN CONST VOID *Context OPTIONAL,
165 IN OUT VOID *CommBuffer OPTIONAL,
166 IN OUT UINTN *CommBufferSize OPTIONAL
167 );
168
180typedef
184 IN CONST EFI_GUID *HandlerType OPTIONAL,
185 OUT EFI_HANDLE *DispatchHandle
186 );
187
196typedef
199 IN EFI_HANDLE DispatchHandle
200 );
201
205typedef struct _EFI_MM_ENTRY_CONTEXT {
206 EFI_MM_STARTUP_THIS_AP MmStartupThisAp;
230
236typedef
237VOID
238(EFIAPI *EFI_MM_ENTRY_POINT)(
239 IN CONST EFI_MM_ENTRY_CONTEXT *MmEntryContext
240 );
241
263
264 EFI_MM_INSTALL_CONFIGURATION_TABLE MmInstallConfigurationTable;
265
270
275 EFI_FREE_POOL MmFreePool;
276 EFI_ALLOCATE_PAGES MmAllocatePages;
277 EFI_FREE_PAGES MmFreePages;
278
283
287
309
313
323
328 EFI_UNINSTALL_PROTOCOL_INTERFACE MmUninstallProtocolInterface;
329 EFI_HANDLE_PROTOCOL MmHandleProtocol;
330 EFI_MM_REGISTER_PROTOCOL_NOTIFY MmRegisterProtocolNotify;
331 EFI_LOCATE_HANDLE MmLocateHandle;
332 EFI_LOCATE_PROTOCOL MmLocateProtocol;
333
338 EFI_MM_INTERRUPT_REGISTER MmiHandlerRegister;
339 EFI_MM_INTERRUPT_UNREGISTER MmiHandlerUnRegister;
340};
341
342#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:114
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:135
VOID(EFIAPI * EFI_MM_ENTRY_POINT)(IN CONST EFI_MM_ENTRY_CONTEXT *MmEntryContext)
Definition: PiMmCis.h:238
EFI_STATUS(EFIAPI * EFI_MM_STARTUP_THIS_AP)(IN EFI_AP_PROCEDURE Procedure, IN UINTN CpuNumber, IN OUT VOID *ProcArguments OPTIONAL)
Definition: PiMmCis.h:71
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:182
EFI_STATUS(EFIAPI * EFI_MM_NOTIFY_FN)(IN CONST EFI_GUID *Protocol, IN VOID *Interface, IN EFI_HANDLE Handle)
Definition: PiMmCis.h:88
EFI_STATUS(EFIAPI * EFI_MM_INTERRUPT_UNREGISTER)(IN EFI_HANDLE DispatchHandle)
Definition: PiMmCis.h:198
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:162
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:46
struct _EFI_MM_ENTRY_CONTEXT EFI_MM_ENTRY_CONTEXT
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)
Definition: PiMultiPhase.h:198
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:285
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:1218
EFI_STATUS(EFIAPI * EFI_LOCATE_PROTOCOL)(IN EFI_GUID *Protocol, IN VOID *Registration OPTIONAL, OUT VOID **Interface)
Definition: UefiSpec.h:1645
EFI_STATUS(EFIAPI * EFI_HANDLE_PROTOCOL)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, OUT VOID **Interface)
Definition: UefiSpec.h:1335
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:1545
EFI_STATUS(EFIAPI * EFI_UNINSTALL_PROTOCOL_INTERFACE)(IN EFI_HANDLE Handle, IN EFI_GUID *Protocol, IN VOID *Interface)
Definition: UefiSpec.h:1294
EFI_STATUS(EFIAPI * EFI_FREE_PAGES)(IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
Definition: UefiSpec.h:224
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:203
EFI_STATUS(EFIAPI * EFI_FREE_POOL)(IN VOID *Buffer)
Definition: UefiSpec.h:302
UINTN CurrentlyExecutingCpu
Definition: PiMmCis.h:211
UINTN * CpuSaveStateSize
Definition: PiMmCis.h:222
VOID ** CpuSaveState
Definition: PiMmCis.h:228
EFI_INSTALL_PROTOCOL_INTERFACE MmInstallProtocolInterface
Definition: PiMmCis.h:327
EFI_MM_CPU_IO_PROTOCOL MmIo
Definition: PiMmCis.h:269
EFI_TABLE_HEADER Hdr
Definition: PiMmCis.h:253
UINTN CurrentlyExecutingCpu
Definition: PiMmCis.h:292
EFI_CONFIGURATION_TABLE * MmConfigurationTable
Definition: PiMmCis.h:322
EFI_MM_INTERRUPT_MANAGE MmiManage
Definition: PiMmCis.h:337
VOID ** CpuSaveState
Definition: PiMmCis.h:308
UINTN * CpuSaveStateSize
Definition: PiMmCis.h:302
EFI_ALLOCATE_POOL MmAllocatePool
Definition: PiMmCis.h:274
UINT32 MmFirmwareRevision
Definition: PiMmCis.h:262
EFI_MM_STARTUP_THIS_AP MmStartupThisAp
Definition: PiMmCis.h:282
CHAR16 * MmFirmwareVendor
Definition: PiMmCis.h:258
UINTN NumberOfTableEntries
Definition: PiMmCis.h:317
Definition: Base.h:213