diff options
| -rw-r--r-- | include/image.h | 3 | ||||
| -rw-r--r-- | tools/imximage.c | 9 | 
2 files changed, 11 insertions, 1 deletions
| diff --git a/include/image.h b/include/image.h index f54d98330..3a472c9b7 100644 --- a/include/image.h +++ b/include/image.h @@ -179,6 +179,9 @@  #define IH_MAGIC	0x27051956	/* Image Magic Number		*/  #define IH_NMLEN		32	/* Image Name Length		*/ +/* Reused from common.h */ +#define ROUND(a, b)		(((a) + (b) - 1) & ~((b) - 1)) +  /*   * Legacy format image header,   * all data in network byte order (aka natural aka bigendian). diff --git a/tools/imximage.c b/tools/imximage.c index 63f88b6c4..a93d7eb54 100644 --- a/tools/imximage.c +++ b/tools/imximage.c @@ -515,7 +515,14 @@ static void imximage_set_header(void *ptr, struct stat *sbuf, int ifd,  	/* Set the imx header */  	(*set_imx_hdr)(imxhdr, dcd_len, params->ep, imxhdr->flash_offset); -	*header_size_ptr = sbuf->st_size + imxhdr->flash_offset; + +	/* +	 * ROM bug alert +	 * mx53 only loads 512 byte multiples. +	 * The remaining fraction of a block bytes would +	 * not be loaded. +	 */ +	*header_size_ptr = ROUND(sbuf->st_size + imxhdr->flash_offset, 512);  }  int imximage_check_params(struct mkimage_params *params) |