14#ifndef __EFI_PEI_MP_SERVICES2_PPI_H__
15#define __EFI_PEI_MP_SERVICES2_PPI_H__
19#define EFI_PEI_MP_SERVICES2_PPI_GUID \
21 0x5cb9cb3d, 0x31a4, 0x480c, { 0x94, 0x98, 0x29, 0xd2, 0x69, 0xba, 0xcf, 0xba} \
108 IN BOOLEAN SingleThread,
109 IN UINTN TimeoutInMicroSeconds,
151 IN UINTN TimeoutInMicroseconds,
182 IN BOOLEAN EnableOldBSP
266 IN UINTN TimeoutInMicroSeconds,
281extern EFI_GUID gEfiPeiMpServices2PpiGuid;
288#define EDKII_PEI_MP_SERVICES2_PPI_GUID EFI_PEI_MP_SERVICES2_PPI_GUID
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_GET_PROCESSOR_INFO)(IN EFI_PEI_MP_SERVICES2_PPI *This, IN UINTN ProcessorNumber, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_STARTUP_ALL_APS)(IN EFI_PEI_MP_SERVICES2_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN BOOLEAN SingleThread, IN UINTN TimeoutInMicroSeconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_SWITCH_BSP)(IN EFI_PEI_MP_SERVICES2_PPI *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableOldBSP)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_GET_NUMBER_OF_PROCESSORS)(IN EFI_PEI_MP_SERVICES2_PPI *This, OUT UINTN *NumberOfProcessors, OUT UINTN *NumberOfEnabledProcessors)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_ENABLEDISABLEAP)(IN EFI_PEI_MP_SERVICES2_PPI *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableAP, IN UINT32 *HealthFlag OPTIONAL)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_STARTUP_ALL_CPUS)(IN EFI_PEI_MP_SERVICES2_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN UINTN TimeoutInMicroSeconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_STARTUP_THIS_AP)(IN EFI_PEI_MP_SERVICES2_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN UINTN ProcessorNumber, IN UINTN TimeoutInMicroseconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EFI_PEI_MP_SERVICES2_WHOAMI)(IN EFI_PEI_MP_SERVICES2_PPI *This, OUT UINTN *ProcessorNumber)
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)