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:
Pali Rohár 2023-03-29 21:25:54 +02:00 committed by Stefan Roese
parent 4548b37a29
commit 2972d7d62f
30 changed files with 41 additions and 29 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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,

View file

@ -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)
{ {

View file

@ -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
* *

View file

@ -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,

View file

@ -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;

View file

@ -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",

View file

@ -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.

View file

@ -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)
{ {
} }

View file

@ -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)
{ {
} }

View file

@ -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);

View file

@ -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;

View file

@ -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;

View file

@ -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, &params);
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);

View file

@ -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;

View file

@ -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);

View file

@ -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 =

View file

@ -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");
} }

View file

@ -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;

View file

@ -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

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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);

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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_ */