* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <1317172068-14872-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> @ 2011-09-28 17:50 ` Stephen Warren [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173955580F-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Stephen Warren @ 2011-09-28 17:50 UTC (permalink / raw) To: Peter De Schrijver Cc: Russell King, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Olof Johansson (olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org), Erik Gilling, Arnd Bergmann (arnd-r2nGTMty4D4@public.gmane.org) Peter De Schrijver wrote at Tuesday, September 27, 2011 7:08 PM: > This patch causes the kernel uncompressor to determine the physical address > of the SDRAM at runtime. This allows the kernel to boot on both tegra20 and > tegra30 even though SDRAM is at different physical addresses on both SoCs. > > Signed-off-by: Peter De Schrijver <pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> An alternative would be to simply add that config option to the relevant defconfig/.config file. I see both cases in use in the kernel. Still, the code change this enables looks fine to just turn on all the time, and will be needed for Tegra30 support, so I'm fine just selecting it as you have. Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 472a7f8..474737b 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -596,6 +596,7 @@ config ARCH_TEGRA > select HAVE_CLK > select HAVE_SCHED_CLOCK > select ARCH_HAS_CPUFREQ > + select AUTO_ZRELADDR > help > This enables support for NVIDIA Tegra based systems (Tegra APX, > Tegra 6xx and Tegra 2 series). P.S. Since this patch relates to Tegra, you should CC the Tegra maintainers and list; I've done so on this message. I also added Arnd; he might take this through the arm-soc tree. -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <74CDBE0F657A3D45AFBB94109FB122FF173955580F-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173955580F-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> @ 2011-10-13 23:38 ` Olof Johansson [not found] ` <CAOesGMiuzF47kdmaaFny9Fg1ieox6a75tMFfLRAptvDxz_QPMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Olof Johansson @ 2011-10-13 23:38 UTC (permalink / raw) To: Stephen Warren Cc: Peter De Schrijver, Russell King, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling, Arnd Bergmann (arnd-r2nGTMty4D4@public.gmane.org) Hi, On Wed, Sep 28, 2011 at 10:50 AM, Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote: > Peter De Schrijver wrote at Tuesday, September 27, 2011 7:08 PM: >> This patch causes the kernel uncompressor to determine the physical address >> of the SDRAM at runtime. This allows the kernel to boot on both tegra20 and >> tegra30 even though SDRAM is at different physical addresses on both SoCs. >> >> Signed-off-by: Peter De Schrijver <pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > > An alternative would be to simply add that config option to the relevant > defconfig/.config file. I see both cases in use in the kernel. Still, the > code change this enables looks fine to just turn on all the time, and will > be needed for Tegra30 support, so I'm fine just selecting it as you have. > > Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig >> index 472a7f8..474737b 100644 >> --- a/arch/arm/Kconfig >> +++ b/arch/arm/Kconfig >> @@ -596,6 +596,7 @@ config ARCH_TEGRA >> select HAVE_CLK >> select HAVE_SCHED_CLOCK >> select ARCH_HAS_CPUFREQ >> + select AUTO_ZRELADDR >> help >> This enables support for NVIDIA Tegra based systems (Tegra APX, >> Tegra 6xx and Tegra 2 series). > > P.S. Since this patch relates to Tegra, you should CC the Tegra maintainers > and list; I've done so on this message. I also added Arnd; he might take > this through the arm-soc tree. While it does touch a file outside of arch/arm/mach-tegra, it's for the tegra options and is not likely to cause conflicts upstream. I'll apply it with the rest of tegra patches for 3.2 here. So: Applied, thanks. -Olof ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <CAOesGMiuzF47kdmaaFny9Fg1ieox6a75tMFfLRAptvDxz_QPMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <CAOesGMiuzF47kdmaaFny9Fg1ieox6a75tMFfLRAptvDxz_QPMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2011-10-14 7:15 ` Russell King - ARM Linux 2011-10-14 14:45 ` Stephen Warren 2011-10-14 15:59 ` [PATCH] ARM: mutually exclude ZBOOT_ROM and AUTO_ZRELADDR Olof Johansson 0 siblings, 2 replies; 41+ messages in thread From: Russell King - ARM Linux @ 2011-10-14 7:15 UTC (permalink / raw) To: Olof Johansson Cc: Stephen Warren, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling, Arnd Bergmann (arnd-r2nGTMty4D4@public.gmane.org) On Thu, Oct 13, 2011 at 04:38:46PM -0700, Olof Johansson wrote: > Hi, > > On Wed, Sep 28, 2011 at 10:50 AM, Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote: > > Peter De Schrijver wrote at Tuesday, September 27, 2011 7:08 PM: > >> This patch causes the kernel uncompressor to determine the physical address > >> of the SDRAM at runtime. This allows the kernel to boot on both tegra20 and > >> tegra30 even though SDRAM is at different physical addresses on both SoCs. > >> > >> Signed-off-by: Peter De Schrijver <pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > > > > An alternative would be to simply add that config option to the relevant > > defconfig/.config file. I see both cases in use in the kernel. Still, the > > code change this enables looks fine to just turn on all the time, and will > > be needed for Tegra30 support, so I'm fine just selecting it as you have. > > > > Acked-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > > > >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > >> index 472a7f8..474737b 100644 > >> --- a/arch/arm/Kconfig > >> +++ b/arch/arm/Kconfig > >> @@ -596,6 +596,7 @@ config ARCH_TEGRA > >> select HAVE_CLK > >> select HAVE_SCHED_CLOCK > >> select ARCH_HAS_CPUFREQ > >> + select AUTO_ZRELADDR > >> help > >> This enables support for NVIDIA Tegra based systems (Tegra APX, > >> Tegra 6xx and Tegra 2 series). > > > > P.S. Since this patch relates to Tegra, you should CC the Tegra maintainers > > and list; I've done so on this message. I also added Arnd; he might take > > this through the arm-soc tree. > > While it does touch a file outside of arch/arm/mach-tegra, it's for > the tegra options and is not likely to cause conflicts upstream. I'll > apply it with the rest of tegra patches for 3.2 here. > > So: Applied, thanks. I'll point out that this makes Tegra incompatible with ZBOOT_ROM, which can still be enabled. ZBOOT_ROM=y AUTO_ZRELADDR=y is an invalid configuration at runtime. ^ permalink raw reply [flat|nested] 41+ messages in thread
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 7:15 ` Russell King - ARM Linux @ 2011-10-14 14:45 ` Stephen Warren [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A260-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 2011-10-14 15:59 ` [PATCH] ARM: mutually exclude ZBOOT_ROM and AUTO_ZRELADDR Olof Johansson 1 sibling, 1 reply; 41+ messages in thread From: Stephen Warren @ 2011-10-14 14:45 UTC (permalink / raw) To: Russell King - ARM Linux, Olof Johansson Cc: Peter De Schrijver, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Erik Gilling, Arnd Bergmann (arnd@arndb.de) Russell King wrote at Friday, October 14, 2011 1:15 AM: > On Thu, Oct 13, 2011 at 04:38:46PM -0700, Olof Johansson wrote: > > Hi, > > > > On Wed, Sep 28, 2011 at 10:50 AM, Stephen Warren <swarren@nvidia.com> wrote: > > > Peter De Schrijver wrote at Tuesday, September 27, 2011 7:08 PM: > > >> This patch causes the kernel uncompressor to determine the physical address > > >> of the SDRAM at runtime. This allows the kernel to boot on both tegra20 and > > >> tegra30 even though SDRAM is at different physical addresses on both SoCs. > > >> > > >> Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> > > > > > > An alternative would be to simply add that config option to the relevant > > > defconfig/.config file. I see both cases in use in the kernel. Still, the > > > code change this enables looks fine to just turn on all the time, and will > > > be needed for Tegra30 support, so I'm fine just selecting it as you have. > > > > > > Acked-by: Stephen Warren <swarren@nvidia.com> > > > > > >> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > >> index 472a7f8..474737b 100644 > > >> --- a/arch/arm/Kconfig > > >> +++ b/arch/arm/Kconfig > > >> @@ -596,6 +596,7 @@ config ARCH_TEGRA > > >> select HAVE_CLK > > >> select HAVE_SCHED_CLOCK > > >> select ARCH_HAS_CPUFREQ > > >> + select AUTO_ZRELADDR > > >> help > > >> This enables support for NVIDIA Tegra based systems (Tegra APX, > > >> Tegra 6xx and Tegra 2 series). > > > > > > P.S. Since this patch relates to Tegra, you should CC the Tegra maintainers > > > and list; I've done so on this message. I also added Arnd; he might take > > > this through the arm-soc tree. > > > > While it does touch a file outside of arch/arm/mach-tegra, it's for > > the tegra options and is not likely to cause conflicts upstream. I'll > > apply it with the rest of tegra patches for 3.2 here. > > > > So: Applied, thanks. > > I'll point out that this makes Tegra incompatible with ZBOOT_ROM, which > can still be enabled. ZBOOT_ROM=y AUTO_ZRELADDR=y is an invalid > configuration at runtime. I see that at least one machine solves that by doing: config ARCH_EP93XX ... select AUTO_ZRELADDR if !ZBOOT_ROM That said, given the way Tegra works, ZBOOT_ROM isn't useful; typically, systems don't use NOR flash for storage of the kernel, so I don't think ZBOOT_ROM is likely to be used. Perhaps we should just depend on !ZBOOT_ROM? -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <74CDBE0F657A3D45AFBB94109FB122FF173BE1A260-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A260-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> @ 2011-10-14 15:29 ` Arnd Bergmann [not found] ` <201110141729.41515.arnd-r2nGTMty4D4@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Arnd Bergmann @ 2011-10-14 15:29 UTC (permalink / raw) To: Stephen Warren Cc: Russell King - ARM Linux, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Friday 14 October 2011, Stephen Warren wrote: > Russell King wrote at Friday, October 14, 2011 1:15 AM: > > On Thu, Oct 13, 2011 at 04:38:46PM -0700, Olof Johansson wrote: > > > > I'll point out that this makes Tegra incompatible with ZBOOT_ROM, which > > can still be enabled. ZBOOT_ROM=y AUTO_ZRELADDR=y is an invalid > > configuration at runtime. > > I see that at least one machine solves that by doing: > > config ARCH_EP93XX > ... > select AUTO_ZRELADDR if !ZBOOT_ROM > > That said, given the way Tegra works, ZBOOT_ROM isn't useful; typically, > systems don't use NOR flash for storage of the kernel, so I don't think > ZBOOT_ROM is likely to be used. Perhaps we should just depend on !ZBOOT_ROM? That sounds like a correct fix, but also confusing because the top-level subarchitecture selection should not depend on too many things that are not obvious to someone configuring the kernel. From the perspective of least suprise I would think that instead ZBOOTROM should depend on !ARCH_TEGRA, but there is no precedent for this in the current Kconfig. You mention that tegra30 will require AUTO_ZRELADDR. Does that mean that with tegra30 merged you would no longer be able to build any tegra kernel? If not, the best solution for now would probably be to put AUTO_ZRELADDR into the defconfig for now (provided that tegra20 can still boot without it) and make tegra30 depend on AUTO_ZRELADDR within the tegra Kconfig. This is only a temporary solution I think, because it is one of the areas that we will have to revisit once we make it possible to combine multiple subarchitectures into a single kernel. I have some ideas how I would express that in Kconfig but I'm sure that we will have a lot of debate over it before we coem to a solution that works for everyone. Arnd ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <201110141729.41515.arnd-r2nGTMty4D4@public.gmane.org>]
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <201110141729.41515.arnd-r2nGTMty4D4@public.gmane.org> @ 2011-10-14 16:12 ` Stephen Warren [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A283-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Stephen Warren @ 2011-10-14 16:12 UTC (permalink / raw) To: Arnd Bergmann Cc: Russell King - ARM Linux, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling Arnd Bergmann wrote at Friday, October 14, 2011 9:30 AM: ... > You mention that tegra30 will require AUTO_ZRELADDR. Well, just to be clear, here's the situation I think: Tegra20's SDRAM starts at physical address 0. Tegra30's SDRAM starts at physical address 2G. To support that, we could either: a) Introduce a new Kconfig variable for Tegra30, make T20/T30 mutually exclusive, and update arch/arm/mach-tegra/Makefile.boot to set zreladdr etc. based on the new Tegra30 config variable too. Then, there's no need for AUTO_ZRELADDR anywhere. b) Have no new config variable, build a unified T20/T30 kernel, leave Makefile.boot untouched, and rely on using AUTO_ZRELADDR for Tegra30 to account for the different SDRAM physical addresses. > Does that mean that with tegra30 merged you would no longer be able > to build any tegra kernel? Sorry, I don't quite understand that question. -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <74CDBE0F657A3D45AFBB94109FB122FF173BE1A283-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A283-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> @ 2011-10-14 16:27 ` Arnd Bergmann [not found] ` <201110141827.53906.arnd-r2nGTMty4D4@public.gmane.org> 2011-10-14 17:53 ` Nicolas Pitre 1 sibling, 1 reply; 41+ messages in thread From: Arnd Bergmann @ 2011-10-14 16:27 UTC (permalink / raw) To: Stephen Warren Cc: Russell King - ARM Linux, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Friday 14 October 2011, Stephen Warren wrote: > Arnd Bergmann wrote at Friday, October 14, 2011 9:30 AM: > ... > > You mention that tegra30 will require AUTO_ZRELADDR. > > Well, just to be clear, here's the situation I think: > > Tegra20's SDRAM starts at physical address 0. > > Tegra30's SDRAM starts at physical address 2G. > > To support that, we could either: > > a) Introduce a new Kconfig variable for Tegra30, make T20/T30 mutually > exclusive, and update arch/arm/mach-tegra/Makefile.boot to set zreladdr > etc. based on the new Tegra30 config variable too. Then, there's no need > for AUTO_ZRELADDR anywhere. > > b) Have no new config variable, build a unified T20/T30 kernel, leave > Makefile.boot untouched, and rely on using AUTO_ZRELADDR for Tegra30 to > account for the different SDRAM physical addresses. Ok, thanks for the explanation, that makes it much clearer. For completeness, you could also do both of the above and make T20/T30 mutually exclusive unless AUTO_ZRELADDR is set. That might be more complex than necessary, I don't know. Arnd ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <201110141827.53906.arnd-r2nGTMty4D4@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <201110141827.53906.arnd-r2nGTMty4D4@public.gmane.org> @ 2011-10-14 16:44 ` Olof Johansson [not found] ` <CAOesGMgDwMeVmwo1WJ3tU+ZdjCSJ6F8mY42e_KwTmzAkGQsqmg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2011-10-14 19:20 ` Russell King - ARM Linux 2011-10-14 18:01 ` Nicolas Pitre 1 sibling, 2 replies; 41+ messages in thread From: Olof Johansson @ 2011-10-14 16:44 UTC (permalink / raw) To: Arnd Bergmann Cc: Stephen Warren, Russell King - ARM Linux, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, Oct 14, 2011 at 9:27 AM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote: > On Friday 14 October 2011, Stephen Warren wrote: >> Arnd Bergmann wrote at Friday, October 14, 2011 9:30 AM: >> ... >> > You mention that tegra30 will require AUTO_ZRELADDR. >> >> Well, just to be clear, here's the situation I think: >> >> Tegra20's SDRAM starts at physical address 0. >> >> Tegra30's SDRAM starts at physical address 2G. >> >> To support that, we could either: >> >> a) Introduce a new Kconfig variable for Tegra30, make T20/T30 mutually >> exclusive, and update arch/arm/mach-tegra/Makefile.boot to set zreladdr >> etc. based on the new Tegra30 config variable too. Then, there's no need >> for AUTO_ZRELADDR anywhere. >> >> b) Have no new config variable, build a unified T20/T30 kernel, leave >> Makefile.boot untouched, and rely on using AUTO_ZRELADDR for Tegra30 to >> account for the different SDRAM physical addresses. > > Ok, thanks for the explanation, that makes it much clearer. For > completeness, you could also do both of the above and make T20/T30 mutually > exclusive unless AUTO_ZRELADDR is set. That might be more complex than > necessary, I don't know. That is likely to get messy. Seems like there could be some use for a (silent) option for a platform to indicate that it can do XIP kernel (or zImage), and thus not able to use AUTO_ZRELADDR (or other options that require rewriting text segment of zImage or kernel). Language gets awkard though, since it'd be a negative option (or all platforms would need to add it). MACH_XIP_UNSUPPORTED perhaps? -Olof ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <CAOesGMgDwMeVmwo1WJ3tU+ZdjCSJ6F8mY42e_KwTmzAkGQsqmg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <CAOesGMgDwMeVmwo1WJ3tU+ZdjCSJ6F8mY42e_KwTmzAkGQsqmg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2011-10-14 18:03 ` Nicolas Pitre 0 siblings, 0 replies; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 18:03 UTC (permalink / raw) To: Olof Johansson Cc: Arnd Bergmann, Stephen Warren, Russell King - ARM Linux, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Olof Johansson wrote: > On Fri, Oct 14, 2011 at 9:27 AM, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org> wrote: > > On Friday 14 October 2011, Stephen Warren wrote: > >> Arnd Bergmann wrote at Friday, October 14, 2011 9:30 AM: > >> ... > >> > You mention that tegra30 will require AUTO_ZRELADDR. > >> > >> Well, just to be clear, here's the situation I think: > >> > >> Tegra20's SDRAM starts at physical address 0. > >> > >> Tegra30's SDRAM starts at physical address 2G. > >> > >> To support that, we could either: > >> > >> a) Introduce a new Kconfig variable for Tegra30, make T20/T30 mutually > >> exclusive, and update arch/arm/mach-tegra/Makefile.boot to set zreladdr > >> etc. based on the new Tegra30 config variable too. Then, there's no need > >> for AUTO_ZRELADDR anywhere. > >> > >> b) Have no new config variable, build a unified T20/T30 kernel, leave > >> Makefile.boot untouched, and rely on using AUTO_ZRELADDR for Tegra30 to > >> account for the different SDRAM physical addresses. > > > > Ok, thanks for the explanation, that makes it much clearer. For > > completeness, you could also do both of the above and make T20/T30 mutually > > exclusive unless AUTO_ZRELADDR is set. That might be more complex than > > necessary, I don't know. > > That is likely to get messy. > > Seems like there could be some use for a (silent) option for a > platform to indicate that it can do XIP kernel (or zImage), and thus > not able to use AUTO_ZRELADDR (or other options that require rewriting > text segment of zImage or kernel). > > Language gets awkard though, since it'd be a negative option (or all > platforms would need to add it). MACH_XIP_UNSUPPORTED perhaps? Please hold on -- I'm on it. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 16:44 ` Olof Johansson [not found] ` <CAOesGMgDwMeVmwo1WJ3tU+ZdjCSJ6F8mY42e_KwTmzAkGQsqmg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2011-10-14 19:20 ` Russell King - ARM Linux [not found] ` <20111014192011.GS21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> 1 sibling, 1 reply; 41+ messages in thread From: Russell King - ARM Linux @ 2011-10-14 19:20 UTC (permalink / raw) To: Olof Johansson Cc: Arnd Bergmann, Stephen Warren, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Erik Gilling On Fri, Oct 14, 2011 at 09:44:34AM -0700, Olof Johansson wrote: > That is likely to get messy. > > Seems like there could be some use for a (silent) option for a > platform to indicate that it can do XIP kernel (or zImage), and thus > not able to use AUTO_ZRELADDR (or other options that require rewriting > text segment of zImage or kernel). It's not that. The options are: AUTO_ZRELADDR=n ZBOOT_ROM=n => fixed address for decompressed kernel image to be decompressed to from zreladdr make variable, decompressor can be loaded to any RAM address. AUTO_ZRELADDR=y ZBOOT_ROM=n => address for decompressed kernel calculated from location of zImage in RAM, decompressor must be loaded to the correct place in RAM and must always copy itself out of the way prior to decompressing. AUTO_ZRELADDR=n ZBOOT_ROM=y => fixed address for decompressed kernel image to be decompressed to from zreladdr make variable, decompressor can be loaded to any RAM address which doesn't overlap its BSS segment, or decompressor programmed into read-only memory at the address to which it was compiled. AUTO_ZRELADDR=y ZBOOT_ROM=y => invalid (think about it - this results in a zImage which is built to be run from read-only memory, and try to write the decompressed image into that read-only memory.) This has nothing to do with XIP or not - XIP is a completely separate story, and if you're building an XIP kernel you're not using the decompressor (so AUTO_ZRELADDR and ZBOOT_ROM don't even feature.) Neither does the dynamic code patching stuff like ARM_PATCH_PHYS_VIRT. ARM_PATCH_PHYS_VIRT has no bearing on AUTO_ZRELADDR or ZBOOT_ROM; that is a property of the decompressed kernel image itself, and while your decompressor may restrict where it can decompress the kernel image to, the decompressed image itself remains free of those dependencies (and eg, can be turned into a uImage with the appropriate load address for other platforms.) As I've said in the past, what I'd _like_ to see is that ARM_PATCH_PHYS_VIRT be enabled for everything irrespective of any other configuration, and we're just left with AUTO_ZRELADDR / ZBOOT_ROM to worry about. The overhead from the P:V patching is soo small that it's not really worth even having the option in the general case - the only time when P:V patching doesn't work is with non-linear translations found on some sparsemem platforms. But... one thing to note is that it _is_ common to load the decompressor at a _different_ address to that where the kernel ultimately ends up residing to avoid the additional copy in the decompressor. My experience shows that this is quite common on the platforms I had supplied. This means that if we default to AUTO_ZRELADDR for !ZBOOT_ROM, we end up having to have developers change their uboot setups to avoid unexpected results. ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <20111014192011.GS21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20111014192011.GS21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> @ 2011-10-14 20:06 ` Nicolas Pitre 2011-10-14 20:12 ` Russell King - ARM Linux 2011-10-14 20:14 ` Stephen Warren 0 siblings, 2 replies; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 20:06 UTC (permalink / raw) To: Russell King - ARM Linux Cc: Olof Johansson, Arnd Bergmann, Stephen Warren, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > But... one thing to note is that it _is_ common to load the decompressor > at a _different_ address to that where the kernel ultimately ends up > residing to avoid the additional copy in the decompressor. My experience > shows that this is quite common on the platforms I had supplied. This > means that if we default to AUTO_ZRELADDR for !ZBOOT_ROM, we end up > having to have developers change their uboot setups to avoid unexpected > results. Currently, U-Boot insists on having a uImage with a fixed absolute load address. This is currently provided by the zreladdr value, whether or not AUTO_ZRELADDR is set. I consider this as a persisting uImage limitation. Either u-Boot gets fixed so it can work with plain zImage (and this certainly will happen once the pressure from people wanting a single kernel to work on targets with different load addresses increase. Tegra is one such example. Or we create a u-Boot specific Kconfig menu for uImage options that would be common to all architectures and kick it out from the ARM specific makefile. This is not solving the u-Boot limitation though. In either cases this is a u-Boot problem that needs fixing on the u-Boot side in the end. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 20:06 ` Nicolas Pitre @ 2011-10-14 20:12 ` Russell King - ARM Linux [not found] ` <20111014201223.GV21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> 2011-10-14 20:14 ` Stephen Warren 1 sibling, 1 reply; 41+ messages in thread From: Russell King - ARM Linux @ 2011-10-14 20:12 UTC (permalink / raw) To: Nicolas Pitre Cc: Olof Johansson, Arnd Bergmann, Stephen Warren, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Erik Gilling On Fri, Oct 14, 2011 at 04:06:21PM -0400, Nicolas Pitre wrote: > Currently, U-Boot insists on having a uImage with a fixed absolute load > address. This is currently provided by the zreladdr value, whether or > not AUTO_ZRELADDR is set. I consider this as a persisting uImage > limitation. > > Either u-Boot gets fixed so it can work with plain zImage (and this > certainly will happen once the pressure from people wanting a single > kernel to work on targets with different load addresses increase. > Tegra is one such example. > > Or we create a u-Boot specific Kconfig menu for uImage options that > would be common to all architectures and kick it out from the ARM > specific makefile. This is not solving the u-Boot limitation though. > > In either cases this is a u-Boot problem that needs fixing on the u-Boot > side in the end. I don't think that's so with the various flavours of platform specific uboot which float around. For instance, on the OMAP4430 SDP, the following commands were used as supplied to load a uImage off the SD card into RAM at a different address to which it was built for, and execute it at that address: mmcinit 0 fatload mmc 0 0x80300000 uImage bootm 80300000 Whether the 'bootm' command then copied the image and called it there, or whether it executed it at 0x80300000 I've no idea - but why then load the image at a different address in the first place? ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <20111014201223.GV21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>]
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20111014201223.GV21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> @ 2011-10-14 20:16 ` Stephen Warren 2011-10-14 20:19 ` Russell King - ARM Linux 2011-10-14 20:26 ` Nicolas Pitre 1 sibling, 1 reply; 41+ messages in thread From: Stephen Warren @ 2011-10-14 20:16 UTC (permalink / raw) To: Russell King - ARM Linux, Nicolas Pitre Cc: Olof Johansson, Arnd Bergmann, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling Russell King wrote at Friday, October 14, 2011 2:12 PM: > On Fri, Oct 14, 2011 at 04:06:21PM -0400, Nicolas Pitre wrote: > > Currently, U-Boot insists on having a uImage with a fixed absolute load > > address. This is currently provided by the zreladdr value, whether or > > not AUTO_ZRELADDR is set. I consider this as a persisting uImage > > limitation. > > > > Either u-Boot gets fixed so it can work with plain zImage (and this > > certainly will happen once the pressure from people wanting a single > > kernel to work on targets with different load addresses increase. > > Tegra is one such example. > > > > Or we create a u-Boot specific Kconfig menu for uImage options that > > would be common to all architectures and kick it out from the ARM > > specific makefile. This is not solving the u-Boot limitation though. > > > > In either cases this is a u-Boot problem that needs fixing on the u-Boot > > side in the end. > > I don't think that's so with the various flavours of platform specific > uboot which float around. For instance, on the OMAP4430 SDP, the > following commands were used as supplied to load a uImage off the SD > card into RAM at a different address to which it was built for, and > execute it at that address: > > mmcinit 0 > fatload mmc 0 0x80300000 uImage > bootm 80300000 > > Whether the 'bootm' command then copied the image and called it there, > or whether it executed it at 0x80300000 I've no idea - but why then > load the image at a different address in the first place? Yes, U-Boot's image handling looks at the image at 80300000, extracts the "load address" from the image header, memcpy()'s the image to that address, then jumps to the "entry address" in the image header. -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 20:16 ` Stephen Warren @ 2011-10-14 20:19 ` Russell King - ARM Linux 2011-10-15 15:29 ` Tixy 0 siblings, 1 reply; 41+ messages in thread From: Russell King - ARM Linux @ 2011-10-14 20:19 UTC (permalink / raw) To: Stephen Warren Cc: Nicolas Pitre, Olof Johansson, Arnd Bergmann, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Erik Gilling On Fri, Oct 14, 2011 at 01:16:27PM -0700, Stephen Warren wrote: > Russell King wrote at Friday, October 14, 2011 2:12 PM: > > I don't think that's so with the various flavours of platform specific > > uboot which float around. For instance, on the OMAP4430 SDP, the > > following commands were used as supplied to load a uImage off the SD > > card into RAM at a different address to which it was built for, and > > execute it at that address: > > > > mmcinit 0 > > fatload mmc 0 0x80300000 uImage > > bootm 80300000 > > > > Whether the 'bootm' command then copied the image and called it there, > > or whether it executed it at 0x80300000 I've no idea - but why then > > load the image at a different address in the first place? > > Yes, U-Boot's image handling looks at the image at 80300000, extracts the > "load address" from the image header, memcpy()'s the image to that address, > then jumps to the "entry address" in the image header. Ah, so specifying that address is just a total waste of space then, because you might as well specify an address which results in the copy not being necessary. However, I'd expect that uboot is dumb enough to still do the copy irrespective of whether its already in the right place. ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 20:19 ` Russell King - ARM Linux @ 2011-10-15 15:29 ` Tixy 0 siblings, 0 replies; 41+ messages in thread From: Tixy @ 2011-10-15 15:29 UTC (permalink / raw) To: Russell King - ARM Linux Cc: Stephen Warren, Erik Gilling, Arnd Bergmann, Nicolas Pitre, Peter De Schrijver, linux-kernel@vger.kernel.org, Olof Johansson, Colin Cross (ccross@android.com), linux-tegra@vger.kernel.org, linux-arm-kernel@lists.infradead.org On Fri, 2011-10-14 at 21:19 +0100, Russell King - ARM Linux wrote: > On Fri, Oct 14, 2011 at 01:16:27PM -0700, Stephen Warren wrote: > > Russell King wrote at Friday, October 14, 2011 2:12 PM: > > > I don't think that's so with the various flavours of platform specific > > > uboot which float around. For instance, on the OMAP4430 SDP, the > > > following commands were used as supplied to load a uImage off the SD > > > card into RAM at a different address to which it was built for, and > > > execute it at that address: > > > > > > mmcinit 0 > > > fatload mmc 0 0x80300000 uImage > > > bootm 80300000 > > > > > > Whether the 'bootm' command then copied the image and called it there, > > > or whether it executed it at 0x80300000 I've no idea - but why then > > > load the image at a different address in the first place? > > > > Yes, U-Boot's image handling looks at the image at 80300000, extracts the > > "load address" from the image header, memcpy()'s the image to that address, > > then jumps to the "entry address" in the image header. > > Ah, so specifying that address is just a total waste of space then, > because you might as well specify an address which results in the > copy not being necessary. > > However, I'd expect that uboot is dumb enough to still do the copy > irrespective of whether its already in the right place. U-Boot doesn't do an unnecessary copy if the body of the image is already at the load address specified in the image header. Unfortunately, it also doesn't do a copy if the header of the image is at the load address, (I guess to support images constructed with an embedded header). This means that fatload mmc 0 0x80300000 uImage bootm 0x80300000 will crash as it will attempt to boot Linux by executing the image header. To successfully boot without requiring a relocation we would need: fatload mmc 0 0x80300000-sizeof(header) uImage bootm 0x80300000 -- Tixy ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20111014201223.GV21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> 2011-10-14 20:16 ` Stephen Warren @ 2011-10-14 20:26 ` Nicolas Pitre 1 sibling, 0 replies; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 20:26 UTC (permalink / raw) To: Russell King - ARM Linux Cc: Olof Johansson, Arnd Bergmann, Stephen Warren, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > On Fri, Oct 14, 2011 at 04:06:21PM -0400, Nicolas Pitre wrote: > > Currently, U-Boot insists on having a uImage with a fixed absolute load > > address. This is currently provided by the zreladdr value, whether or > > not AUTO_ZRELADDR is set. I consider this as a persisting uImage > > limitation. > > > > Either u-Boot gets fixed so it can work with plain zImage (and this > > certainly will happen once the pressure from people wanting a single > > kernel to work on targets with different load addresses increase. > > Tegra is one such example. > > > > Or we create a u-Boot specific Kconfig menu for uImage options that > > would be common to all architectures and kick it out from the ARM > > specific makefile. This is not solving the u-Boot limitation though. > > > > In either cases this is a u-Boot problem that needs fixing on the u-Boot > > side in the end. > > I don't think that's so with the various flavours of platform specific > uboot which float around. For instance, on the OMAP4430 SDP, the > following commands were used as supplied to load a uImage off the SD > card into RAM at a different address to which it was built for, and > execute it at that address: > > mmcinit 0 > fatload mmc 0 0x80300000 uImage > bootm 80300000 > > Whether the 'bootm' command then copied the image and called it there, > or whether it executed it at 0x80300000 I've no idea - but why then > load the image at a different address in the first place? Maybe because the lower memory is already in use by other u-Boot related things, or more likely for no specific reasons at all. But u-Boot _will_ relocate the image if it is not lot loaded at the address being recorded in its header as specified by the -a argument of mkimage. And currently we use zreladdr for that when "make uImage" is used, meaning that by default no one is currently benefiting from the kernel decompressor relocation avoidance optimization on u-Boot. Of course the u-Boot people are also claiming that u-Boot should take care of the kernel decompression not zImage, which I personally disagree with. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 20:06 ` Nicolas Pitre 2011-10-14 20:12 ` Russell King - ARM Linux @ 2011-10-14 20:14 ` Stephen Warren [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A362-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 1 sibling, 1 reply; 41+ messages in thread From: Stephen Warren @ 2011-10-14 20:14 UTC (permalink / raw) To: Nicolas Pitre, Russell King - ARM Linux Cc: Olof Johansson, Arnd Bergmann, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Erik Gilling Nicolas Pitre wrote at Friday, October 14, 2011 2:06 PM: > On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > > > But... one thing to note is that it _is_ common to load the decompressor > > at a _different_ address to that where the kernel ultimately ends up > > residing to avoid the additional copy in the decompressor. My experience > > shows that this is quite common on the platforms I had supplied. This > > means that if we default to AUTO_ZRELADDR for !ZBOOT_ROM, we end up > > having to have developers change their uboot setups to avoid unexpected > > results. > > Currently, U-Boot insists on having a uImage with a fixed absolute load > address. This is currently provided by the zreladdr value, whether or > not AUTO_ZRELADDR is set. I consider this as a persisting uImage > limitation. Well, that value only comes from zreladdr when running U-Boot's mkimage from the kernel makefile rather than some other packaging script:-) > Either u-Boot gets fixed so it can work with plain zImage (and this > certainly will happen once the pressure from people wanting a single > kernel to work on targets with different load addresses increase. > Tegra is one such example. I proposed to solve it by adding a new image format within the uImage; "kernel-rel" rather than "kernel", where the load/entry address encoded into the uImage is specified relative to "start of SDRAM" rather than as an absolute address. This way, Tegra20 and Tegra30 will have the same layout of U-Boot location, uImage load address, kernel execute address etc. within SDRAM, but all those addresses might end up being based at physical address 0, or physical address 2G. Here's the patch I proposed: http://patchwork.ozlabs.org/patch/119017/ What are your thoughts on this? I hope it will work for multi-SoC image across vendors, although I suppose finding a common load address across a bunch of different SoC's memory layouts might be tough? I did originally briefly look into getting U-Boot to boot a zImage, but that looked like a far more invasive patch. There were rumours of some chip's custom U-Boot already having such support, but I couldn't find it, nor any evidence of such support in mainline U-Boot. > Or we create a u-Boot specific Kconfig menu for uImage options that > would be common to all architectures and kick it out from the ARM > specific makefile. This is not solving the u-Boot limitation though. > > In either cases this is a u-Boot problem that needs fixing on the u-Boot > side in the end. -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <74CDBE0F657A3D45AFBB94109FB122FF173BE1A362-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>]
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A362-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> @ 2011-10-14 20:45 ` Nicolas Pitre [not found] ` <alpine.LFD.2.02.1110141631530.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 20:45 UTC (permalink / raw) To: Stephen Warren Cc: Russell King - ARM Linux, Olof Johansson, Arnd Bergmann, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Stephen Warren wrote: > Nicolas Pitre wrote at Friday, October 14, 2011 2:06 PM: > > Currently, U-Boot insists on having a uImage with a fixed absolute load > > address. This is currently provided by the zreladdr value, whether or > > not AUTO_ZRELADDR is set. I consider this as a persisting uImage > > limitation. > > Well, that value only comes from zreladdr when running U-Boot's mkimage from > the kernel makefile rather than some other packaging script:-) So what? The whole idea of a kernel that can be loaded anywhere is to _not_ have its load address packaged into it. The fact that you need a separate packaging step just for the specification of that address is rather silly. > > Either u-Boot gets fixed so it can work with plain zImage (and this > > certainly will happen once the pressure from people wanting a single > > kernel to work on targets with different load addresses increase. > > Tegra is one such example. > > I proposed to solve it by adding a new image format within the uImage; > "kernel-rel" rather than "kernel", where the load/entry address encoded > into the uImage is specified relative to "start of SDRAM" rather than > as an absolute address. This way, Tegra20 and Tegra30 will have the > same layout of U-Boot location, uImage load address, kernel execute > address etc. within SDRAM, but all those addresses might end up being > based at physical address 0, or physical address 2G. > > Here's the patch I proposed: > > http://patchwork.ozlabs.org/patch/119017/ By all means, please push your patch upstream and free us from this u-Boot misery! > What are your thoughts on this? I hope it will work for multi-SoC image > across vendors, although I suppose finding a common load address across > a bunch of different SoC's memory layouts might be tough? No it is not. We know where the decompressed kernel will end up relative to the start of RAM, so it is always safe to simply load the uImage there. Better yet is to load it with an additional offset corresponding to the decompressed kernel size (plus some small gap) in order to allow the decompressor skip the relocation step. This is all trivial to determine. > I did originally briefly look into getting U-Boot to boot a zImage, but > that looked like a far more invasive patch. There were rumours of some > chip's custom U-Boot already having such support, but I couldn't find > it, nor any evidence of such support in mainline U-Boot. FRom my clone of the u-Boot repo: $ git grep -l zImage README arch/arm/cpu/ixp/npe/include/IxTimeSyncAcc.h arch/sh/lib/zimageboot.c arch/x86/include/asm/zimage.h arch/x86/lib/zimage.c doc/README.mx35pdk include/configs/apollon.h include/configs/mpc7448hpc2.h include/configs/mpr2.h include/configs/ms7720se.h include/configs/pxa255_idp.h include/configs/trizepsiv.h Even the name of some of those files clearly hints zImage support. In any case, loading zImage should be even simpler than loading uImage. It is the same as loading uImage except that you just have to skip the checking and relocating steps. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <alpine.LFD.2.02.1110141631530.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>]
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <alpine.LFD.2.02.1110141631530.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org> @ 2011-10-14 21:01 ` Stephen Warren 2011-10-14 21:28 ` Nicolas Pitre [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A3A6-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 0 siblings, 2 replies; 41+ messages in thread From: Stephen Warren @ 2011-10-14 21:01 UTC (permalink / raw) To: Nicolas Pitre Cc: Russell King - ARM Linux, Olof Johansson, Arnd Bergmann, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling Nicolas Pitre wrote at Friday, October 14, 2011 2:45 PM: > On Fri, 14 Oct 2011, Stephen Warren wrote: ... > > I did originally briefly look into getting U-Boot to boot a zImage, but > > that looked like a far more invasive patch. There were rumours of some > > chip's custom U-Boot already having such support, but I couldn't find > > it, nor any evidence of such support in mainline U-Boot. > > FRom my clone of the u-Boot repo: > > $ git grep -l zImage > README > arch/sh/lib/zimageboot.c > arch/x86/lib/zimage.c > ... > > Even the name of some of those files clearly hints zImage support. > > In any case, loading zImage should be even simpler than loading uImage. > It is the same as loading uImage except that you just have to skip the > checking and relocating steps. Just by way of background in case anyone is wondering why I wrote the patch I did: Those files both implement custom commands "zimageboot" and "zboot". I was looking for integration with the existing "bootm" command. The advantage of re-using "bootm" for this is that it already supports all the stuff like setting up kernel command-lines, initrds, knowing how to pass the FDT to the kernel, and whatever other OS-specific setup might be required. The disadvantage of adding zImage support to bootm is that I'd have to teach a bunch of U-Boot image handling code about a new image format; it already knows about "legacy uImage", "FIT" images, and I'd have to add a third "zImage" format. Doing so would at least require adding a lot of "case IMAGE_FORMAT_ZIMAGE" everywhere, but it'd probably be best to add some kind of vtable for image formats to move all the image-format knowledge into format-specific files, leaving the users of the images with much smaller code. I didn't feel like making such a large change. Hence, I chose to make a small change to the existing uImage support. Now admittedly I did say I didn't find any traces of zImage support, which isn't what I'm saying here; I guess I forgot about the stuff I did find soon after I chose the path of modifying the uImage formats. -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 21:01 ` Stephen Warren @ 2011-10-14 21:28 ` Nicolas Pitre [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A3A6-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 1 sibling, 0 replies; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 21:28 UTC (permalink / raw) To: Stephen Warren Cc: Russell King - ARM Linux, Erik Gilling, Arnd Bergmann, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Olof Johansson, linux-arm-kernel@lists.infradead.org On Fri, 14 Oct 2011, Stephen Warren wrote: > Nicolas Pitre wrote at Friday, October 14, 2011 2:45 PM: > > On Fri, 14 Oct 2011, Stephen Warren wrote: > ... > > > I did originally briefly look into getting U-Boot to boot a zImage, but > > > that looked like a far more invasive patch. There were rumours of some > > > chip's custom U-Boot already having such support, but I couldn't find > > > it, nor any evidence of such support in mainline U-Boot. > > > > FRom my clone of the u-Boot repo: > > > > $ git grep -l zImage > > README > > arch/sh/lib/zimageboot.c > > arch/x86/lib/zimage.c > > ... > > > > Even the name of some of those files clearly hints zImage support. > > > > In any case, loading zImage should be even simpler than loading uImage. > > It is the same as loading uImage except that you just have to skip the > > checking and relocating steps. > > Just by way of background in case anyone is wondering why I wrote the > patch I did: > > Those files both implement custom commands "zimageboot" and "zboot". I > was looking for integration with the existing "bootm" command. > > The advantage of re-using "bootm" for this is that it already supports > all the stuff like setting up kernel command-lines, initrds, knowing how > to pass the FDT to the kernel, and whatever other OS-specific setup might > be required. Absolutely. And that is a must-have. > The disadvantage of adding zImage support to bootm is that I'd have to > teach a bunch of U-Boot image handling code about a new image format; it > already knows about "legacy uImage", "FIT" images, and I'd have to add a > third "zImage" format. Doing so would at least require adding a lot of > "case IMAGE_FORMAT_ZIMAGE" everywhere, but it'd probably be best to add > some kind of vtable for image formats to move all the image-format > knowledge into format-specific files, leaving the users of the images > with much smaller code. > > I didn't feel like making such a large change. Hence, I chose to make a > small change to the existing uImage support. And that change is certainly valuable. Some people do want the extra feature from the uImage format. REmoving its absolute address limitation is a good thing. However, also supporting zImage directly on ARM doesn't have to be that hard. Instead of adding "case IMAGE_FORMAT_ZIMAGE" everywhere, all you would have to do is to load zImage in memory according to the load address provided as an argument to the command, and then fake a uImage load by artificially creating the uImage header at run time with the data that u-Boot needs later on. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <74CDBE0F657A3D45AFBB94109FB122FF173BE1A3A6-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A3A6-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> @ 2011-10-14 22:06 ` Rob Herring 0 siblings, 0 replies; 41+ messages in thread From: Rob Herring @ 2011-10-14 22:06 UTC (permalink / raw) To: Stephen Warren Cc: Nicolas Pitre, Russell King - ARM Linux, Erik Gilling, Arnd Bergmann, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Olof Johansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org On 10/14/2011 04:01 PM, Stephen Warren wrote: > Nicolas Pitre wrote at Friday, October 14, 2011 2:45 PM: >> On Fri, 14 Oct 2011, Stephen Warren wrote: > ... >>> I did originally briefly look into getting U-Boot to boot a zImage, but >>> that looked like a far more invasive patch. There were rumours of some >>> chip's custom U-Boot already having such support, but I couldn't find >>> it, nor any evidence of such support in mainline U-Boot. >> >> FRom my clone of the u-Boot repo: >> >> $ git grep -l zImage >> README >> arch/sh/lib/zimageboot.c >> arch/x86/lib/zimage.c >> ... >> >> Even the name of some of those files clearly hints zImage support. >> >> In any case, loading zImage should be even simpler than loading uImage. >> It is the same as loading uImage except that you just have to skip the >> checking and relocating steps. > > Just by way of background in case anyone is wondering why I wrote the > patch I did: > > Those files both implement custom commands "zimageboot" and "zboot". I > was looking for integration with the existing "bootm" command. > > The advantage of re-using "bootm" for this is that it already supports > all the stuff like setting up kernel command-lines, initrds, knowing how > to pass the FDT to the kernel, and whatever other OS-specific setup might > be required. > > The disadvantage of adding zImage support to bootm is that I'd have to > teach a bunch of U-Boot image handling code about a new image format; it > already knows about "legacy uImage", "FIT" images, and I'd have to add a > third "zImage" format. Doing so would at least require adding a lot of > "case IMAGE_FORMAT_ZIMAGE" everywhere, but it'd probably be best to add > some kind of vtable for image formats to move all the image-format > knowledge into format-specific files, leaving the users of the images > with much smaller code. > > I didn't feel like making such a large change. Hence, I chose to make a > small change to the existing uImage support. > > Now admittedly I did say I didn't find any traces of zImage support, which > isn't what I'm saying here; I guess I forgot about the stuff I did find > soon after I chose the path of modifying the uImage formats. > FYI, this exact topic has been discussed on the Linaro weekly boot-architecture call and list. The discussion has been more general in terms of what can be done to make installing and updating kernels easier/work for distros. https://wiki.linaro.org/OfficeofCTO/BootArchitecture Rob ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <201110141827.53906.arnd-r2nGTMty4D4@public.gmane.org> 2011-10-14 16:44 ` Olof Johansson @ 2011-10-14 18:01 ` Nicolas Pitre 2011-10-14 19:20 ` Russell King - ARM Linux 1 sibling, 1 reply; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 18:01 UTC (permalink / raw) To: Arnd Bergmann Cc: Stephen Warren, Russell King - ARM Linux, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Arnd Bergmann wrote: > On Friday 14 October 2011, Stephen Warren wrote: > > Arnd Bergmann wrote at Friday, October 14, 2011 9:30 AM: > > ... > > > You mention that tegra30 will require AUTO_ZRELADDR. > > > > Well, just to be clear, here's the situation I think: > > > > Tegra20's SDRAM starts at physical address 0. > > > > Tegra30's SDRAM starts at physical address 2G. > > > > To support that, we could either: > > > > a) Introduce a new Kconfig variable for Tegra30, make T20/T30 mutually > > exclusive, and update arch/arm/mach-tegra/Makefile.boot to set zreladdr > > etc. based on the new Tegra30 config variable too. Then, there's no need > > for AUTO_ZRELADDR anywhere. > > > > b) Have no new config variable, build a unified T20/T30 kernel, leave > > Makefile.boot untouched, and rely on using AUTO_ZRELADDR for Tegra30 to > > account for the different SDRAM physical addresses. > > Ok, thanks for the explanation, that makes it much clearer. For > completeness, you could also do both of the above and make T20/T30 mutually > exclusive unless AUTO_ZRELADDR is set. That might be more complex than > necessary, I don't know. The way I'm restructuring things around this is that AUTO_ZRELADDR will always be active by default, just like ARM_PATCH_PHYS_VIRT now. This platform specific exclusion thinking is a step backward so I'd prefer if people would refrain from going there for the moment. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 18:01 ` Nicolas Pitre @ 2011-10-14 19:20 ` Russell King - ARM Linux [not found] ` <20111014192057.GT21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Russell King - ARM Linux @ 2011-10-14 19:20 UTC (permalink / raw) To: Nicolas Pitre Cc: Stephen Warren, Erik Gilling, Arnd Bergmann, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Olof Johansson, linux-arm-kernel@lists.infradead.org On Fri, Oct 14, 2011 at 02:01:07PM -0400, Nicolas Pitre wrote: > The way I'm restructuring things around this is that AUTO_ZRELADDR will > always be active by default, just like ARM_PATCH_PHYS_VIRT now. This > platform specific exclusion thinking is a step backward so I'd prefer if > people would refrain from going there for the moment. Are you expecting everyone to change the way they load the zImage overnight then? ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <20111014192057.GT21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20111014192057.GT21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> @ 2011-10-14 20:14 ` Nicolas Pitre 2011-10-14 20:17 ` Russell King - ARM Linux 0 siblings, 1 reply; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 20:14 UTC (permalink / raw) To: Russell King - ARM Linux Cc: Arnd Bergmann, Stephen Warren, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > On Fri, Oct 14, 2011 at 02:01:07PM -0400, Nicolas Pitre wrote: > > The way I'm restructuring things around this is that AUTO_ZRELADDR will > > always be active by default, just like ARM_PATCH_PHYS_VIRT now. This > > platform specific exclusion thinking is a step backward so I'd prefer if > > people would refrain from going there for the moment. > > Are you expecting everyone to change the way they load the zImage > overnight then? No, of course. But adding restrictions in the kernel build because u-Boot's own image format dictates such restrictions doesn't make sense. Those restrictions must be pushed towards the uImage encapsulation step, not higher the kernel config hierarchy. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 20:14 ` Nicolas Pitre @ 2011-10-14 20:17 ` Russell King - ARM Linux [not found] ` <20111014201737.GW21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Russell King - ARM Linux @ 2011-10-14 20:17 UTC (permalink / raw) To: Nicolas Pitre Cc: Arnd Bergmann, Stephen Warren, Olof Johansson, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Erik Gilling On Fri, Oct 14, 2011 at 04:14:12PM -0400, Nicolas Pitre wrote: > On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > > > On Fri, Oct 14, 2011 at 02:01:07PM -0400, Nicolas Pitre wrote: > > > The way I'm restructuring things around this is that AUTO_ZRELADDR will > > > always be active by default, just like ARM_PATCH_PHYS_VIRT now. This > > > platform specific exclusion thinking is a step backward so I'd prefer if > > > people would refrain from going there for the moment. > > > > Are you expecting everyone to change the way they load the zImage > > overnight then? > > No, of course. But adding restrictions in the kernel build because > u-Boot's own image format dictates such restrictions doesn't make sense. > Those restrictions must be pushed towards the uImage encapsulation step, > not higher the kernel config hierarchy. You're not understanding again. I'm talking about people who _explicitly_ load the zImage at a different address to which the decompressed image ends up. With AUTO_ZRELADDR=y their setup will break unless they stop that behaviour, which takes away one of the advantages of using the zImage format. ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <20111014201737.GW21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20111014201737.GW21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> @ 2011-10-14 20:31 ` Nicolas Pitre 2011-10-14 21:13 ` Russell King - ARM Linux 0 siblings, 1 reply; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 20:31 UTC (permalink / raw) To: Russell King - ARM Linux Cc: Arnd Bergmann, Stephen Warren, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > On Fri, Oct 14, 2011 at 04:14:12PM -0400, Nicolas Pitre wrote: > > On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > > > > > On Fri, Oct 14, 2011 at 02:01:07PM -0400, Nicolas Pitre wrote: > > > > The way I'm restructuring things around this is that AUTO_ZRELADDR will > > > > always be active by default, just like ARM_PATCH_PHYS_VIRT now. This > > > > platform specific exclusion thinking is a step backward so I'd prefer if > > > > people would refrain from going there for the moment. > > > > > > Are you expecting everyone to change the way they load the zImage > > > overnight then? > > > > No, of course. But adding restrictions in the kernel build because > > u-Boot's own image format dictates such restrictions doesn't make sense. > > Those restrictions must be pushed towards the uImage encapsulation step, > > not higher the kernel config hierarchy. > > You're not understanding again. > > I'm talking about people who _explicitly_ load the zImage at a different > address to which the decompressed image ends up. With AUTO_ZRELADDR=y > their setup will break unless they stop that behaviour, which takes > away one of the advantages of using the zImage format. Would you care to explain where you got this from? Because I really do not understand what you're saying indeed. With AUTO_ZRELADDR=y you _still_ can load zImage to a different location from where the decompressed kernel ends up. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-14 20:31 ` Nicolas Pitre @ 2011-10-14 21:13 ` Russell King - ARM Linux [not found] ` <20111014211311.GY21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Russell King - ARM Linux @ 2011-10-14 21:13 UTC (permalink / raw) To: Nicolas Pitre Cc: Arnd Bergmann, Stephen Warren, Olof Johansson, Peter De Schrijver, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-tegra@vger.kernel.org, Colin Cross (ccross@android.com), Erik Gilling On Fri, Oct 14, 2011 at 04:31:12PM -0400, Nicolas Pitre wrote: > On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > > > On Fri, Oct 14, 2011 at 04:14:12PM -0400, Nicolas Pitre wrote: > > > On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > > > > > > > On Fri, Oct 14, 2011 at 02:01:07PM -0400, Nicolas Pitre wrote: > > > > > The way I'm restructuring things around this is that AUTO_ZRELADDR will > > > > > always be active by default, just like ARM_PATCH_PHYS_VIRT now. This > > > > > platform specific exclusion thinking is a step backward so I'd prefer if > > > > > people would refrain from going there for the moment. > > > > > > > > Are you expecting everyone to change the way they load the zImage > > > > overnight then? > > > > > > No, of course. But adding restrictions in the kernel build because > > > u-Boot's own image format dictates such restrictions doesn't make sense. > > > Those restrictions must be pushed towards the uImage encapsulation step, > > > not higher the kernel config hierarchy. > > > > You're not understanding again. > > > > I'm talking about people who _explicitly_ load the zImage at a different > > address to which the decompressed image ends up. With AUTO_ZRELADDR=y > > their setup will break unless they stop that behaviour, which takes > > away one of the advantages of using the zImage format. > > Would you care to explain where you got this from? Because I really do > not understand what you're saying indeed. My I point out that it's you who decided that I was talking about u-boot when I said no such thing in my message. I merely pointed out about those people who may be loading the zImage elsewhere in memory and using that facility to cut down on the boot time. u-boot can't load zImages directly. Yet you started nattering on about uboot - which we know is a pile of crap for dealing with this stuff. But ultimately, how people achieve the loading of the zImage is beyond the scope of what I stated: whether that's not using u-boot but some other boot loader, or maybe using mkimage outside of the kernel build, or whatever. > With AUTO_ZRELADDR=y you _still_ can load zImage to a different location > from where the decompressed kernel ends up. You are correct for some values of 'different location' but not all - and how can we know _what_ people are doing? We don't. #ifdef CONFIG_AUTO_ZRELADDR @ determine final kernel image address mov r4, pc and r4, r4, #0xf8000000 add r4, r4, #TEXT_OFFSET #else ldr r4, =zreladdr #endif So this means the decompressor _must_ run within the first 128MB chunk of memory for the resulting kernel to be correctly placed at expected place - at the beginning of system memory + TEXT_OFFSET. Can we know that this is always the case? I don't think so. Can we expect there to be regressions if we force AUTO_ZRELADDR=y? We'd be stupid not to expect them. ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <20111014211311.GY21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20111014211311.GY21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org> @ 2011-10-14 22:26 ` Nicolas Pitre 0 siblings, 0 replies; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 22:26 UTC (permalink / raw) To: Russell King - ARM Linux Cc: Arnd Bergmann, Stephen Warren, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > On Fri, Oct 14, 2011 at 04:31:12PM -0400, Nicolas Pitre wrote: > > On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > > > > > On Fri, Oct 14, 2011 at 04:14:12PM -0400, Nicolas Pitre wrote: > > > > On Fri, 14 Oct 2011, Russell King - ARM Linux wrote: > > > > > > > > > On Fri, Oct 14, 2011 at 02:01:07PM -0400, Nicolas Pitre wrote: > > > > > > The way I'm restructuring things around this is that AUTO_ZRELADDR will > > > > > > always be active by default, just like ARM_PATCH_PHYS_VIRT now. This > > > > > > platform specific exclusion thinking is a step backward so I'd prefer if > > > > > > people would refrain from going there for the moment. > > > > > > > > > > Are you expecting everyone to change the way they load the zImage > > > > > overnight then? > > > > > > > > No, of course. But adding restrictions in the kernel build because > > > > u-Boot's own image format dictates such restrictions doesn't make sense. > > > > Those restrictions must be pushed towards the uImage encapsulation step, > > > > not higher the kernel config hierarchy. > > > > > > You're not understanding again. > > > > > > I'm talking about people who _explicitly_ load the zImage at a different > > > address to which the decompressed image ends up. With AUTO_ZRELADDR=y > > > their setup will break unless they stop that behaviour, which takes > > > away one of the advantages of using the zImage format. > > > > Would you care to explain where you got this from? Because I really do > > not understand what you're saying indeed. > > My I point out that it's you who decided that I was talking about u-boot > when I said no such thing in my message. I merely pointed out about > those people who may be loading the zImage elsewhere in memory and using > that facility to cut down on the boot time. u-boot can't load zImages > directly. > > Yet you started nattering on about uboot - which we know is a pile of > crap for dealing with this stuff. OK, sorry for confusing matters. From your statement I inferred that making AUTO_ZRELADDR=y would be useless, because this is actually true with u-Boot. Making AUTO_ZRELADDR the default allows for cleaning up zreladdr away, but that will break "make uImage". I've yet to find the best way around that. > > With AUTO_ZRELADDR=y you _still_ can load zImage to a different location > > from where the decompressed kernel ends up. > > You are correct for some values of 'different location' but not all - > and how can we know _what_ people are doing? We don't. > > #ifdef CONFIG_AUTO_ZRELADDR > @ determine final kernel image address > mov r4, pc > and r4, r4, #0xf8000000 > add r4, r4, #TEXT_OFFSET > #else > ldr r4, =zreladdr > #endif > > So this means the decompressor _must_ run within the first 128MB chunk > of memory for the resulting kernel to be correctly placed at expected > place - at the beginning of system memory + TEXT_OFFSET. > > Can we know that this is always the case? I don't think so. This is certainly the case for a big chunk of legacy ARM machines that don't have more than 128MB of RAM. Discontigous memory banks may break that assumption but that's still a large limiting factor. > Can we expect there to be regressions if we force AUTO_ZRELADDR=y? We'd > be stupid not to expect them. They should be expected indeed. However we must weight the benefits against the possible regressions. For example, on X86 they decided at some point that the zImage would no longer include the floppy boot sector with kernel loading code. This was an explicit regression because simply copying zImage to a floppy and sticking that floppy into a PC no longer boots the kernel. I'm sure some people were affected by that, and the official word was that you now have to use a proper boot loader, period. So far, I've never seen any ARM machine where the kernel is loaded more than 64MB away from start of RAM. And that 64MB happened only once and that was from my own doing. Most people load zImage much closer to start of RAM, and almost all of them simply load zImage at zreladdr. Or worse, they wrap it into a uImage, load it higher thinking it is good, and u-Boot copies it to zreladdr because that's what 'make uImage' uses, forcing zImage to make a second copy. Between you and I, we've seen quite a lot of ARM setups after all those years. We should be able to guess the probability for causing regression with AUTO_ZRELADDR=y by default. Personally I'd say that, while not impossible, the probability is close to zero for 99% of the cases. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A283-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 2011-10-14 16:27 ` Arnd Bergmann @ 2011-10-14 17:53 ` Nicolas Pitre [not found] ` <alpine.LFD.2.02.1110141348270.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org> 1 sibling, 1 reply; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 17:53 UTC (permalink / raw) To: Stephen Warren Cc: Arnd Bergmann, Russell King - ARM Linux, Olof Johansson, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, 14 Oct 2011, Stephen Warren wrote: > Arnd Bergmann wrote at Friday, October 14, 2011 9:30 AM: > ... > > You mention that tegra30 will require AUTO_ZRELADDR. > > Well, just to be clear, here's the situation I think: > > Tegra20's SDRAM starts at physical address 0. > > Tegra30's SDRAM starts at physical address 2G. > > To support that, we could either: > > a) Introduce a new Kconfig variable for Tegra30, make T20/T30 mutually > exclusive, and update arch/arm/mach-tegra/Makefile.boot to set zreladdr > etc. based on the new Tegra30 config variable too. Then, there's no need > for AUTO_ZRELADDR anywhere. > > b) Have no new config variable, build a unified T20/T30 kernel, leave > Makefile.boot untouched, and rely on using AUTO_ZRELADDR for Tegra30 to > account for the different SDRAM physical addresses. As I explained yesterday, I'm working on more cleanups that involve reworking the dependencies around ZBOOTROM, AUTO_ZRELADDR and friends, and removing zreladdr for all platforms. So please do not come up with Tegra specific hacks to fix this up. So for the time being I'd simply suggest using the minimal fix i.e.: select AUTO_ZRELADDR if !ZBOOT_ROM And eventually this will disappear entirely in favor of a single global config option which is not platform dependent. Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <alpine.LFD.2.02.1110141348270.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <alpine.LFD.2.02.1110141348270.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org> @ 2011-10-14 17:58 ` Olof Johansson [not found] ` <CAOesGMhm_dD=9dyMWQRfH5AXH4AE42+4ckNwhnMUGaBJEHsumg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Olof Johansson @ 2011-10-14 17:58 UTC (permalink / raw) To: Nicolas Pitre Cc: Stephen Warren, Arnd Bergmann, Russell King - ARM Linux, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling Hi, On Fri, Oct 14, 2011 at 10:53 AM, Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org> wrote: > As I explained yesterday, I'm working on more cleanups that involve > reworking the dependencies around ZBOOTROM, AUTO_ZRELADDR and friends, > and removing zreladdr for all platforms. So please do not come up with > Tegra specific hacks to fix this up. So for the time being I'd simply > suggest using the minimal fix i.e.: > > select AUTO_ZRELADDR if !ZBOOT_ROM > > And eventually this will disappear entirely in favor of a single global > config option which is not platform dependent. Odd, I'm not seeing any mention of the above on the list (especially not posted yesterday), but that sounds good to me. We've dropped the patch for now, if t30 needs it we can update the defconfig when the time comes, and wait for your cleanup for the rest. -Olof ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <CAOesGMhm_dD=9dyMWQRfH5AXH4AE42+4ckNwhnMUGaBJEHsumg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <CAOesGMhm_dD=9dyMWQRfH5AXH4AE42+4ckNwhnMUGaBJEHsumg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2011-10-14 18:00 ` Olof Johansson 0 siblings, 0 replies; 41+ messages in thread From: Olof Johansson @ 2011-10-14 18:00 UTC (permalink / raw) To: Nicolas Pitre Cc: Stephen Warren, Arnd Bergmann, Russell King - ARM Linux, Peter De Schrijver, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Fri, Oct 14, 2011 at 10:58 AM, Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org> wrote: > Odd, I'm not seeing any mention of the above on the list (especially > not posted yesterday), but that sounds good to me. Ah, didn't think to search for your linaro address. My bad. -Olof ^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH] ARM: mutually exclude ZBOOT_ROM and AUTO_ZRELADDR 2011-10-14 7:15 ` Russell King - ARM Linux 2011-10-14 14:45 ` Stephen Warren @ 2011-10-14 15:59 ` Olof Johansson [not found] ` <1318607945-6807-1-git-send-email-olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org> 1 sibling, 1 reply; 41+ messages in thread From: Olof Johansson @ 2011-10-14 15:59 UTC (permalink / raw) To: Russell King - ARM Linux Cc: linux-arm-kernel, linux-tegra, linux-kernel, ccross, arnd, swarren, pdeschrijver, Olof Johansson This way platforms that want it can select AUTO_ZRELADDR without issues caused by someone manually also enabling ZBOOT_ROM. Signed-off-by: Olof Johansson <olof@lixom.net> --- arch/arm/Kconfig | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) Russell King wrote at Friday, October 14, 2011 1:15 AM: > I'll point out that this makes Tegra incompatible with ZBOOT_ROM, which > can still be enabled. ZBOOT_ROM=y AUTO_ZRELADDR=y is an invalid > configuration at runtime. Ah, looks like the dependency is only one-way. Since they are mutually exclusive, how about the below? diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 82973b2..2ad58e8 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1814,6 +1814,7 @@ config ZBOOT_ROM_BSS config ZBOOT_ROM bool "Compressed boot loader in ROM/flash" depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS + depends on !AUTO_ZRELADDR help Say Y here if you intend to execute your compressed kernel image (zImage) directly from ROM or flash. If unsure, say N. -- 1.7.4.1 ^ permalink raw reply related [flat|nested] 41+ messages in thread
[parent not found: <1318607945-6807-1-git-send-email-olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>]
* Re: [PATCH] ARM: mutually exclude ZBOOT_ROM and AUTO_ZRELADDR [not found] ` <1318607945-6807-1-git-send-email-olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org> @ 2011-10-14 16:29 ` Arnd Bergmann [not found] ` <201110141829.48634.arnd-r2nGTMty4D4@public.gmane.org> 2011-10-14 18:04 ` Nicolas Pitre 1 sibling, 1 reply; 41+ messages in thread From: Arnd Bergmann @ 2011-10-14 16:29 UTC (permalink / raw) To: Olof Johansson Cc: Russell King - ARM Linux, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, ccross-z5hGa2qSFaRBDgjK7y7TUQ, swarren-DDmLM1+adcrQT0dZR+AlfA, pdeschrijver-DDmLM1+adcrQT0dZR+AlfA On Friday 14 October 2011, Olof Johansson wrote: > This way platforms that want it can select AUTO_ZRELADDR without issues caused by > someone manually also enabling ZBOOT_ROM. > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 82973b2..2ad58e8 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1814,6 +1814,7 @@ config ZBOOT_ROM_BSS > config ZBOOT_ROM > bool "Compressed boot loader in ROM/flash" > depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS > + depends on !AUTO_ZRELADDR > help > Say Y here if you intend to execute your compressed kernel image > (zImage) directly from ROM or flash. If unsure, say N. Unfortunately, you cannot have it both ways: arnd@ocdc-kvm:~/linux-arm$ make O=obj-tmp CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm -sj20 menuconfig arch/arm/Kconfig:1761:error: recursive dependency detected! arch/arm/Kconfig:1761: symbol ZBOOT_ROM depends on AUTO_ZRELADDR arch/arm/Kconfig:1899: symbol AUTO_ZRELADDR depends on ZBOOT_ROM Arnd ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <201110141829.48634.arnd-r2nGTMty4D4@public.gmane.org>]
* Re: [PATCH] ARM: mutually exclude ZBOOT_ROM and AUTO_ZRELADDR [not found] ` <201110141829.48634.arnd-r2nGTMty4D4@public.gmane.org> @ 2011-10-14 18:07 ` Nicolas Pitre 0 siblings, 0 replies; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 18:07 UTC (permalink / raw) To: Arnd Bergmann Cc: Olof Johansson, Russell King - ARM Linux, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, ccross-z5hGa2qSFaRBDgjK7y7TUQ, swarren-DDmLM1+adcrQT0dZR+AlfA, pdeschrijver-DDmLM1+adcrQT0dZR+AlfA On Fri, 14 Oct 2011, Arnd Bergmann wrote: > On Friday 14 October 2011, Olof Johansson wrote: > > This way platforms that want it can select AUTO_ZRELADDR without issues caused by > > someone manually also enabling ZBOOT_ROM. > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index 82973b2..2ad58e8 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -1814,6 +1814,7 @@ config ZBOOT_ROM_BSS > > config ZBOOT_ROM > > bool "Compressed boot loader in ROM/flash" > > depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS > > + depends on !AUTO_ZRELADDR > > help > > Say Y here if you intend to execute your compressed kernel image > > (zImage) directly from ROM or flash. If unsure, say N. > > Unfortunately, you cannot have it both ways: > > arnd@ocdc-kvm:~/linux-arm$ make O=obj-tmp CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm -sj20 menuconfig > arch/arm/Kconfig:1761:error: recursive dependency detected! > arch/arm/Kconfig:1761: symbol ZBOOT_ROM depends on AUTO_ZRELADDR Ah, right. OK, like I said I'm reworking the whole thing, so the cheapest fix for the time being is "select AUTO_ZRELADDR if !ZBOOT_ROM". Nicolas ^ permalink raw reply [flat|nested] 41+ messages in thread
* Re: [PATCH] ARM: mutually exclude ZBOOT_ROM and AUTO_ZRELADDR [not found] ` <1318607945-6807-1-git-send-email-olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org> 2011-10-14 16:29 ` Arnd Bergmann @ 2011-10-14 18:04 ` Nicolas Pitre 1 sibling, 0 replies; 41+ messages in thread From: Nicolas Pitre @ 2011-10-14 18:04 UTC (permalink / raw) To: Olof Johansson Cc: Russell King - ARM Linux, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-tegra-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, ccross-z5hGa2qSFaRBDgjK7y7TUQ, arnd-r2nGTMty4D4, swarren-DDmLM1+adcrQT0dZR+AlfA, pdeschrijver-DDmLM1+adcrQT0dZR+AlfA On Fri, 14 Oct 2011, Olof Johansson wrote: > This way platforms that want it can select AUTO_ZRELADDR without issues caused by > someone manually also enabling ZBOOT_ROM. > > Signed-off-by: Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org> Acked-by: Nicolas Pitre <nicolas.pitre-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Certainly harmless for the time being. > --- > arch/arm/Kconfig | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > > Russell King wrote at Friday, October 14, 2011 1:15 AM: > > > I'll point out that this makes Tegra incompatible with ZBOOT_ROM, which > > can still be enabled. ZBOOT_ROM=y AUTO_ZRELADDR=y is an invalid > > configuration at runtime. > > Ah, looks like the dependency is only one-way. Since they are mutually > exclusive, how about the below? > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 82973b2..2ad58e8 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1814,6 +1814,7 @@ config ZBOOT_ROM_BSS > config ZBOOT_ROM > bool "Compressed boot loader in ROM/flash" > depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS > + depends on !AUTO_ZRELADDR > help > Say Y here if you intend to execute your compressed kernel image > (zImage) directly from ROM or flash. If unsure, say N. > -- > 1.7.4.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH v6 0/3] Add support for tegra2 based ventana board @ 2011-10-03 13:06 Peter De Schrijver 2011-10-03 13:06 ` [PATCH] arm/tegra: select AUTO_ZRELADDR by default Peter De Schrijver 0 siblings, 1 reply; 41+ messages in thread From: Peter De Schrijver @ 2011-10-03 13:06 UTC (permalink / raw) To: pdeschrijver-DDmLM1+adcrQT0dZR+AlfA Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-kernel-u79uwXL29TY76Z2rM5mHXA, linux-tegra-u79uwXL29TY76Z2rM5mHXA This patch set adds support for the tegra2 based ventana development board. Boot tested on ventana. Uses a table based approach to select the correct init function. Fix some compiler errors. Peter De Schrijver (3): arm/tegra: prepare Seaboard pinmux code for derived boards arm/tegra: add support for ventana pinmuxing arm/tegra: device tree support for ventana board arch/arm/boot/dts/tegra-ventana.dts | 32 ++++++++++++++ arch/arm/mach-tegra/Kconfig | 6 +++ arch/arm/mach-tegra/Makefile | 1 + arch/arm/mach-tegra/Makefile.boot | 1 + arch/arm/mach-tegra/board-dt.c | 5 ++- arch/arm/mach-tegra/board-seaboard-pinmux.c | 63 ++++++++++++++++++++++++--- 6 files changed, 101 insertions(+), 7 deletions(-) create mode 100644 arch/arm/boot/dts/tegra-ventana.dts ^ permalink raw reply [flat|nested] 41+ messages in thread
* [PATCH] arm/tegra: select AUTO_ZRELADDR by default 2011-10-03 13:06 [PATCH v6 0/3] Add support for tegra2 based ventana board Peter De Schrijver @ 2011-10-03 13:06 ` Peter De Schrijver [not found] ` <20111003131352.GX21166@tbergstrom-lnx.Nvidia.com> 0 siblings, 1 reply; 41+ messages in thread From: Peter De Schrijver @ 2011-10-03 13:06 UTC (permalink / raw) To: pdeschrijver Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel, linux-kernel, linux-tegra This patch causes the kernel uncompressor to determine the physical address of the SDRAM at runtime. This allows the kernel to boot on both tegra2 and tegra3 even though SDRAM is at different physical addresses on both SoCs. Change-Id: I91857a590946bbc54168c04bea3a5bd576d87824 Signed-off-by: Peter De Schrijver <pdeschrijver@nvidia.com> --- arch/arm/Kconfig | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4fda167..9fc0678 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -600,6 +600,7 @@ config ARCH_TEGRA select HAVE_CLK select HAVE_SCHED_CLOCK select ARCH_HAS_CPUFREQ + select AUTO_ZRELADDR help This enables support for NVIDIA Tegra based systems (Tegra APX, Tegra 6xx and Tegra 2 series). -- 1.7.7.rc0.72.g4b5ea.dirty ^ permalink raw reply related [flat|nested] 41+ messages in thread
[parent not found: <20111003131352.GX21166@tbergstrom-lnx.Nvidia.com>]
[parent not found: <20111003131352.GX21166-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>]
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20111003131352.GX21166-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org> @ 2011-10-03 16:22 ` Stephen Warren [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173A2C6CAA-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Stephen Warren @ 2011-10-03 16:22 UTC (permalink / raw) To: Peter De Schrijver, Russell King, Colin Cross, Erik Gilling, Olof Johansson Peter De Schrijver wrote at Monday, October 03, 2011 7:14 AM: > Ignore this one. I assume only ignore this copy of the patch because it's a duplicate; the patch itself is still needed, right? -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <74CDBE0F657A3D45AFBB94109FB122FF173A2C6CAA-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173A2C6CAA-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> @ 2011-10-04 8:51 ` Peter De Schrijver 0 siblings, 0 replies; 41+ messages in thread From: Peter De Schrijver @ 2011-10-04 8:51 UTC (permalink / raw) To: Stephen Warren Cc: Russell King, Colin Cross, Erik Gilling, Olof Johansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org On Mon, Oct 03, 2011 at 06:22:47PM +0200, Stephen Warren wrote: > Peter De Schrijver wrote at Monday, October 03, 2011 7:14 AM: > > Ignore this one. > > I assume only ignore this copy of the patch because it's a duplicate; > the patch itself is still needed, right? Yes. Cheers, Peter. ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <1316698045-23190-1-git-send-email-pdeschrijver@nvidia.com>]
[parent not found: <1316698045-23190-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>]
* RE: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <1316698045-23190-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> @ 2011-09-22 16:26 ` Stephen Warren [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF1739554CB9-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Stephen Warren @ 2011-09-22 16:26 UTC (permalink / raw) To: Peter De Schrijver Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Olof Johansson (olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org), Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling Peter De Schrijver wrote at Thursday, September 22, 2011 7:27 AM: > This patch causes the kernel uncompressor to determine the physical address > of the SDRAM at runtime. This allows the kernel to boot on both tegra2 and > tegra3 even though SDRAM is at different physical addresses on both SoCs. Since this deals with Tegra, it should be mailed to/cc the Tegra Maintainers and mailing list too (I've done that here). get_maintainer.pl will no doubt list the main linux-kernel mailing list too. > Change-Id: I91857a590946bbc54168c04bea3a5bd576d87824 And the internal Change-Id lines should be stripped for upstream submissions. > Signed-off-by: Peter De Schrijver <pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> > > --- > arch/arm/Kconfig | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 4fda167..9fc0678 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -600,6 +600,7 @@ config ARCH_TEGRA > select HAVE_CLK > select HAVE_SCHED_CLOCK > select ARCH_HAS_CPUFREQ > + select AUTO_ZRELADDR > help > This enables support for NVIDIA Tegra based systems (Tegra APX, > Tegra 6xx and Tegra 2 series). > -- > 1.7.7.rc0.72.g4b5ea.dirty -- nvpublic ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <74CDBE0F657A3D45AFBB94109FB122FF1739554CB9-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF1739554CB9-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org> @ 2011-09-22 17:58 ` Peter De Schrijver [not found] ` <20110922175800.GC21166-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org> 0 siblings, 1 reply; 41+ messages in thread From: Peter De Schrijver @ 2011-09-22 17:58 UTC (permalink / raw) To: Stephen Warren Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Olof Johansson (olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org), Colin Cross (ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org), Erik Gilling On Thu, Sep 22, 2011 at 06:26:36PM +0200, Stephen Warren wrote: > Peter De Schrijver wrote at Thursday, September 22, 2011 7:27 AM: > > This patch causes the kernel uncompressor to determine the physical address > > of the SDRAM at runtime. This allows the kernel to boot on both tegra2 and > > tegra3 even though SDRAM is at different physical addresses on both SoCs. > > Since this deals with Tegra, it should be mailed to/cc the Tegra > Maintainers and mailing list too (I've done that here). get_maintainer.pl > will no doubt list the main linux-kernel mailing list too. > > > Change-Id: I91857a590946bbc54168c04bea3a5bd576d87824 > > And the internal Change-Id lines should be stripped for upstream > submissions. > Auw indeed. I did it for the previous round, but I really need to write a script to do this :) Cheers, Peter. ^ permalink raw reply [flat|nested] 41+ messages in thread
[parent not found: <20110922175800.GC21166-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>]
* Re: [PATCH] arm/tegra: select AUTO_ZRELADDR by default [not found] ` <20110922175800.GC21166-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org> @ 2011-09-22 18:06 ` Colin Cross 0 siblings, 0 replies; 41+ messages in thread From: Colin Cross @ 2011-09-22 18:06 UTC (permalink / raw) To: Peter De Schrijver Cc: Stephen Warren, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Olof Johansson (olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org), Erik Gilling On Thu, Sep 22, 2011 at 10:58 AM, Peter De Schrijver <pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> wrote: > On Thu, Sep 22, 2011 at 06:26:36PM +0200, Stephen Warren wrote: >> Peter De Schrijver wrote at Thursday, September 22, 2011 7:27 AM: >> > This patch causes the kernel uncompressor to determine the physical address >> > of the SDRAM at runtime. This allows the kernel to boot on both tegra2 and >> > tegra3 even though SDRAM is at different physical addresses on both SoCs. >> >> Since this deals with Tegra, it should be mailed to/cc the Tegra >> Maintainers and mailing list too (I've done that here). get_maintainer.pl >> will no doubt list the main linux-kernel mailing list too. >> >> > Change-Id: I91857a590946bbc54168c04bea3a5bd576d87824 >> >> And the internal Change-Id lines should be stripped for upstream >> submissions. >> > > Auw indeed. I did it for the previous round, but I really need to write a > script to do this :) I use this alias in my .gitconfig: [alias] nochangeid = filter-branch --msg-filter \"sed -e '/^Change-Id:/Id'\" Then: git nochangeid <from>..<to> rewrites all the patch commits without change ids. ^ permalink raw reply [flat|nested] 41+ messages in thread
end of thread, other threads:[~2011-10-15 15:29 UTC | newest]
Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1317172068-14872-1-git-send-email-pdeschrijver@nvidia.com>
[not found] ` <1317172068-14872-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-09-28 17:50 ` [PATCH] arm/tegra: select AUTO_ZRELADDR by default Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173955580F-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-10-13 23:38 ` Olof Johansson
[not found] ` <CAOesGMiuzF47kdmaaFny9Fg1ieox6a75tMFfLRAptvDxz_QPMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-10-14 7:15 ` Russell King - ARM Linux
2011-10-14 14:45 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A260-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-10-14 15:29 ` Arnd Bergmann
[not found] ` <201110141729.41515.arnd-r2nGTMty4D4@public.gmane.org>
2011-10-14 16:12 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A283-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-10-14 16:27 ` Arnd Bergmann
[not found] ` <201110141827.53906.arnd-r2nGTMty4D4@public.gmane.org>
2011-10-14 16:44 ` Olof Johansson
[not found] ` <CAOesGMgDwMeVmwo1WJ3tU+ZdjCSJ6F8mY42e_KwTmzAkGQsqmg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-10-14 18:03 ` Nicolas Pitre
2011-10-14 19:20 ` Russell King - ARM Linux
[not found] ` <20111014192011.GS21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-10-14 20:06 ` Nicolas Pitre
2011-10-14 20:12 ` Russell King - ARM Linux
[not found] ` <20111014201223.GV21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-10-14 20:16 ` Stephen Warren
2011-10-14 20:19 ` Russell King - ARM Linux
2011-10-15 15:29 ` Tixy
2011-10-14 20:26 ` Nicolas Pitre
2011-10-14 20:14 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A362-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-10-14 20:45 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.02.1110141631530.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-10-14 21:01 ` Stephen Warren
2011-10-14 21:28 ` Nicolas Pitre
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173BE1A3A6-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-10-14 22:06 ` Rob Herring
2011-10-14 18:01 ` Nicolas Pitre
2011-10-14 19:20 ` Russell King - ARM Linux
[not found] ` <20111014192057.GT21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-10-14 20:14 ` Nicolas Pitre
2011-10-14 20:17 ` Russell King - ARM Linux
[not found] ` <20111014201737.GW21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-10-14 20:31 ` Nicolas Pitre
2011-10-14 21:13 ` Russell King - ARM Linux
[not found] ` <20111014211311.GY21648-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-10-14 22:26 ` Nicolas Pitre
2011-10-14 17:53 ` Nicolas Pitre
[not found] ` <alpine.LFD.2.02.1110141348270.17040-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2011-10-14 17:58 ` Olof Johansson
[not found] ` <CAOesGMhm_dD=9dyMWQRfH5AXH4AE42+4ckNwhnMUGaBJEHsumg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-10-14 18:00 ` Olof Johansson
2011-10-14 15:59 ` [PATCH] ARM: mutually exclude ZBOOT_ROM and AUTO_ZRELADDR Olof Johansson
[not found] ` <1318607945-6807-1-git-send-email-olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>
2011-10-14 16:29 ` Arnd Bergmann
[not found] ` <201110141829.48634.arnd-r2nGTMty4D4@public.gmane.org>
2011-10-14 18:07 ` Nicolas Pitre
2011-10-14 18:04 ` Nicolas Pitre
2011-10-03 13:06 [PATCH v6 0/3] Add support for tegra2 based ventana board Peter De Schrijver
2011-10-03 13:06 ` [PATCH] arm/tegra: select AUTO_ZRELADDR by default Peter De Schrijver
[not found] ` <20111003131352.GX21166@tbergstrom-lnx.Nvidia.com>
[not found] ` <20111003131352.GX21166-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>
2011-10-03 16:22 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF173A2C6CAA-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-10-04 8:51 ` Peter De Schrijver
[not found] <1316698045-23190-1-git-send-email-pdeschrijver@nvidia.com>
[not found] ` <1316698045-23190-1-git-send-email-pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2011-09-22 16:26 ` Stephen Warren
[not found] ` <74CDBE0F657A3D45AFBB94109FB122FF1739554CB9-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2011-09-22 17:58 ` Peter De Schrijver
[not found] ` <20110922175800.GC21166-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>
2011-09-22 18:06 ` Colin Cross
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox