mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 10:26:10 +01:00 
			
		
		
		
	tools: imagetool: Extend print_header() by params argument
This allows image type print_header() callback to access struct image_tool_params *params. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		| @@ -113,7 +113,7 @@ static int get_ais_table_id(uint32_t *ptr) | |||||||
| 	return -1; | 	return -1; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void aisimage_print_header(const void *hdr) | static void aisimage_print_header(const void *hdr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct ais_header *ais_hdr = (struct ais_header *)hdr; | 	struct ais_header *ais_hdr = (struct ais_header *)hdr; | ||||||
| 	uint32_t *ptr; | 	uint32_t *ptr; | ||||||
|   | |||||||
| @@ -182,7 +182,7 @@ static void atmel_print_pmecc_header(const uint32_t word) | |||||||
| 	printf("\t\t====================\n"); | 	printf("\t\t====================\n"); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void atmel_print_header(const void *ptr) | static void atmel_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	uint32_t *ints = (uint32_t *)ptr; | 	uint32_t *ints = (uint32_t *)ptr; | ||||||
| 	size_t pos; | 	size_t pos; | ||||||
|   | |||||||
| @@ -41,6 +41,11 @@ static int image_check_params(struct image_tool_params *params) | |||||||
| 		(params->lflag && (params->dflag || params->fflag))); | 		(params->lflag && (params->dflag || params->fflag))); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | static void image_print_header(const void *ptr, struct image_tool_params *params) | ||||||
|  | { | ||||||
|  | 	image_print_contents(ptr); | ||||||
|  | } | ||||||
|  |  | ||||||
| static int image_verify_header(unsigned char *ptr, int image_size, | static int image_verify_header(unsigned char *ptr, int image_size, | ||||||
| 			struct image_tool_params *params) | 			struct image_tool_params *params) | ||||||
| { | { | ||||||
| @@ -201,7 +206,7 @@ U_BOOT_IMAGE_TYPE( | |||||||
| 	(void *)&header, | 	(void *)&header, | ||||||
| 	image_check_params, | 	image_check_params, | ||||||
| 	image_verify_header, | 	image_verify_header, | ||||||
| 	image_print_contents, | 	image_print_header, | ||||||
| 	image_set_header, | 	image_set_header, | ||||||
| 	image_extract_subimage, | 	image_extract_subimage, | ||||||
| 	image_check_image_types, | 	image_check_image_types, | ||||||
|   | |||||||
| @@ -23,6 +23,11 @@ | |||||||
| #include <image.h> | #include <image.h> | ||||||
| #include <u-boot/crc.h> | #include <u-boot/crc.h> | ||||||
|  |  | ||||||
|  | void fit_print_header(const void *fit, struct image_tool_params *params) | ||||||
|  | { | ||||||
|  | 	fit_print_contents(fit); | ||||||
|  | } | ||||||
|  |  | ||||||
| int fit_verify_header(unsigned char *ptr, int image_size, | int fit_verify_header(unsigned char *ptr, int image_size, | ||||||
| 			struct image_tool_params *params) | 			struct image_tool_params *params) | ||||||
| { | { | ||||||
|   | |||||||
| @@ -10,6 +10,8 @@ | |||||||
| #include "mkimage.h" | #include "mkimage.h" | ||||||
| #include <image.h> | #include <image.h> | ||||||
|  |  | ||||||
|  | void fit_print_header(const void *fit, struct image_tool_params *params); | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * Verify the format of FIT header pointed to by ptr |  * Verify the format of FIT header pointed to by ptr | ||||||
|  * |  * | ||||||
|   | |||||||
| @@ -944,7 +944,7 @@ U_BOOT_IMAGE_TYPE( | |||||||
| 	(void *)&header, | 	(void *)&header, | ||||||
| 	fit_check_params, | 	fit_check_params, | ||||||
| 	fit_verify_header, | 	fit_verify_header, | ||||||
| 	fit_print_contents, | 	fit_print_header, | ||||||
| 	NULL, | 	NULL, | ||||||
| 	fit_extract_contents, | 	fit_extract_contents, | ||||||
| 	fit_check_image_types, | 	fit_check_image_types, | ||||||
|   | |||||||
| @@ -41,7 +41,7 @@ static int gpimage_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return gph_verify_header(gph, 1); | 	return gph_verify_header(gph, 1); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void gpimage_print_header(const void *ptr) | static void gpimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	const struct gp_header *gph = (struct gp_header *)ptr; | 	const struct gp_header *gph = (struct gp_header *)ptr; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -66,7 +66,7 @@ int imagetool_verify_print_header( | |||||||
| 				 */ | 				 */ | ||||||
| 				if ((*curr)->print_header) { | 				if ((*curr)->print_header) { | ||||||
| 					if (!params->quiet) | 					if (!params->quiet) | ||||||
| 						(*curr)->print_header(ptr); | 						(*curr)->print_header(ptr, params); | ||||||
| 				} else { | 				} else { | ||||||
| 					fprintf(stderr, | 					fprintf(stderr, | ||||||
| 						"%s: print_header undefined for %s\n", | 						"%s: print_header undefined for %s\n", | ||||||
| @@ -103,7 +103,7 @@ static int imagetool_verify_print_header_by_type( | |||||||
| 			 */ | 			 */ | ||||||
| 			if (tparams->print_header) { | 			if (tparams->print_header) { | ||||||
| 				if (!params->quiet) | 				if (!params->quiet) | ||||||
| 					tparams->print_header(ptr); | 					tparams->print_header(ptr, params); | ||||||
| 			} else { | 			} else { | ||||||
| 				fprintf(stderr, | 				fprintf(stderr, | ||||||
| 					"%s: print_header undefined for %s\n", | 					"%s: print_header undefined for %s\n", | ||||||
|   | |||||||
| @@ -132,7 +132,7 @@ struct image_type_params { | |||||||
| 	 */ | 	 */ | ||||||
| 	int (*verify_header) (unsigned char *, int, struct image_tool_params *); | 	int (*verify_header) (unsigned char *, int, struct image_tool_params *); | ||||||
| 	/* Prints image information abstracting from image header */ | 	/* Prints image information abstracting from image header */ | ||||||
| 	void (*print_header) (const void *); | 	void (*print_header) (const void *, struct image_tool_params *); | ||||||
| 	/* | 	/* | ||||||
| 	 * The header or image contents need to be set as per image type to | 	 * The header or image contents need to be set as per image type to | ||||||
| 	 * be generated using this callback function. | 	 * be generated using this callback function. | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ static void imx8image_set_header(void *ptr, struct stat *sbuf, int ifd, | |||||||
| { | { | ||||||
| } | } | ||||||
|  |  | ||||||
| static void imx8image_print_header(const void *ptr) | static void imx8image_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -60,7 +60,7 @@ static void imx8mimage_set_header(void *ptr, struct stat *sbuf, int ifd, | |||||||
| { | { | ||||||
| } | } | ||||||
|  |  | ||||||
| static void imx8mimage_print_header(const void *ptr) | static void imx8mimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -813,7 +813,7 @@ static int imximage_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void imximage_print_header(const void *ptr) | static void imximage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct imx_header *imx_hdr = (struct imx_header *) ptr; | 	struct imx_header *imx_hdr = (struct imx_header *) ptr; | ||||||
| 	uint32_t version = detect_imximage_version(imx_hdr); | 	uint32_t version = detect_imximage_version(imx_hdr); | ||||||
|   | |||||||
| @@ -1972,7 +1972,7 @@ static void kwbimage_set_header(void *ptr, struct stat *sbuf, int ifd, | |||||||
| 	free(image); | 	free(image); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void kwbimage_print_header(const void *ptr) | static void kwbimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct main_hdr_v0 *mhdr = (struct main_hdr_v0 *)ptr; | 	struct main_hdr_v0 *mhdr = (struct main_hdr_v0 *)ptr; | ||||||
| 	struct bin_hdr_v0 *bhdr; | 	struct bin_hdr_v0 *bhdr; | ||||||
|   | |||||||
| @@ -125,7 +125,7 @@ static void print_hdr_byte(struct nand_page_0_boot_header *hdr, int ofs) | |||||||
| 	printf("header[%d] = %02x\n", ofs, hdr->data[ofs]); | 	printf("header[%d] = %02x\n", ofs, hdr->data[ofs]); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void lpc32xximage_print_header(const void *ptr) | static void lpc32xximage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct nand_page_0_boot_header *hdr = | 	struct nand_page_0_boot_header *hdr = | ||||||
| 		(struct nand_page_0_boot_header *)ptr; | 		(struct nand_page_0_boot_header *)ptr; | ||||||
|   | |||||||
| @@ -790,7 +790,7 @@ int main(int argc, char **argv) | |||||||
|  |  | ||||||
| 	/* Print the image information by processing image header */ | 	/* Print the image information by processing image header */ | ||||||
| 	if (tparams->print_header) | 	if (tparams->print_header) | ||||||
| 		tparams->print_header (ptr); | 		tparams->print_header (ptr, ¶ms); | ||||||
| 	else { | 	else { | ||||||
| 		fprintf (stderr, "%s: Can't print header for %s\n", | 		fprintf (stderr, "%s: Can't print header for %s\n", | ||||||
| 			params.cmdname, tparams->name); | 			params.cmdname, tparams->name); | ||||||
|   | |||||||
| @@ -510,7 +510,7 @@ static int mtk_image_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return -1; | 	return -1; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void mtk_image_print_header(const void *ptr) | static void mtk_image_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct legacy_img_hdr *hdr = (struct legacy_img_hdr *)ptr; | 	struct legacy_img_hdr *hdr = (struct legacy_img_hdr *)ptr; | ||||||
| 	union lk_hdr *lk = (union lk_hdr *)ptr; | 	union lk_hdr *lk = (union lk_hdr *)ptr; | ||||||
|   | |||||||
| @@ -2239,7 +2239,7 @@ static int mxsimage_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return mxsimage_verify_print_header(params->imagefile, 1); | 	return mxsimage_verify_print_header(params->imagefile, 1); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void mxsimage_print_header(const void *hdr) | static void mxsimage_print_header(const void *hdr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	if (imagefile) | 	if (imagefile) | ||||||
| 		mxsimage_verify_print_header(imagefile, 0); | 		mxsimage_verify_print_header(imagefile, 0); | ||||||
|   | |||||||
| @@ -85,7 +85,7 @@ static void omapimage_print_section(struct ch_settings *chs) | |||||||
| 		chs->flags); | 		chs->flags); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void omapimage_print_header(const void *ptr) | static void omapimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	const struct ch_toc *toc = (struct ch_toc *)ptr; | 	const struct ch_toc *toc = (struct ch_toc *)ptr; | ||||||
| 	const struct gp_header *gph = | 	const struct gp_header *gph = | ||||||
|   | |||||||
| @@ -254,7 +254,7 @@ static int pblimage_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void pblimage_print_header(const void *ptr) | static void pblimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	printf("Image Type:   Freescale PBL Boot Image\n"); | 	printf("Image Type:   Freescale PBL Boot Image\n"); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -481,7 +481,7 @@ int rkcommon_verify_header(unsigned char *buf, int size, | |||||||
| 	return -ENOENT; | 	return -ENOENT; | ||||||
| } | } | ||||||
|  |  | ||||||
| void rkcommon_print_header(const void *buf) | void rkcommon_print_header(const void *buf, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct header0_info header0; | 	struct header0_info header0; | ||||||
| 	struct header0_info_v2 header0_v2; | 	struct header0_info_v2 header0_v2; | ||||||
|   | |||||||
| @@ -68,7 +68,7 @@ int rkcommon_verify_header(unsigned char *buf, int size, | |||||||
|  * |  * | ||||||
|  * @buf:	Pointer to the image (can be a read-only file-mapping) |  * @buf:	Pointer to the image (can be a read-only file-mapping) | ||||||
|  */ |  */ | ||||||
| void rkcommon_print_header(const void *buf); | void rkcommon_print_header(const void *buf, struct image_tool_params *params); | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * rkcommon_need_rc4_spl() - check if rc4 encoded spl is required |  * rkcommon_need_rc4_spl() - check if rc4 encoded spl is required | ||||||
|   | |||||||
| @@ -313,7 +313,7 @@ static void socfpgaimage_print_header_v1(struct socfpga_header_v1 *header) | |||||||
| 	       le16_to_cpu(header->checksum)); | 	       le16_to_cpu(header->checksum)); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void socfpgaimage_print_header(const void *ptr) | static void socfpgaimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	const void *header = ptr + HEADER_OFFSET; | 	const void *header = ptr + HEADER_OFFSET; | ||||||
| 	struct socfpga_header_v0 *header_v0; | 	struct socfpga_header_v0 *header_v0; | ||||||
|   | |||||||
| @@ -99,7 +99,7 @@ static int stm32image_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void stm32image_print_header(const void *ptr) | static void stm32image_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct stm32_header *stm32hdr = (struct stm32_header *)ptr; | 	struct stm32_header *stm32hdr = (struct stm32_header *)ptr; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -82,7 +82,7 @@ static int egon_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return EXIT_SUCCESS; | 	return EXIT_SUCCESS; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void egon_print_header(const void *buf) | static void egon_print_header(const void *buf, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	const struct boot_file_head *header = buf; | 	const struct boot_file_head *header = buf; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -757,7 +757,7 @@ static const char *toc0_item_name(uint32_t name) | |||||||
| 	return "(unknown)"; | 	return "(unknown)"; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void toc0_print_header(const void *buf) | static void toc0_print_header(const void *buf, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	const struct toc0_main_info *main_info = buf; | 	const struct toc0_main_info *main_info = buf; | ||||||
| 	const struct toc0_item_info *item_info = (void *)(main_info + 1); | 	const struct toc0_item_info *item_info = (void *)(main_info + 1); | ||||||
|   | |||||||
| @@ -202,7 +202,7 @@ static int ublimage_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void ublimage_print_header(const void *ptr) | static void ublimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct ubl_header *ubl_hdr = (struct ubl_header *) ptr; | 	struct ubl_header *ubl_hdr = (struct ubl_header *) ptr; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -134,7 +134,7 @@ static void vybridimage_print_hdr_field(struct nand_page_0_boot_header *hdr, | |||||||
| 	printf("header.fcb[%d] = %08x\n", idx, hdr->fcb[idx]); | 	printf("header.fcb[%d] = %08x\n", idx, hdr->fcb[idx]); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void vybridimage_print_header(const void *ptr) | static void vybridimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct nand_page_0_boot_header *hdr = | 	struct nand_page_0_boot_header *hdr = | ||||||
| 		(struct nand_page_0_boot_header *)ptr; | 		(struct nand_page_0_boot_header *)ptr; | ||||||
|   | |||||||
| @@ -163,7 +163,7 @@ static int zynqimage_verify_header(unsigned char *ptr, int image_size, | |||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
|  |  | ||||||
| static void zynqimage_print_header(const void *ptr) | static void zynqimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct zynq_header *zynqhdr = (struct zynq_header *)ptr; | 	struct zynq_header *zynqhdr = (struct zynq_header *)ptr; | ||||||
| 	int i; | 	int i; | ||||||
|   | |||||||
| @@ -209,7 +209,7 @@ static void print_partition(const void *ptr, const struct partition_header *ph) | |||||||
| 	printf("    Checksum   : 0x%08x\n", le32_to_cpu(ph->checksum)); | 	printf("    Checksum   : 0x%08x\n", le32_to_cpu(ph->checksum)); | ||||||
| } | } | ||||||
|  |  | ||||||
| void zynqmpimage_print_header(const void *ptr) | void zynqmpimage_print_header(const void *ptr, struct image_tool_params *params) | ||||||
| { | { | ||||||
| 	struct zynqmp_header *zynqhdr = (struct zynqmp_header *)ptr; | 	struct zynqmp_header *zynqhdr = (struct zynqmp_header *)ptr; | ||||||
| 	int i; | 	int i; | ||||||
|   | |||||||
| @@ -133,6 +133,6 @@ struct zynqmp_header { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| void zynqmpimage_default_header(struct zynqmp_header *ptr); | void zynqmpimage_default_header(struct zynqmp_header *ptr); | ||||||
| void zynqmpimage_print_header(const void *ptr); | void zynqmpimage_print_header(const void *ptr, struct image_tool_params *params); | ||||||
|  |  | ||||||
| #endif /* _ZYNQMPIMAGE_H_ */ | #endif /* _ZYNQMPIMAGE_H_ */ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user