From: Detlev Zundel <dzu@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Multi-file problem
Date: Wed, 22 Oct 2003 16:33:53 +0200 [thread overview]
Message-ID: <87n0btnxym.fsf@deepthought.outer.space.org> (raw)
In-Reply-To: <E1AC4aV-0003s8-00@c-67-164-61-95.client.comcast.net> (Rick Bronson's message of "Tue, 21 Oct 2003 15:02:47 -0700")
Hi Rick,
> 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.
In a standard setup, the copying into ram is only done so we can
recalculate the header checksum and compare it to the original value.
If you simply want to print the header information (as iminfo does -
cf. image_info()) a pointer to the flash location will do just as
well. I have to admit that I do not fully understand the
HAVE_DATAFLASH code so I cannot comment on this situation but apart
from that you could try replacing the
/* for multi-file images we need the data part, too */
print_image_hdr (hdr);
with
/* for multi-file images we need the data part, too */
print_image_hdr (addr);
If this works, then it surely is less intrusive than your patch.
Cheers
Detlev
--
I haven't lost my mind, I know exactly where I left it.
next prev parent reply other threads:[~2003-10-22 14:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-21 22:02 [U-Boot-Users] Multi-file problem Rick Bronson
2003-10-22 14:33 ` Detlev Zundel [this message]
2003-10-23 3:47 ` Rick Bronson
2003-10-23 13:35 ` Detlev Zundel
2003-10-23 13:37 ` Detlev Zundel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87n0btnxym.fsf@deepthought.outer.space.org \
--to=dzu@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox