/** Worker function to return processor index. @return The processor index. **/ UINTN GetProcessorIndex ( VOID ) { EFI_STATUS Status; EFI_PEI_MP_SERVICES_PPI *CpuMpPpi; UINTN ProcessorIndex; CpuMpPpi = GetMpPpi (); Status = CpuMpPpi->WhoAmI(GetPeiServicesTablePointer (), CpuMpPpi, &ProcessorIndex); ASSERT_EFI_ERROR (Status); return ProcessorIndex; }
/** Worker function to return processor index. @param CpuFeaturesData Cpu Feature Data structure. @return The processor index. **/ UINTN GetProcessorIndex ( IN CPU_FEATURES_DATA *CpuFeaturesData ) { EFI_STATUS Status; EFI_PEI_MP_SERVICES_PPI *CpuMpPpi; UINTN ProcessorIndex; CpuMpPpi = CpuFeaturesData->MpService.Ppi; // // For two reasons which use NULL for WhoAmI: // 1. This function will be called by APs and AP should not use PeiServices Table // 2. Check WhoAmI implementation, this parameter will not be used. // Status = CpuMpPpi->WhoAmI(NULL, CpuMpPpi, &ProcessorIndex); ASSERT_EFI_ERROR (Status); return ProcessorIndex; }