tools: mtk_image: split gfh header verification into a new function
The verification code of gfh header for NAND and non-NAND are identical. It's better to define a individual function to reduce redundancy. Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
This commit is contained in:
parent
6136a23263
commit
687e10ec49
@ -480,6 +480,25 @@ static int mtk_image_vrec_header(struct image_tool_params *params,
|
|||||||
return SHA256_SUM_LEN;
|
return SHA256_SUM_LEN;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int mtk_image_verify_gfh(struct gfh_header *gfh, uint32_t type, int print)
|
||||||
|
{
|
||||||
|
if (strcmp(gfh->file_info.name, GFH_FILE_INFO_NAME))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (le32_to_cpu(gfh->file_info.flash_type) != type)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (print)
|
||||||
|
printf("Load Address: %08x\n",
|
||||||
|
le32_to_cpu(gfh->file_info.load_addr) +
|
||||||
|
le32_to_cpu(gfh->file_info.jump_offset));
|
||||||
|
|
||||||
|
if (print)
|
||||||
|
printf("Architecture: %s\n", is_arm64_image ? "ARM64" : "ARM");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int mtk_image_verify_gen_header(const uint8_t *ptr, int print)
|
static int mtk_image_verify_gen_header(const uint8_t *ptr, int print)
|
||||||
{
|
{
|
||||||
union gen_boot_header *gbh = (union gen_boot_header *)ptr;
|
union gen_boot_header *gbh = (union gen_boot_header *)ptr;
|
||||||
@ -542,21 +561,7 @@ static int mtk_image_verify_gen_header(const uint8_t *ptr, int print)
|
|||||||
|
|
||||||
gfh = (struct gfh_header *)(ptr + gfh_offset);
|
gfh = (struct gfh_header *)(ptr + gfh_offset);
|
||||||
|
|
||||||
if (strcmp(gfh->file_info.name, GFH_FILE_INFO_NAME))
|
return mtk_image_verify_gfh(gfh, GFH_FLASH_TYPE_GEN, print);
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (le32_to_cpu(gfh->file_info.flash_type) != GFH_FLASH_TYPE_GEN)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (print)
|
|
||||||
printf("Load Address: %08x\n",
|
|
||||||
le32_to_cpu(gfh->file_info.load_addr) +
|
|
||||||
le32_to_cpu(gfh->file_info.jump_offset));
|
|
||||||
|
|
||||||
if (print)
|
|
||||||
printf("Architecture: %s\n", is_arm64_image ? "ARM64" : "ARM");
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mtk_image_verify_nand_header(const uint8_t *ptr, int print)
|
static int mtk_image_verify_nand_header(const uint8_t *ptr, int print)
|
||||||
@ -610,21 +615,7 @@ static int mtk_image_verify_nand_header(const uint8_t *ptr, int print)
|
|||||||
|
|
||||||
gfh = (struct gfh_header *)(ptr + 2 * le16_to_cpu(nh->pagesize));
|
gfh = (struct gfh_header *)(ptr + 2 * le16_to_cpu(nh->pagesize));
|
||||||
|
|
||||||
if (strcmp(gfh->file_info.name, GFH_FILE_INFO_NAME))
|
return mtk_image_verify_gfh(gfh, GFH_FLASH_TYPE_NAND, print);
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (le32_to_cpu(gfh->file_info.flash_type) != GFH_FLASH_TYPE_NAND)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (print)
|
|
||||||
printf("Load Address: %08x\n",
|
|
||||||
le32_to_cpu(gfh->file_info.load_addr) +
|
|
||||||
le32_to_cpu(gfh->file_info.jump_offset));
|
|
||||||
|
|
||||||
if (print)
|
|
||||||
printf("Architecture: %s\n", is_arm64_image ? "ARM64" : "ARM");
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t crc32be_cal(const void *data, size_t length)
|
static uint32_t crc32be_cal(const void *data, size_t length)
|
||||||
|
Loading…
Reference in New Issue
Block a user