drivers/intel/fsp1_1: Replace for/break with returns
Coverity does not like the use of for/break, switch to using returns instead. Found-by: Coverity CID 1349855 TEST=Build and run on Galileo Gen2 Change-Id: I4e5767b09faefa275dd32d3b76dda063f7c22f6f Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-on: https://review.coreboot.org/14869 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
c1cbc605cd
commit
00c35c1a98
|
@ -41,61 +41,53 @@ FSP_INFO_HEADER *find_fsp(uintptr_t fsp_base_address)
|
||||||
|
|
||||||
u32 *image_id;
|
u32 *image_id;
|
||||||
|
|
||||||
for (;;) {
|
/* Get the FSP binary base address in CBFS */
|
||||||
/* Get the FSP binary base address in CBFS */
|
fsp_ptr.u32 = fsp_base_address;
|
||||||
fsp_ptr.u32 = fsp_base_address;
|
|
||||||
|
|
||||||
/* Check the FV signature, _FVH */
|
/* Check the FV signature, _FVH */
|
||||||
if (fsp_ptr.fvh->Signature != 0x4856465F) {
|
if (fsp_ptr.fvh->Signature != 0x4856465F) {
|
||||||
fsp_ptr.u8 = (u8 *)ERROR_NO_FV_SIG;
|
return (FSP_INFO_HEADER *)ERROR_NO_FV_SIG;
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Locate the file header which follows the FV header. */
|
|
||||||
fsp_ptr.u8 += fsp_ptr.fvh->ExtHeaderOffset;
|
|
||||||
fsp_ptr.u8 += fsp_ptr.fveh->ExtHeaderSize;
|
|
||||||
fsp_ptr.u8 = (u8 *)ALIGN_UP(fsp_ptr.u32, 8);
|
|
||||||
|
|
||||||
/* Check the FFS GUID */
|
|
||||||
if ((((u32 *)&fsp_ptr.ffh->Name)[0] != 0x912740BE)
|
|
||||||
|| (((u32 *)&fsp_ptr.ffh->Name)[1] != 0x47342284)
|
|
||||||
|| (((u32 *)&fsp_ptr.ffh->Name)[2] != 0xB08471B9)
|
|
||||||
|| (((u32 *)&fsp_ptr.ffh->Name)[3] != 0x0C3F3527)) {
|
|
||||||
fsp_ptr.u8 = (u8 *)ERROR_NO_FFS_GUID;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Locate the Raw Section Header */
|
|
||||||
fsp_ptr.u8 += sizeof(EFI_FFS_FILE_HEADER);
|
|
||||||
|
|
||||||
if (fsp_ptr.rs->Type != EFI_SECTION_RAW) {
|
|
||||||
fsp_ptr.u8 = (u8 *)ERROR_NO_INFO_HEADER;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Locate the FSP INFO Header which follows the Raw Header. */
|
|
||||||
fsp_ptr.u8 += sizeof(EFI_RAW_SECTION);
|
|
||||||
|
|
||||||
/* Verify that the FSP base address.*/
|
|
||||||
if (fsp_ptr.fih->ImageBase != fsp_base_address) {
|
|
||||||
fsp_ptr.u8 = (u8 *)ERROR_IMAGEBASE_MISMATCH;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Verify the FSP Signature */
|
|
||||||
if (fsp_ptr.fih->Signature != FSP_SIG) {
|
|
||||||
fsp_ptr.u8 = (u8 *)ERROR_INFO_HEAD_SIG_MISMATCH;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Verify the FSP ID */
|
|
||||||
image_id = (u32 *)&fsp_ptr.fih->ImageId[0];
|
|
||||||
if ((image_id[0] != fsp_id.int_id[0])
|
|
||||||
|| (image_id[1] != fsp_id.int_id[1]))
|
|
||||||
fsp_ptr.u8 = (u8 *)ERROR_FSP_SIG_MISMATCH;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Locate the file header which follows the FV header. */
|
||||||
|
fsp_ptr.u8 += fsp_ptr.fvh->ExtHeaderOffset;
|
||||||
|
fsp_ptr.u8 += fsp_ptr.fveh->ExtHeaderSize;
|
||||||
|
fsp_ptr.u8 = (u8 *)ALIGN_UP(fsp_ptr.u32, 8);
|
||||||
|
|
||||||
|
/* Check the FFS GUID */
|
||||||
|
if ((((u32 *)&fsp_ptr.ffh->Name)[0] != 0x912740BE)
|
||||||
|
|| (((u32 *)&fsp_ptr.ffh->Name)[1] != 0x47342284)
|
||||||
|
|| (((u32 *)&fsp_ptr.ffh->Name)[2] != 0xB08471B9)
|
||||||
|
|| (((u32 *)&fsp_ptr.ffh->Name)[3] != 0x0C3F3527)) {
|
||||||
|
return (FSP_INFO_HEADER *)ERROR_NO_FFS_GUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Locate the Raw Section Header */
|
||||||
|
fsp_ptr.u8 += sizeof(EFI_FFS_FILE_HEADER);
|
||||||
|
|
||||||
|
if (fsp_ptr.rs->Type != EFI_SECTION_RAW) {
|
||||||
|
return (FSP_INFO_HEADER *)ERROR_NO_INFO_HEADER;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Locate the FSP INFO Header which follows the Raw Header. */
|
||||||
|
fsp_ptr.u8 += sizeof(EFI_RAW_SECTION);
|
||||||
|
|
||||||
|
/* Verify that the FSP base address.*/
|
||||||
|
if (fsp_ptr.fih->ImageBase != fsp_base_address) {
|
||||||
|
return (FSP_INFO_HEADER *)ERROR_IMAGEBASE_MISMATCH;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Verify the FSP Signature */
|
||||||
|
if (fsp_ptr.fih->Signature != FSP_SIG) {
|
||||||
|
return (FSP_INFO_HEADER *)ERROR_INFO_HEAD_SIG_MISMATCH;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Verify the FSP ID */
|
||||||
|
image_id = (u32 *)&fsp_ptr.fih->ImageId[0];
|
||||||
|
if ((image_id[0] != fsp_id.int_id[0])
|
||||||
|
|| (image_id[1] != fsp_id.int_id[1]))
|
||||||
|
return (FSP_INFO_HEADER *)ERROR_FSP_SIG_MISMATCH;
|
||||||
|
|
||||||
return fsp_ptr.fih;
|
return fsp_ptr.fih;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue