]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/CpuDxe/CpuMp.c
UefiCpuPkg/CpuDxe: Fix duplicated status code report
[mirror_edk2.git] / UefiCpuPkg / CpuDxe / CpuMp.c
index a619a2b0e32d0cffc0e13d4af3e54f977fc5794e..3e4f83fac25e0025dba28f5f92d188d7814d7454 100644 (file)
@@ -539,6 +539,7 @@ CollectBistDataFromHob (
   UINTN                                 ProcessorNumber;\r
   EFI_PROCESSOR_INFORMATION             ProcessorInfo;\r
   EFI_HEALTH_FLAGS                      BistData;\r
+  UINTN                                 CpuInstanceNumber;\r
 \r
   SecPlatformInformation2 = NULL;\r
   SecPlatformInformation  = NULL;\r
@@ -578,25 +579,25 @@ CollectBistDataFromHob (
     }\r
   }\r
 \r
-  while ((NumberOfData--) > 0) {\r
-    for (ProcessorNumber = 0; ProcessorNumber < mNumberOfProcessors; ProcessorNumber++) {\r
-      MpInitLibGetProcessorInfo (ProcessorNumber, &ProcessorInfo, &BistData);\r
-      if (ProcessorInfo.ProcessorId == CpuInstance[NumberOfData].CpuLocation) {\r
+  for (ProcessorNumber = 0; ProcessorNumber < mNumberOfProcessors; ProcessorNumber++) {\r
+    MpInitLibGetProcessorInfo (ProcessorNumber, &ProcessorInfo, &BistData);\r
+    for (CpuInstanceNumber = 0; CpuInstanceNumber < NumberOfData; CpuInstanceNumber++) {\r
+      if (ProcessorInfo.ProcessorId == CpuInstance[CpuInstanceNumber].CpuLocation) {\r
         //\r
         // Update CPU health status for MP Services Protocol according to BIST data.\r
         //\r
-        BistData = CpuInstance[NumberOfData].InfoRecord.IA32HealthFlags;\r
-      }\r
-      if (BistData.Uint32 != 0) {\r
-        //\r
-        // Report Status Code that self test is failed\r
-        //\r
-        REPORT_STATUS_CODE (\r
-          EFI_ERROR_CODE | EFI_ERROR_MAJOR,\r
-          (EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_SELF_TEST)\r
-          );\r
+        BistData = CpuInstance[CpuInstanceNumber].InfoRecord.IA32HealthFlags;\r
       }\r
     }\r
+    if (BistData.Uint32 != 0) {\r
+      //\r
+      // Report Status Code that self test is failed\r
+      //\r
+      REPORT_STATUS_CODE (\r
+        EFI_ERROR_CODE | EFI_ERROR_MAJOR,\r
+        (EFI_COMPUTING_UNIT_HOST_PROCESSOR | EFI_CU_HP_EC_SELF_TEST)\r
+        );\r
+    }\r
   }\r
 }\r
 \r