From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
Cc: Stephen Warren <swarren@nvidia.com>,
Nicolas Pitre <nico@fluxnic.net>,
Peter De Schrijver <pdeschrijver@nvidia.com>,
Olof Johansson <olof@lixom.net>,
Andre Renaud <andre@bluewatersys.com>,
Tim Bird <tim.bird@am.sony.com>, Colin Cross <ccross@android.com>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 1/2] ARM: Add Kconfig option to use mkimage -T kernel_noload
Date: Thu, 1 Mar 2012 05:55:43 +0100 [thread overview]
Message-ID: <20120301045543.GL3318@game.jcrosoft.org> (raw)
In-Reply-To: <20120229205901.GR14173@pengutronix.de>
On 21:59 Wed 29 Feb , Uwe Kleine-König wrote:
> On Wed, Feb 29, 2012 at 08:45:27PM +0000, Russell King - ARM Linux wrote:
> > On Wed, Feb 29, 2012 at 09:39:58PM +0100, Uwe Kleine-König wrote:
> > > I'd bet your platform has cache support in the decompressor without
> > > knowing which platform you use. I suggest commenting out
> > >
> > > bl cache_on
> > >
> > > in arch/arm/boot/compressed/head.S to see the difference.
> > >
> > > How do you build the uImage containing the zImage? If you use the
> > > in-kernel uImage target booting that usually means:
> > >
> > > - move the zImage to ZRELADDR
> > > - jump into zImage
> > > - decompress zImage to somewhere else
> > > - move decompressed image to ZRELADDR
> > > - jump to ZRELADDR
> > >
> > > That is you have two relocations because the first location for sure
> > > conflicts with the decompressed image.
> >
> > Actually, we do this slightly differently nowadays. Inside zImage:
> >
> > - if zImage location conflicts, move the decompressed data
> s/de//
>
> > and decompressor to another location
> > - decompress zImage to ZRELADDR
> > - jump to ZRELADDR
> >
> > That reduces the size required for copying. Of course, that copy can
> > (as it's always been the case) be totally eliminated by ensuring that
> > you load the zImage out of the way of the decompressed image.
> >
> > So, really, comparing a standard uImage produced by the standard kernel
> > with gzipped Image is far from a fair comparison. And that's actually
> > another argument for getting rid of the uImage target... it may make
> > people think a bit about what they're doing rather than accepting
> > whatever default location someone else chose for their kernel.
> I'm all in favour to remove the uImage target because back in 2007 we
> already had a similar discussion[1]. (Back then I still thought that
> improving the uImage support would be a good idea.)
>
> That said I think *in general* having support for U-Boot in the kernel
> is fine because I think U-Boot is the bootloader used most. But if you
> need some Kconfig settings or more than one Makefile target I think just
> building an Image or zImage and doing the U-Boot wrapping without the
> help of Linux' build system is preferable.
Agreed at 200%
Best Regards,
J.
WARNING: multiple messages have this Message-ID (diff)
From: plagnioj@jcrosoft.com (Jean-Christophe PLAGNIOL-VILLARD)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] ARM: Add Kconfig option to use mkimage -T kernel_noload
Date: Thu, 1 Mar 2012 05:55:43 +0100 [thread overview]
Message-ID: <20120301045543.GL3318@game.jcrosoft.org> (raw)
In-Reply-To: <20120229205901.GR14173@pengutronix.de>
On 21:59 Wed 29 Feb , Uwe Kleine-K?nig wrote:
> On Wed, Feb 29, 2012 at 08:45:27PM +0000, Russell King - ARM Linux wrote:
> > On Wed, Feb 29, 2012 at 09:39:58PM +0100, Uwe Kleine-K?nig wrote:
> > > I'd bet your platform has cache support in the decompressor without
> > > knowing which platform you use. I suggest commenting out
> > >
> > > bl cache_on
> > >
> > > in arch/arm/boot/compressed/head.S to see the difference.
> > >
> > > How do you build the uImage containing the zImage? If you use the
> > > in-kernel uImage target booting that usually means:
> > >
> > > - move the zImage to ZRELADDR
> > > - jump into zImage
> > > - decompress zImage to somewhere else
> > > - move decompressed image to ZRELADDR
> > > - jump to ZRELADDR
> > >
> > > That is you have two relocations because the first location for sure
> > > conflicts with the decompressed image.
> >
> > Actually, we do this slightly differently nowadays. Inside zImage:
> >
> > - if zImage location conflicts, move the decompressed data
> s/de//
>
> > and decompressor to another location
> > - decompress zImage to ZRELADDR
> > - jump to ZRELADDR
> >
> > That reduces the size required for copying. Of course, that copy can
> > (as it's always been the case) be totally eliminated by ensuring that
> > you load the zImage out of the way of the decompressed image.
> >
> > So, really, comparing a standard uImage produced by the standard kernel
> > with gzipped Image is far from a fair comparison. And that's actually
> > another argument for getting rid of the uImage target... it may make
> > people think a bit about what they're doing rather than accepting
> > whatever default location someone else chose for their kernel.
> I'm all in favour to remove the uImage target because back in 2007 we
> already had a similar discussion[1]. (Back then I still thought that
> improving the uImage support would be a good idea.)
>
> That said I think *in general* having support for U-Boot in the kernel
> is fine because I think U-Boot is the bootloader used most. But if you
> need some Kconfig settings or more than one Makefile target I think just
> building an Image or zImage and doing the U-Boot wrapping without the
> help of Linux' build system is preferable.
Agreed at 200%
Best Regards,
J.
next prev parent reply other threads:[~2012-03-01 4:55 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-29 0:03 [PATCH 1/2] ARM: Add Kconfig option to use mkimage -T kernel_noload Stephen Warren
2012-02-29 0:03 ` Stephen Warren
[not found] ` <1330473804-23348-1-git-send-email-swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-02-29 0:03 ` [PATCH 2/2] ARM: tegra: Add zreladdr etc to Makefile.boot for Tegra30 Stephen Warren
2012-02-29 0:03 ` Stephen Warren
2012-03-01 17:01 ` [PATCH 1/2] ARM: Add Kconfig option to use mkimage -T kernel_noload Stephen Warren
2012-03-01 17:01 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF17BE861683-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-03-05 4:21 ` Olof Johansson
2012-03-05 4:21 ` Olof Johansson
2012-03-05 20:29 ` Nicolas Pitre
2012-03-05 20:29 ` Nicolas Pitre
2012-02-29 12:29 ` Jean-Christophe PLAGNIOL-VILLARD
2012-02-29 12:29 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20120229122942.GF3318-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2012-02-29 16:58 ` Stephen Warren
2012-02-29 16:58 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF17BDDF206A-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-02-29 18:14 ` Jean-Christophe PLAGNIOL-VILLARD
2012-02-29 18:14 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20120229181430.GI3318-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2012-02-29 18:33 ` Tim Bird
2012-02-29 18:33 ` Tim Bird
2012-02-29 18:50 ` Jean-Christophe PLAGNIOL-VILLARD
2012-02-29 18:50 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20120229185013.GJ3318-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2012-03-12 17:40 ` Marek Vasut
2012-03-12 17:40 ` Marek Vasut
[not found] ` <201203121840.49776.marek.vasut-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-03-12 17:44 ` Jean-Christophe PLAGNIOL-VILLARD
2012-03-12 17:44 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <4F4E6F96.8080907-mEdOJwZ7QcZBDgjK7y7TUQ@public.gmane.org>
2012-02-29 19:12 ` Uwe Kleine-König
2012-02-29 19:12 ` Uwe Kleine-König
[not found] ` <20120229191209.GN14173-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-02-29 19:17 ` Stephen Warren
2012-02-29 19:17 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF17BDDF2122-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-02-29 19:44 ` Uwe Kleine-König
2012-02-29 19:44 ` Uwe Kleine-König
[not found] ` <20120229194409.GO14173-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-02-29 19:59 ` Stephen Warren
2012-02-29 19:59 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF17BDDF2155-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-02-29 20:12 ` Andre Renaud
2012-02-29 20:12 ` Andre Renaud
[not found] ` <4F4E86A1.8010506-7Wk5F4Od5/oYd5yxfr4S2w@public.gmane.org>
2012-02-29 20:16 ` Stephen Warren
2012-02-29 20:16 ` Stephen Warren
2012-02-29 20:19 ` Russell King - ARM Linux
2012-02-29 20:19 ` Russell King - ARM Linux
[not found] ` <20120229201938.GB16999-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-02-29 20:25 ` Andre Renaud
2012-02-29 20:25 ` Andre Renaud
[not found] ` <4F4E89A8.4080909-7Wk5F4Od5/oYd5yxfr4S2w@public.gmane.org>
2012-02-29 20:29 ` Russell King - ARM Linux
2012-02-29 20:29 ` Russell King - ARM Linux
2012-02-29 20:39 ` Uwe Kleine-König
2012-02-29 20:39 ` Uwe Kleine-König
[not found] ` <20120229203958.GQ14173-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-02-29 20:45 ` Russell King - ARM Linux
2012-02-29 20:45 ` Russell King - ARM Linux
[not found] ` <20120229204527.GD16999-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2012-02-29 20:59 ` Uwe Kleine-König
2012-02-29 20:59 ` Uwe Kleine-König
2012-03-01 4:55 ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2012-03-01 4:55 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20120229205901.GR14173-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-03-12 17:42 ` Marek Vasut
2012-03-12 17:42 ` Marek Vasut
2012-02-29 21:27 ` Stephen Warren
2012-02-29 21:27 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF17BDDF21A1-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-02-29 22:28 ` Andre Renaud
2012-02-29 22:28 ` Andre Renaud
2012-02-29 20:30 ` Uwe Kleine-König
2012-02-29 20:30 ` Uwe Kleine-König
2012-02-29 23:53 ` Ryan Mallon
2012-02-29 23:53 ` Ryan Mallon
[not found] ` <4F4EBA8C.1040408-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-03-12 17:44 ` Marek Vasut
2012-03-12 17:44 ` Marek Vasut
2012-03-01 15:34 ` Mark Brown
2012-03-01 15:34 ` Mark Brown
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=20120301045543.GL3318@game.jcrosoft.org \
--to=plagnioj@jcrosoft.com \
--cc=andre@bluewatersys.com \
--cc=ccross@android.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-tegra@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nico@fluxnic.net \
--cc=olof@lixom.net \
--cc=pdeschrijver@nvidia.com \
--cc=swarren@nvidia.com \
--cc=tim.bird@am.sony.com \
--cc=u.kleine-koenig@pengutronix.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.