]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/SecCore/SecMain.c
UefiCpuPkg: support single EFI_PEI_CORE_FV_LOCATION_PPI in PpiList
[mirror_edk2.git] / UefiCpuPkg / SecCore / SecMain.c
index 66c952b897fafdcbf2dbaca5713ddfac32a2ca0f..5d5e7f17dced59c9f2253d7b2b14d53cf7784d42 100644 (file)
@@ -238,9 +238,8 @@ SecStartupPhase2(
   // is enabled.\r
   //\r
   if (PpiList != NULL) {\r
-    for (Index = 0;\r
-      (PpiList[Index].Flags & EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST) != EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;\r
-      Index++) {\r
+    Index = 0;\r
+    do {\r
       if (CompareGuid (PpiList[Index].Guid, &gEfiPeiCoreFvLocationPpiGuid) &&\r
           (((EFI_PEI_CORE_FV_LOCATION_PPI *) PpiList[Index].Ppi)->PeiCoreFvLocation != 0)\r
          ) {\r
@@ -256,12 +255,12 @@ SecStartupPhase2(
           break;\r
         } else {\r
           //\r
-          // PeiCore not found\r
+          // Invalid PeiCore FV provided by platform\r
           //\r
           CpuDeadLoop ();\r
         }\r
       }\r
-    }\r
+    } while ((PpiList[Index++].Flags & EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST) != EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST);\r
   }\r
   //\r
   // If EFI_PEI_CORE_FV_LOCATION_PPI not found, try to locate PeiCore from BFV.\r