diff options
author | Ye.Li <Ye.Li@freescale.com> | 2014-08-20 16:55:32 +0800 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2014-09-09 16:39:02 +0200 |
commit | 03ea24b2a9f8baab9b857a7c4b4089979c4ae48b (patch) | |
tree | 6be2c968d694f09945287f82f9393e3864340d41 /tools/imximage.c | |
parent | 4aa7ac30a7173934f32db466bd4592cd292e7cc9 (diff) | |
download | u-boot-imx-03ea24b2a9f8baab9b857a7c4b4089979c4ae48b.zip u-boot-imx-03ea24b2a9f8baab9b857a7c4b4089979c4ae48b.tar.gz u-boot-imx-03ea24b2a9f8baab9b857a7c4b4089979c4ae48b.tar.bz2 |
imximage: Fix imximage IVT bug for EIM-NOR boot
The load region size of EIM-NOR are defined to 0. For this case,
the parameter "imximage_init_loadsize" must be calculated.
The imximage tool implements the calculation in the "imximage_generate"
function, but the following function "imximage_set_header" resets the value
and not calculate. This bug cause some fields of IVT head are not
correct, for example the boot_data and DCD overlay the application area.
Signed-off-by: Ye.Li <B37916@freescale.com>
Diffstat (limited to 'tools/imximage.c')
-rw-r--r-- | tools/imximage.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/imximage.c b/tools/imximage.c index 18dc051..faba238 100644 --- a/tools/imximage.c +++ b/tools/imximage.c @@ -568,6 +568,13 @@ static void imximage_set_header(void *ptr, struct stat *sbuf, int ifd, /* Parse dcd configuration file */ dcd_len = parse_cfg_file(imxhdr, params->imagename); + if (imximage_version == IMXIMAGE_V2) { + if (imximage_init_loadsize < imximage_ivt_offset + + sizeof(imx_header_v2_t)) + imximage_init_loadsize = imximage_ivt_offset + + sizeof(imx_header_v2_t); + } + /* Set the imx header */ (*set_imx_hdr)(imxhdr, dcd_len, params->ep, imximage_ivt_offset); |