39 #ifndef _MP_SERVICE_PROTOCOL_H_ 40 #define _MP_SERVICE_PROTOCOL_H_ 47 #define EFI_MP_SERVICES_PROTOCOL_GUID \ 49 0x3fdda605, 0xa76e, 0x4f46, {0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08} \ 55 #define CPU_V2_EXTENDED_TOPOLOGY BIT24 65 #define END_OF_CPU_LIST 0xffffffff 72 #define PROCESSOR_AS_BSP_BIT 0x00000001 79 #define PROCESSOR_ENABLED_BIT 0x00000002 86 #define PROCESSOR_HEALTH_STATUS_BIT 0x00000004 228 OUT UINTN *NumberOfEnabledProcessors
408 IN UINTN TimeoutInMicroSeconds,
506 IN UINTN TimeoutInMicroseconds,
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
Structure that describes the pyhiscal location of a logical CPU.
EFI_GUID gEfiMpServiceProtocolGuid
128 bit buffer containing a unique identifier value.
UINT32 Thread
Thread Zero-based logical thread number within core of the processor.
Structure that defines the 6-level physical location of the processor.
VOID * EFI_EVENT
Handle to an event structure.
EFI_MP_SERVICES_WHOAMI WhoAmI
EFI_STATUS(EFIAPI * EFI_MP_SERVICES_GET_NUMBER_OF_PROCESSORS)(IN EFI_MP_SERVICES_PROTOCOL *This, OUT UINTN *NumberOfProcessors, OUT UINTN *NumberOfEnabledProcessors)
This service retrieves the number of logical processor in the platform and the number of those logica...
EFI_STATUS(EFIAPI * EFI_MP_SERVICES_STARTUP_THIS_AP)(IN EFI_MP_SERVICES_PROTOCOL *This, IN EFI_AP_PROCEDURE Procedure, IN UINTN ProcessorNumber, IN EFI_EVENT WaitEvent OPTIONAL, IN UINTN TimeoutInMicroseconds, IN VOID *ProcedureArgument OPTIONAL, OUT BOOLEAN *Finished OPTIONAL)
This service lets the caller get one enabled AP to execute a caller-provided function.
EFI_STATUS(EFIAPI * EFI_MP_SERVICES_STARTUP_ALL_APS)(IN EFI_MP_SERVICES_PROTOCOL *This, IN EFI_AP_PROCEDURE Procedure, IN BOOLEAN SingleThread, IN EFI_EVENT WaitEvent OPTIONAL, IN UINTN TimeoutInMicroSeconds, IN VOID *ProcedureArgument OPTIONAL, OUT UINTN **FailedCpuList OPTIONAL)
This service executes a caller provided function on all enabled APs.
EFI_STATUS(EFIAPI * EFI_MP_SERVICES_WHOAMI)(IN EFI_MP_SERVICES_PROTOCOL *This, OUT UINTN *ProcessorNumber)
This return the handle number for the calling processor.
EFI_MP_SERVICES_STARTUP_ALL_APS StartupAllAPs
EFI_MP_SERVICES_STARTUP_THIS_AP StartupThisAP
UINT32 Core
Zero-based physical core number within package of the processor.
UINT32 Package
Zero-based physical package number that identifies the cartridge of the processor.
UINT32 Core
Core Zero-based physical core number within die of the processor.
EFI_MP_SERVICES_GET_NUMBER_OF_PROCESSORS GetNumberOfProcessors
UINT32 Module
Module Zero-based physical module number within package of the processor.
EFI_STATUS(EFIAPI * EFI_MP_SERVICES_GET_PROCESSOR_INFO)(IN EFI_MP_SERVICES_PROTOCOL *This, IN UINTN ProcessorNumber, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer)
Gets detailed MP-related information on the requested processor at the instant this call is made.
EFI_MP_SERVICES_SWITCH_BSP SwitchBSP
When installed, the MP Services Protocol produces a collection of services that are needed for MP man...
UINT64 UINTN
Unsigned value of native width.
FILE_LICENCE(BSD2_PATENT)
#define VOID
Undeclared type.
unsigned long long UINT64
EFI_MP_SERVICES_GET_PROCESSOR_INFO GetProcessorInfo
UINT32 Die
Die Zero-based physical die number within tile of the processor.
UINT32 Tile
Tile Zero-based physical tile number within module of the processor.
EFI_MP_SERVICES_ENABLEDISABLEAP EnableDisableAP
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
EFI_STATUS(EFIAPI * EFI_MP_SERVICES_SWITCH_BSP)(IN EFI_MP_SERVICES_PROTOCOL *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableOldBSP)
This service switches the requested AP to be the BSP from that point onward.
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)
The function prototype for invoking a function on an Application Processor.
UINT32 Package
Package Zero-based physical package number that identifies the cartridge of the processor.
UINT32 Thread
Zero-based logical thread number within core of the processor.
EFI_STATUS(EFIAPI * EFI_MP_SERVICES_ENABLEDISABLEAP)(IN EFI_MP_SERVICES_PROTOCOL *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableAP, IN UINT32 *HealthFlag OPTIONAL)
This service lets the caller enable or disable an AP from this point onward.