TianoCore EDK2 master
Loading...
Searching...
No Matches
PiSmmCis.h
Go to the documentation of this file.
1
10#ifndef _PI_SMMCIS_H_
11#define _PI_SMMCIS_H_
12
13#include <Pi/PiMmCis.h>
14#include <Protocol/SmmCpuIo2.h>
15
17//
18// Define new MM related definition introduced by PI 1.5.
19//
20#define SMM_SMST_SIGNATURE MM_MMST_SIGNATURE
21#define SMM_SPECIFICATION_MAJOR_REVISION MM_SPECIFICATION_MAJOR_REVISION
22#define SMM_SPECIFICATION_MINOR_REVISION MM_SPECIFICATION_MINOR_REVISION
23#define EFI_SMM_SYSTEM_TABLE2_REVISION EFI_MM_SYSTEM_TABLE_REVISION
24
43typedef
46 IN CONST EFI_SMM_SYSTEM_TABLE2 *SystemTable,
47 IN CONST EFI_GUID *Guid,
48 IN VOID *Table,
49 IN UINTN TableSize
50 );
51
52typedef EFI_MM_STARTUP_THIS_AP EFI_SMM_STARTUP_THIS_AP;
53typedef EFI_MM_NOTIFY_FN EFI_SMM_NOTIFY_FN;
54typedef EFI_MM_REGISTER_PROTOCOL_NOTIFY EFI_SMM_REGISTER_PROTOCOL_NOTIFY;
55typedef EFI_MM_INTERRUPT_MANAGE EFI_SMM_INTERRUPT_MANAGE;
56typedef EFI_MM_HANDLER_ENTRY_POINT EFI_SMM_HANDLER_ENTRY_POINT2;
57typedef EFI_MM_INTERRUPT_REGISTER EFI_SMM_INTERRUPT_REGISTER;
58typedef EFI_MM_INTERRUPT_UNREGISTER EFI_SMM_INTERRUPT_UNREGISTER;
59
63typedef struct _EFI_SMM_ENTRY_CONTEXT {
64 EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp;
88
94typedef
95VOID
96(EFIAPI *EFI_SMM_ENTRY_POINT)(
97 IN CONST EFI_SMM_ENTRY_CONTEXT *SmmEntryContext
98 );
99
121
122 EFI_SMM_INSTALL_CONFIGURATION_TABLE2 SmmInstallConfigurationTable;
123
128
133 EFI_FREE_POOL SmmFreePool;
134 EFI_ALLOCATE_PAGES SmmAllocatePages;
135 EFI_FREE_PAGES SmmFreePages;
136
140 EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp;
141
145
167
171
181
186 EFI_UNINSTALL_PROTOCOL_INTERFACE SmmUninstallProtocolInterface;
187 EFI_HANDLE_PROTOCOL SmmHandleProtocol;
188 EFI_SMM_REGISTER_PROTOCOL_NOTIFY SmmRegisterProtocolNotify;
189 EFI_LOCATE_HANDLE SmmLocateHandle;
190 EFI_LOCATE_PROTOCOL SmmLocateProtocol;
191
195 EFI_SMM_INTERRUPT_MANAGE SmiManage;
196 EFI_SMM_INTERRUPT_REGISTER SmiHandlerRegister;
197 EFI_SMM_INTERRUPT_UNREGISTER SmiHandlerUnRegister;
198};
199
200#endif
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
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
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
struct _EFI_SMM_ENTRY_CONTEXT EFI_SMM_ENTRY_CONTEXT
VOID(EFIAPI * EFI_SMM_ENTRY_POINT)(IN CONST EFI_SMM_ENTRY_CONTEXT *SmmEntryContext)
Definition: PiSmmCis.h:96
EFI_STATUS(EFIAPI * EFI_SMM_INSTALL_CONFIGURATION_TABLE2)(IN CONST EFI_SMM_SYSTEM_TABLE2 *SystemTable, IN CONST EFI_GUID *Guid, IN VOID *Table, IN UINTN TableSize)
Definition: PiSmmCis.h:45
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
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: PiSmmCis.h:69
UINTN * CpuSaveStateSize
Definition: PiSmmCis.h:80
EFI_SMM_CPU_IO2_PROTOCOL SmmIo
Definition: PiSmmCis.h:127
EFI_INSTALL_PROTOCOL_INTERFACE SmmInstallProtocolInterface
Definition: PiSmmCis.h:185
EFI_SMM_STARTUP_THIS_AP SmmStartupThisAp
Definition: PiSmmCis.h:140
UINTN * CpuSaveStateSize
Definition: PiSmmCis.h:160
EFI_TABLE_HEADER Hdr
Definition: PiSmmCis.h:111
UINT32 SmmFirmwareRevision
Definition: PiSmmCis.h:120
EFI_CONFIGURATION_TABLE * SmmConfigurationTable
Definition: PiSmmCis.h:180
CHAR16 * SmmFirmwareVendor
Definition: PiSmmCis.h:116
EFI_ALLOCATE_POOL SmmAllocatePool
Definition: PiSmmCis.h:132
EFI_SMM_INTERRUPT_MANAGE SmiManage
Definition: PiSmmCis.h:195
Definition: Base.h:213