diff mbox

[U-Boot,3/3] ARM: kwimage: fix v0 format

Message ID 1414713807-22495-1-git-send-email-drEagle@doukki.net
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

DrEagle Oct. 31, 2014, 12:03 a.m. UTC
This patch fix the kwimage tools for version 0 fileformat used for kirkwood
Tested on sheevaplug

Signed-off-by: Gerald Kerma <drEagle@doukki.net>
---
 tools/kwbimage.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Prafulla Wadaskar Oct. 31, 2014, 4:57 a.m. UTC | #1
> -----Original Message-----
> From: Gerald Kerma [mailto:drEagle@doukki.net]
> Sent: 31 October 2014 05:33
> To: u-boot@lists.denx.de; Prafulla Wadaskar; sr@denx.de
> Cc: albert.u.boot@aribaud.net; luka@openwrt.org; Gerald
> Kerma
> Subject: [PATCH 3/3] ARM: kwimage: fix v0 format
> 
> This patch fix the kwimage tools for version 0
> fileformat used for kirkwood
> Tested on sheevaplug
> 
> Signed-off-by: Gerald Kerma <drEagle@doukki.net>
> ---
>  tools/kwbimage.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/kwbimage.c b/tools/kwbimage.c
> index 1120e9b..7e2fb5e 100644
> --- a/tools/kwbimage.c
> +++ b/tools/kwbimage.c
> @@ -324,7 +324,7 @@ static void *image_create_v0(size_t
> *imagesz, struct image_tool_params *params,
>  	main_hdr = image;
> 
>  	/* Fill in the main header */
> -	main_hdr->blocksize = payloadsz + sizeof(uint32_t);
> +	main_hdr->blocksize = payloadsz + sizeof(uint32_t)
> - headersz;
>  	main_hdr->srcaddr   = headersz;
>  	main_hdr->ext       = has_ext;
>  	main_hdr->destaddr  = params->addr;
> @@ -792,8 +792,8 @@ static void
> kwbimage_print_header(const void *ptr)
> 
>  	printf("Image Type:   MVEBU Boot from %s Image\n",
>  	       image_boot_mode_name(mhdr->blockid));
> -	printf("Data Size:    ");
>  	printf("Image version:%d\n", image_version((void
> *)ptr));
> +	printf("Data Size:    ");
>  	genimg_print_size(mhdr->blocksize -
> sizeof(uint32_t));
>  	printf("Load Address: %08x\n", mhdr->destaddr);
>  	printf("Entry Point:  %08x\n", mhdr->execaddr);
> @@ -816,7 +816,8 @@ static int
> kwbimage_verify_header(unsigned char *ptr, int
> image_size,
> 
>  	main_hdr = (void *)ptr;
>  	checksum = image_checksum8(ptr,
> -				   sizeof(struct main_hdr_v0));
> +				   sizeof(struct main_hdr_v0)
> +				   - sizeof(uint8_t));
>  	if (checksum != main_hdr->checksum)
>  		return -FDT_ERR_BADSTRUCTURE;
> 
> @@ -824,7 +825,8 @@ static int
> kwbimage_verify_header(unsigned char *ptr, int
> image_size,
>  	if (image_version((void *)ptr) == 0) {
>  		ext_hdr = (void *)ptr + sizeof(struct
> main_hdr_v0);
>  		checksum = image_checksum8(ext_hdr,
> -					   sizeof(struct ext_hdr_v0));
> +					   sizeof(struct ext_hdr_v0)
> +					   - sizeof(uint8_t));
>  		if (checksum != ext_hdr->checksum)
>  			return -FDT_ERR_BADSTRUCTURE;
>  	}
> --

Thanks Gerald.

Regards...
Prafulla . . .

> 1.9.1
Stefan Roese Oct. 31, 2014, 6:56 a.m. UTC | #2
On 31.10.2014 01:03, Gerald Kerma wrote:
> This patch fix the kwimage tools for version 0 fileformat used for kirkwood
> Tested on sheevaplug
>
> Signed-off-by: Gerald Kerma <drEagle@doukki.net>

I tested this on AXP (version 1 instead of version 0) and found no 
problems here. So:

Tested-by: Stefan Roese <sr@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>

Thanks,
Stefan
Prafulla Wadaskar Nov. 3, 2014, 7:17 a.m. UTC | #3
> -----Original Message-----
> From: Stefan Roese [mailto:sr@denx.de]
> Sent: 31 October 2014 12:26
> To: Gerald Kerma; u-boot@lists.denx.de; Prafulla
> Wadaskar
> Cc: albert.u.boot@aribaud.net; luka@openwrt.org
> Subject: Re: [PATCH 3/3] ARM: kwimage: fix v0 format
> 
> On 31.10.2014 01:03, Gerald Kerma wrote:
> > This patch fix the kwimage tools for version 0
> fileformat used for kirkwood
> > Tested on sheevaplug
> >
> > Signed-off-by: Gerald Kerma <drEagle@doukki.net>
> 
> I tested this on AXP (version 1 instead of version 0)
> and found no
> problems here. So:
> 
> Tested-by: Stefan Roese <sr@denx.de>
> Reviewed-by: Stefan Roese <sr@denx.de>

Acked-By: Prafulla Wadaskar <prafulla@marvell.com>

Hi Tom,
Since the changes are to the generic tools, may you please pull this patch?

Regards...
Prafulla . . .
Tom Rini Nov. 4, 2014, 11:24 p.m. UTC | #4
On Fri, Oct 31, 2014 at 01:03:27AM +0100, Gerald Kerma wrote:

> This patch fix the kwimage tools for version 0 fileformat used for kirkwood
> Tested on sheevaplug
> 
> Signed-off-by: Gerald Kerma <drEagle@doukki.net>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 1120e9b..7e2fb5e 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -324,7 +324,7 @@  static void *image_create_v0(size_t *imagesz, struct image_tool_params *params,
 	main_hdr = image;
 
 	/* Fill in the main header */
-	main_hdr->blocksize = payloadsz + sizeof(uint32_t);
+	main_hdr->blocksize = payloadsz + sizeof(uint32_t) - headersz;
 	main_hdr->srcaddr   = headersz;
 	main_hdr->ext       = has_ext;
 	main_hdr->destaddr  = params->addr;
@@ -792,8 +792,8 @@  static void kwbimage_print_header(const void *ptr)
 
 	printf("Image Type:   MVEBU Boot from %s Image\n",
 	       image_boot_mode_name(mhdr->blockid));
-	printf("Data Size:    ");
 	printf("Image version:%d\n", image_version((void *)ptr));
+	printf("Data Size:    ");
 	genimg_print_size(mhdr->blocksize - sizeof(uint32_t));
 	printf("Load Address: %08x\n", mhdr->destaddr);
 	printf("Entry Point:  %08x\n", mhdr->execaddr);
@@ -816,7 +816,8 @@  static int kwbimage_verify_header(unsigned char *ptr, int image_size,
 
 	main_hdr = (void *)ptr;
 	checksum = image_checksum8(ptr,
-				   sizeof(struct main_hdr_v0));
+				   sizeof(struct main_hdr_v0)
+				   - sizeof(uint8_t));
 	if (checksum != main_hdr->checksum)
 		return -FDT_ERR_BADSTRUCTURE;
 
@@ -824,7 +825,8 @@  static int kwbimage_verify_header(unsigned char *ptr, int image_size,
 	if (image_version((void *)ptr) == 0) {
 		ext_hdr = (void *)ptr + sizeof(struct main_hdr_v0);
 		checksum = image_checksum8(ext_hdr,
-					   sizeof(struct ext_hdr_v0));
+					   sizeof(struct ext_hdr_v0)
+					   - sizeof(uint8_t));
 		if (checksum != ext_hdr->checksum)
 			return -FDT_ERR_BADSTRUCTURE;
 	}