]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuMpPei/PeiMpServices.c
UefiCpuPkg/CpuMpPei: Load microcode if found newer revision
[mirror_edk2.git] / UefiCpuPkg / CpuMpPei / PeiMpServices.c
index 625c24a6f40e47160c690444ac49eb3ee4d4bb7e..e784377d674a5db253ed1d1cdcfca92fa5d9a771 100644 (file)
@@ -334,7 +334,7 @@ PeiGetProcessorInfo (
   if (PeiCpuMpData->CpuData[ProcessorNumber].ApicId == GetInitialApicId()) {\r
     ProcessorInfoBuffer->StatusFlag |= PROCESSOR_AS_BSP_BIT;\r
   }\r
-  if (PeiCpuMpData->CpuData[ProcessorNumber].Health.Uint32 == 0) {\r
+  if (PeiCpuMpData->CpuData[ProcessorNumber].CpuHealthy) {\r
     ProcessorInfoBuffer->StatusFlag |= PROCESSOR_HEALTH_STATUS_BIT;\r
   }\r
   if (PeiCpuMpData->CpuData[ProcessorNumber].State == CpuStateDisabled) {\r
@@ -441,6 +441,10 @@ PeiStartupAllAPs (
     return EFI_NOT_FOUND;\r
   }\r
 \r
+  if (Procedure == NULL) {\r
+    return EFI_INVALID_PARAMETER;\r
+  }\r
+\r
   //\r
   // Check whether caller processor is BSP\r
   //\r
@@ -516,7 +520,7 @@ PeiStartupAllAPs (
       if (Index == CallerNumber) {\r
         continue;\r
       }\r
-      WakeUpAP (PeiCpuMpData, FALSE, PeiCpuMpData->CpuData[Index].ApicId, Procedure, ProcedureArgument);\r
+      WakeUpAP (PeiCpuMpData, FALSE, Index, Procedure, ProcedureArgument);\r
       //\r
       // Wait to finish\r
       //\r
@@ -651,7 +655,7 @@ PeiStartupThisAP (
   WaitCountIndex = 0;\r
   FinishedCount = &PeiCpuMpData->FinishedCount;\r
 \r
-  WakeUpAP (PeiCpuMpData, FALSE, PeiCpuMpData->CpuData[ProcessorNumber].ApicId, Procedure, ProcedureArgument);\r
+  WakeUpAP (PeiCpuMpData, FALSE, ProcessorNumber, Procedure, ProcedureArgument);\r
 \r
   //\r
   // Wait to finish\r
@@ -787,7 +791,7 @@ PeiSwitchBSP (
   //\r
   // Need to wakeUp AP (future BSP).\r
   //\r
-  WakeUpAP (PeiCpuMpData, FALSE, PeiCpuMpData->CpuData[ProcessorNumber].ApicId, FutureBSPProc, PeiCpuMpData);\r
+  WakeUpAP (PeiCpuMpData, FALSE, ProcessorNumber, FutureBSPProc, PeiCpuMpData);\r
 \r
   AsmExchangeRole (&PeiCpuMpData->BSPInfo, &PeiCpuMpData->APInfo);\r
 \r