________________________________________ From: u-boot-boun...@lists.denx.de [u-boot-boun...@lists.denx.de] On Behalf Of Prafulla Wadaskar [prafu...@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:w...@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: > w...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot