X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=UefiCpuPkg%2FSecCore%2FSecMain.c;fp=UefiCpuPkg%2FSecCore%2FSecMain.c;h=5d5e7f17dced59c9f2253d7b2b14d53cf7784d42;hp=66c952b897fafdcbf2dbaca5713ddfac32a2ca0f;hb=8a1305a11f3bda2d6c1ab758e4aea79ee021dd1c;hpb=7bf525599713703a60c4f300bd82787545a74a52 diff --git a/UefiCpuPkg/SecCore/SecMain.c b/UefiCpuPkg/SecCore/SecMain.c index 66c952b897..5d5e7f17dc 100644 --- a/UefiCpuPkg/SecCore/SecMain.c +++ b/UefiCpuPkg/SecCore/SecMain.c @@ -238,9 +238,8 @@ SecStartupPhase2( // is enabled. // if (PpiList != NULL) { - for (Index = 0; - (PpiList[Index].Flags & EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST) != EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST; - Index++) { + Index = 0; + do { if (CompareGuid (PpiList[Index].Guid, &gEfiPeiCoreFvLocationPpiGuid) && (((EFI_PEI_CORE_FV_LOCATION_PPI *) PpiList[Index].Ppi)->PeiCoreFvLocation != 0) ) { @@ -256,12 +255,12 @@ SecStartupPhase2( break; } else { // - // PeiCore not found + // Invalid PeiCore FV provided by platform // CpuDeadLoop (); } } - } + } while ((PpiList[Index++].Flags & EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST) != EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST); } // // If EFI_PEI_CORE_FV_LOCATION_PPI not found, try to locate PeiCore from BFV.