
________________________________________ From: u-boot-bounces@lists.denx.de [u-boot-bounces@lists.denx.de] On Behalf Of Prafulla Wadaskar [prafulla@marvell.com] Sent: Sunday, July 19, 2009 10:57 AM To: Wolfgang Denk Cc: Manas Saksena; Ronen Shitrit; Nicolas Pitre; u-boot@lists.denx.de; Ashish Karkare; Prabhanjan Sarnaik; Lennert Buijtenhek Subject: Re: [U-Boot] [PATCH 2/3] tools: mkimage (type=kwbimage) kirkwood boot image support
Dear Wolfgang Thanks for your quick feedback
-----Original Message----- From: Wolfgang Denk [mailto:wd@denx.de] Sent: Sunday, July 19, 2009 3:33 AM To: Prafulla Wadaskar Cc: u-boot@lists.denx.de; Manas Saksena; Ronen Shitrit; Nicolas Pitre; Ashish Karkare; Prabhanjan Sarnaik; Lennert Buijtenhek Subject: Re: [U-Boot] [PATCH 2/3] tools: mkimage (type=kwbimage) kirkwood boot image support
<snip..>
diff --git a/tools/kwbimage.h b/tools/kwbimage.h new file
mode 100644
index 0000000..c54b701 --- /dev/null +++ b/tools/kwbimage.h ... +/* typedefs */ +typedef char s8; +typedef unsigned char u8;
+typedef int s32; +typedef unsigned int u32;
+typedef short s16; +typedef unsigned short u16;
+typedef long s64; +typedef unsigned long u64;
Please get rid of these.
Hi Wolfgang Any suggestions for this? I could used <linux/types.h> or <asm/types.h> but these typedefs are ifdefed under __KERNEL_STRICT_NAMES and __KERNEL__. I don't wish to redefine or disturb them for kwbimage support
Regards.. Prafulla . .
diff --git a/tools/mkimage.c b/tools/mkimage.c index
c5b593c..9a11071
100644 --- a/tools/mkimage.c +++ b/tools/mkimage.c @@ -24,6 +24,7 @@
#include "mkimage.h" #include <image.h> +#include "kwbimage.h"
extern int errno;
@@ -251,7 +252,13 @@ NXTARG: ; * write dummy header, to be fixed later */ int hdr_size;
- hdr_size = image_get_header_size ();
- if (opt_type == IH_TYPE_KWBIMAGE) {
hdr = kwbimage_get_header_ptr();
hdr_size = kwbimage_get_header_size ();
- } else
hdr_size = image_get_header_size ();
- memset (hdr, 0, hdr_size); if (write(ifd, hdr, hdr_size) != hdr_size) { fprintf (stderr, "%s: Write error on %s: %s\n",
@@ -339,6 +346,19 @@ NXTARG: ;
hdr = (image_header_t *)ptr;
- /* Build new header */
- if (opt_type == IH_TYPE_KWBIMAGE) {
checksum = kwbimage_checksum32((void *)ptr,
sbuf.st_size, 0);
if (write(ifd, &checksum, sizeof(uint32_t))
!= sizeof(uint32_t)) {
fprintf (stderr, "%s: Checksum wr err
on %s: %s\n",
cmdname, imagefile, strerror(errno));
exit (EXIT_FAILURE);
}
sbuf.st_size += sizeof(uint32_t);
kwbimage_set_header (hdr, &sbuf, addr, ep, name);
- } else { checksum = crc32 (0, (const char *)(ptr + hdr_size), sbuf.st_size - hdr_size);
@@ -361,6 +381,7 @@ NXTARG: ;
image_print_contents (hdr);
} (void) munmap((void *)ptr, sbuf.st_size);
/* We're a bit of paranoid */
Hmm... it seems you add only image creation code. But "mkimage -l" should work on such an image, too. And "imls" in U-Boot should be working, too.
Well I will disable other generic mkimage options including -l for kwbimage ;-) Can we add this in second part which is not required too? For me great thing is that we can support kwimage generation through mkimage.
Regards.. Prafulla . .
Best regards,
Wolfgang Denk
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de "Plan to throw one away. You will anyway." - Fred Brooks, "The Mythical Man Month"
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot