14#ifndef __PEI_MP_SERVICES_PPI_H__
15#define __PEI_MP_SERVICES_PPI_H__
19#define EFI_PEI_MP_SERVICES_PPI_GUID \
21 0xee16160a, 0xe8be, 0x47a6, { 0x82, 0xa, 0xc6, 0x90, 0xd, 0xb0, 0x25, 0xa } \
117 IN BOOLEAN SingleThread,
118 IN UINTN TimeoutInMicroSeconds,
163 IN UINTN TimeoutInMicroseconds,
197 IN BOOLEAN EnableOldBSP
275extern EFI_GUID gEfiPeiMpServicesPpiGuid;
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES_GET_PROCESSOR_INFO)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MP_SERVICES_PPI *This, IN UINTN ProcessorNumber, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES_ENABLEDISABLEAP)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MP_SERVICES_PPI *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableAP, IN UINT32 *HealthFlag OPTIONAL)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES_GET_NUMBER_OF_PROCESSORS)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MP_SERVICES_PPI *This, OUT UINTN *NumberOfProcessors, OUT UINTN *NumberOfEnabledProcessors)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES_STARTUP_ALL_APS)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MP_SERVICES_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN BOOLEAN SingleThread, IN UINTN TimeoutInMicroSeconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES_STARTUP_THIS_AP)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MP_SERVICES_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN UINTN ProcessorNumber, IN UINTN TimeoutInMicroseconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES_WHOAMI)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MP_SERVICES_PPI *This, OUT UINTN *ProcessorNumber)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES_SWITCH_BSP)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_MP_SERVICES_PPI *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableOldBSP)
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)