TianoCore EDK2 master
Loading...
Searching...
No Matches
CpuService.h
Go to the documentation of this file.
1
9#ifndef _CPU_SERVICE_H_
10#define _CPU_SERVICE_H_
11
12typedef enum {
13 SmmCpuNone,
14 SmmCpuAdd,
15 SmmCpuRemove,
16 SmmCpuSwitchBsp
17} SMM_CPU_OPERATION;
18
19//
20// SMM CPU Service Protocol function prototypes.
21//
22
39EFIAPI
42 IN UINTN ProcessorNumber,
43 OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer
44 );
45
58EFIAPI
61 IN UINTN ProcessorNumber
62 );
63
78EFIAPI
81 IN UINT64 ProcessorId,
82 OUT UINTN *ProcessorNumber
83 );
84
98EFIAPI
101 IN UINTN ProcessorNumber
102 );
103
116EFIAPI
117SmmWhoAmI (
119 OUT UINTN *ProcessorNumber
120 );
121
140EFIAPI
143 IN EFI_EXCEPTION_TYPE ExceptionType,
144 IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler
145 );
146
147//
148// Internal function prototypes
149//
150
156VOID
158 VOID
159 );
160
172 IN EFI_HANDLE Handle
173 );
174
175#endif
UINT64 UINTN
VOID(EFIAPI * EFI_CPU_INTERRUPT_HANDLER)(IN CONST EFI_EXCEPTION_TYPE InterruptType, IN CONST EFI_SYSTEM_CONTEXT SystemContext)
Definition: Cpu.h:52
EFI_STATUS EFIAPI SmmSwitchBsp(IN CONST EFI_SMM_CPU_SERVICE_PROTOCOL *This, IN UINTN ProcessorNumber)
Definition: CpuService.c:84
VOID SmmCpuUpdate(VOID)
Definition: CpuService.c:296
EFI_STATUS InitializeSmmCpuServices(IN EFI_HANDLE Handle)
Definition: CpuService.c:373
EFI_STATUS EFIAPI SmmRegisterExceptionHandler(IN EFI_SMM_CPU_SERVICE_PROTOCOL *This, IN EFI_EXCEPTION_TYPE ExceptionType, IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler)
Definition: CpuService.c:353
EFI_STATUS EFIAPI SmmAddProcessor(IN CONST EFI_SMM_CPU_SERVICE_PROTOCOL *This, IN UINT64 ProcessorId, OUT UINTN *ProcessorNumber)
Definition: CpuService.c:128
EFI_STATUS EFIAPI SmmWhoAmI(IN CONST EFI_SMM_CPU_SERVICE_PROTOCOL *This, OUT UINTN *ProcessorNumber)
Definition: CpuService.c:259
EFI_STATUS EFIAPI SmmGetProcessorInfo(IN CONST EFI_SMM_CPU_SERVICE_PROTOCOL *This, IN UINTN ProcessorNumber, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer)
Definition: CpuService.c:47
EFI_STATUS EFIAPI SmmRemoveProcessor(IN CONST EFI_SMM_CPU_SERVICE_PROTOCOL *This, IN UINTN ProcessorNumber)
Definition: CpuService.c:207
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
INTN EFI_EXCEPTION_TYPE
Definition: DebugSupport.h:35
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33