TianoCore EDK2 master
Loading...
Searching...
No Matches
SmmCpuFeaturesLib.h
Go to the documentation of this file.
1
9#ifndef __SMM_FEATURES_LIB_H__
10#define __SMM_FEATURES_LIB_H__
11
12#include <Protocol/MpService.h>
13#include <Protocol/SmmCpu.h>
15#include <CpuHotPlugData.h>
16
22typedef enum {
48
73VOID
74EFIAPI
76 IN UINTN CpuIndex,
77 IN BOOLEAN IsMonarch,
78 IN EFI_PROCESSOR_INFORMATION *ProcessorInfo,
79 IN CPU_HOT_PLUG_DATA *CpuHotPlugData
80 );
81
113UINT64
114EFIAPI
116 IN UINTN CpuIndex,
117 IN SMRAM_SAVE_STATE_MAP *CpuState,
118 IN UINT64 NewInstructionPointer32,
119 IN UINT64 NewInstructionPointer
120 );
121
129VOID
130EFIAPI
132 VOID
133 );
134
145UINTN
146EFIAPI
148 VOID
149 );
150
195VOID
196EFIAPI
198 IN UINTN CpuIndex,
199 IN UINT32 SmBase,
200 IN VOID *SmiStack,
201 IN UINTN StackSize,
202 IN UINTN GdtBase,
203 IN UINTN GdtSize,
204 IN UINTN IdtBase,
205 IN UINTN IdtSize,
206 IN UINT32 Cr3
207 );
208
217BOOLEAN
218EFIAPI
220 VOID
221 );
222
227VOID
228EFIAPI
230 VOID
231 );
232
237VOID
238EFIAPI
240 VOID
241 );
242
250VOID
251EFIAPI
253 IN UINTN CpuIndex
254 );
255
263VOID
264EFIAPI
266 IN UINTN CpuIndex
267 );
268
282BOOLEAN
283EFIAPI
285 IN UINTN CpuIndex,
286 IN SMM_REG_NAME RegName
287 );
288
301UINT64
302EFIAPI
304 IN UINTN CpuIndex,
305 IN SMM_REG_NAME RegName
306 );
307
319VOID
320EFIAPI
322 IN UINTN CpuIndex,
323 IN SMM_REG_NAME RegName,
324 IN UINT64 Value
325 );
326
331VOID
332EFIAPI
334 VOID
335 );
336
337#endif
UINT64 UINTN
#define IN
Definition: Base.h:279
UINT64 EFIAPI SmmCpuFeaturesGetSmmRegister(IN UINTN CpuIndex, IN SMM_REG_NAME RegName)
VOID EFIAPI SmmCpuFeaturesCompleteSmmReadyToLock(VOID)
UINT64 EFIAPI SmmCpuFeaturesHookReturnFromSmm(IN UINTN CpuIndex, IN SMRAM_SAVE_STATE_MAP *CpuState, IN UINT64 NewInstructionPointer32, IN UINT64 NewInstructionPointer)
SMM_REG_NAME
@ SmmRegSmmEnable
@ SmmRegSmmDelayed
@ SmmRegFeatureControl
@ SmmRegSmmBlocked
VOID EFIAPI SmmCpuFeaturesSmmRelocationComplete(VOID)
VOID EFIAPI SmmCpuFeaturesInitializeProcessor(IN UINTN CpuIndex, IN BOOLEAN IsMonarch, IN EFI_PROCESSOR_INFORMATION *ProcessorInfo, IN CPU_HOT_PLUG_DATA *CpuHotPlugData)
VOID EFIAPI SmmCpuFeaturesRendezvousEntry(IN UINTN CpuIndex)
VOID EFIAPI SmmCpuFeaturesReenableSmrr(VOID)
BOOLEAN EFIAPI SmmCpuFeaturesIsSmmRegisterSupported(IN UINTN CpuIndex, IN SMM_REG_NAME RegName)
VOID EFIAPI SmmCpuFeaturesSetSmmRegister(IN UINTN CpuIndex, IN SMM_REG_NAME RegName, IN UINT64 Value)
BOOLEAN EFIAPI SmmCpuFeaturesNeedConfigureMtrrs(VOID)
VOID EFIAPI SmmCpuFeaturesInstallSmiHandler(IN UINTN CpuIndex, IN UINT32 SmBase, IN VOID *SmiStack, IN UINTN StackSize, IN UINTN GdtBase, IN UINTN GdtSize, IN UINTN IdtBase, IN UINTN IdtSize, IN UINT32 Cr3)
VOID EFIAPI SmmCpuFeaturesDisableSmrr(VOID)
VOID EFIAPI SmmCpuFeaturesRendezvousExit(IN UINTN CpuIndex)
UINTN EFIAPI SmmCpuFeaturesGetSmiHandlerSize(VOID)