9#ifndef __EDKII_PEI_MP_SERVICES2_PPI_H__
10#define __EDKII_PEI_MP_SERVICES2_PPI_H__
14#define EDKII_PEI_MP_SERVICES2_PPI_GUID \
16 0x5cb9cb3d, 0x31a4, 0x480c, { 0x94, 0x98, 0x29, 0xd2, 0x69, 0xba, 0xcf, 0xba} \
103 IN BOOLEAN SingleThread,
104 IN UINTN TimeoutInMicroSeconds,
146 IN UINTN TimeoutInMicroseconds,
177 IN BOOLEAN EnableOldBSP
261 IN UINTN TimeoutInMicroSeconds,
276extern EFI_GUID gEdkiiPeiMpServices2PpiGuid;
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_STARTUP_THIS_AP)(IN EDKII_PEI_MP_SERVICES2_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN UINTN ProcessorNumber, IN UINTN TimeoutInMicroseconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_STARTUP_ALL_CPUS)(IN EDKII_PEI_MP_SERVICES2_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN UINTN TimeoutInMicroSeconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_GET_NUMBER_OF_PROCESSORS)(IN EDKII_PEI_MP_SERVICES2_PPI *This, OUT UINTN *NumberOfProcessors, OUT UINTN *NumberOfEnabledProcessors)
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_ENABLEDISABLEAP)(IN EDKII_PEI_MP_SERVICES2_PPI *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableAP, IN UINT32 *HealthFlag OPTIONAL)
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_WHOAMI)(IN EDKII_PEI_MP_SERVICES2_PPI *This, OUT UINTN *ProcessorNumber)
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_GET_PROCESSOR_INFO)(IN EDKII_PEI_MP_SERVICES2_PPI *This, IN UINTN ProcessorNumber, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfoBuffer)
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_STARTUP_ALL_APS)(IN EDKII_PEI_MP_SERVICES2_PPI *This, IN EFI_AP_PROCEDURE Procedure, IN BOOLEAN SingleThread, IN UINTN TimeoutInMicroSeconds, IN VOID *ProcedureArgument OPTIONAL)
EFI_STATUS(EFIAPI * EDKII_PEI_MP_SERVICES_SWITCH_BSP)(IN EDKII_PEI_MP_SERVICES2_PPI *This, IN UINTN ProcessorNumber, IN BOOLEAN EnableOldBSP)
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)