
Hi,
I found a problem with Mutli-file use of mkimage (using "-T multi") and fixed in my old u-boot-0.4.0 but my fix seemed to filter through too many files when I tried to do it (more correctly) on the cvs tree.
Here's the problem (using 21-Oct-03 cvs files):
When this address in cmd_bootm.c:1122 inside print_image_hdr() (is caculated:
ulong *len_ptr = (ulong *)((ulong)hdr + sizeof(image_header_t));
it points to memory that wasn't copied back on cmd_bootm.c:174:
memmove (&header, (char *)addr, sizeof(image_header_t));
because len_ptr points to the address header[1] and the memmove only moved header[0]. So I changed line 140 to:
image_header_t header[2]; /* enough room for multi-image's size bytes too */
and all occurances of memmove (&header... from:
memmove (&header, (char *)addr, sizeof(image_header_t)); to: memmove (&header, (char *)addr, sizeof(header));
But cmd_autoscript.c,common_util.c, armlinux.c uses &header and I'm not sure if this is the right fix. Maybe someone who knows this stuff can give me some direction.
Thanks much.
Rick