31 Status =
gBS->LocateProtocol (&gEfiMpServiceProtocolGuid,
NULL, (VOID **)&MpServices->Protocol);
48 IN VOID *ProcedureArgument
53 Status = MpServices.Protocol->StartupAllAPs (MpServices.Protocol, Procedure,
FALSE,
NULL, 0, ProcedureArgument,
NULL);
54 if (Status == EFI_NOT_STARTED) {
64 Procedure (ProcedureArgument);
83 Status = MpServices.Protocol->GetProcessorInfo (MpServices.Protocol, ProcessorNum, ProcessorInfo);
102 Status = MpServices.Protocol->WhoAmI (MpServices.Protocol, &ProcessorNum);
105 return (UINT32)ProcessorNum;
121 UINTN NumberOfProcessor;
122 UINTN NumberOfEnabledProcessor;
124 Status = MpServices.Protocol->GetNumberOfProcessors (MpServices.Protocol, &NumberOfProcessor, &NumberOfEnabledProcessor);
127 return (UINT32)NumberOfProcessor;
UINT32 CpuCacheInfoWhoAmI(IN MP_SERVICES MpServices)
EFI_STATUS CpuCacheInfoGetMpServices(OUT MP_SERVICES *MpServices)
UINT32 CpuCacheInfoGetNumberOfProcessors(IN MP_SERVICES MpServices)
VOID CpuCacheInfoGetProcessorInfo(IN MP_SERVICES MpServices, IN UINTN ProcessorNum, OUT EFI_PROCESSOR_INFORMATION *ProcessorInfo)
VOID CpuCacheInfoStartupAllCPUs(IN MP_SERVICES MpServices, IN EFI_AP_PROCEDURE Procedure, IN VOID *ProcedureArgument)
#define ASSERT_EFI_ERROR(StatusParameter)
VOID(EFIAPI * EFI_AP_PROCEDURE)(IN OUT VOID *Buffer)