From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] common/image.c: Make boot_get_ramdisk() perform a check for Android images
Date: Thu, 27 Aug 2015 17:47:35 -0400 [thread overview]
Message-ID: <20150827214735.GE25532@bill-the-cat> (raw)
In-Reply-To: <CAL_JsqLc7Uok3MTTgJNdzywOsKVtU+-EtbEi6=r6WdNjuw2RYw@mail.gmail.com>
On Thu, Aug 27, 2015 at 04:04:30PM -0500, Rob Herring wrote:
> On Thu, Aug 27, 2015 at 2:42 PM, Tom Rini <trini@konsulko.com> wrote:
> > In 2dd4632 the check for where a ramdisk is found on an Android image
> > was got moved into the "normal" loop here, causing people to have to
> > pass the kernel address in the ramdisk address location in order to have
> > Android boot still. This changed previous behavior so perform a check
> > early in the function to see if we have an Android image and if so use
> > that as where to look for the ramdisk (which is what the rest of the
> > code here expects).
> >
> > Cc: Rob Herring <robh@kernel.org>
> > Reported-by: Paul Kocialkowski <contact@paulk.fr>
> > Signed-off-by: Tom Rini <trini@konsulko.com>
> > ---
> > common/image.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/common/image.c b/common/image.c
> > index ca721c5..e938bea 100644
> > --- a/common/image.c
> > +++ b/common/image.c
> > @@ -907,6 +907,15 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
> > if (argc >= 2)
> > select = argv[1];
>
> Perhaps this check should come second so you could override the
> ramdisk with "bootm <bootimg> <ramdisk>". Then again, maybe people
> should have to pick between a bootimg or separate components.
Yeah, no, I'm not convinced there's a good case for "Android image
kernel+ramdisk 1" kernel + "Android image+ramdisk 2" ramdisk where you
wouldn't be cobbling that particular combination together outside of
U-Boot anyhow. Is there really? And we still allow for disabling the
ramdisk. Or of course just loading separate components and booting
Android that way.
> > +#ifdef CONFIG_ANDROID_BOOT_IMAGE
> > + /*
> > + * Look for an Android boot image.
> > + */
> > + buf = map_sysmem(images->os.start, 0);
> > + if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
> > + select = argv[0];
> > +#endif
>
> Tracing code paths in these functions is bad enough. I would do
> something like this to simplify the code path:
>
> buf = map_sysmem(images->os.start, 0);
> if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID) {
> ret = android_image_get_ramdisk((void *)images->os.start, rd_start, &rd_len);
> *rd_end = *rd_start + rd_len;
> return ret;
> }
>
> And then remove the case statement. We loose dataflash copy and some
> debug prints.
But then we're also saying Android images are a special case that needs
to be treated differently than everyone else here.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150827/958bf440/attachment.sig>
next prev parent reply other threads:[~2015-08-27 21:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-27 19:42 [U-Boot] [PATCH] common/image.c: Make boot_get_ramdisk() perform a check for Android images Tom Rini
2015-08-27 21:04 ` Rob Herring
2015-08-27 21:47 ` Tom Rini [this message]
2015-08-28 15:35 ` Rob Herring
2015-08-28 16:24 ` Tom Rini
2015-09-01 13:50 ` Paul Kocialkowski
2015-10-05 19:23 ` Rob Herring
2015-10-07 18:07 ` Paul Kocialkowski
2015-10-10 13:10 ` Paul Kocialkowski
2015-10-11 13:09 ` Tom Rini
2015-10-12 15:15 ` [U-Boot] " Tom Rini
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=20150827214735.GE25532@bill-the-cat \
--to=trini@konsulko.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.