All of lore.kernel.org
 help / color / mirror / Atom feed
From: Allen Martin <amartin@nvidia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V2 2/5] ARM: enhance u-boot.lds to detect over-sized SPL
Date: Fri, 19 Oct 2012 22:49:05 -0700	[thread overview]
Message-ID: <20121020054905.GC25104@badger> (raw)
In-Reply-To: <1350602759-22605-2-git-send-email-swarren@wwwdotorg.org>

On Thu, Oct 18, 2012 at 04:25:56PM -0700, Stephen Warren wrote:
> From: Stephen Warren <swarren@nvidia.com>
> 
> Add an ASSERT() to u-boot.lds to detect an SPL that doesn't fit within
> SPL_TEXT_BASE..SPL_MAX_SIZE.
> 
> Different .lds files implement this check in two possible ways:
> 1) An ASSERT() like this
> 2) Defining a MEMORY region of size SPL_MAX_SIZE, and re-directing all
>    linker output into that region. Since u-boot.lds is used for both
>    SPL and main U-Boot, this would entail only sometimes defining a
>    MEMORY region, and only sometimes performing that redirection, and
>    hence option (1) was deemed much simpler, and hence implemented.
> 
> Note that this causes build failures at least for NVIDIA Tegra Seaboard
> and Ventana. However, these are legitimate; the SPL doesn't fit within
> the required space, and this does cause runtime issues.
> 

Acked-by: Allen Martin <amartin@nvidia.com>

> Signed-off-by: Stephen Warren <swarren@nvidia.com>
> ---
> v2: New patch; replaced checks in Makefile.
> ---
>  arch/arm/cpu/u-boot.lds |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
> index 9153c3d..ec2a273 100644
> --- a/arch/arm/cpu/u-boot.lds
> +++ b/arch/arm/cpu/u-boot.lds
> @@ -92,3 +92,7 @@ SECTIONS
>  	/DISCARD/ : { *(.interp*) }
>  	/DISCARD/ : { *(.gnu*) }
>  }
> +
> +#if defined(CONFIG_SPL_TEXT_BASE) && defined(CONFIG_SPL_MAX_SIZE)
> +ASSERT(__bss_end__ < (CONFIG_SPL_TEXT_BASE + CONFIG_SPL_MAX_SIZE), "SPL image too big");
> +#endif
> -- 
> 1.7.0.4
> 

-- 
nvpublic

  parent reply	other threads:[~2012-10-20  5:49 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-18 23:25 [U-Boot] [PATCH V2 1/5] ARM: fix u-boot.lds for -ffunction-sections/-fdata-sections Stephen Warren
2012-10-18 23:25 ` [U-Boot] [PATCH V2 2/5] ARM: enhance u-boot.lds to detect over-sized SPL Stephen Warren
2012-10-19 19:52   ` Simon Glass
2012-10-20  5:49   ` Allen Martin [this message]
2012-10-18 23:25 ` [U-Boot] [PATCH V2 3/5] ARM: tegra: derive CONFIG_SPL_MAX_SIZE instead of hard-coding it Stephen Warren
2012-10-19 19:49   ` Simon Glass
2012-10-20  5:53   ` Allen Martin
2012-10-18 23:25 ` [U-Boot] [PATCH V2 4/5] ARM: tegra: select between Seaboard/Ventana at compile time Stephen Warren
2012-10-19 19:51   ` Simon Glass
2012-10-19 21:50     ` Stephen Warren
2012-10-20  5:54   ` Allen Martin
2012-10-22 16:09     ` Stephen Warren
2012-10-22 17:26       ` Allen Martin
2012-10-18 23:25 ` [U-Boot] [PATCH V2 5/5] ARM: tegra: don't request GPIO from Seaboard's SPL Stephen Warren
2012-10-19 19:53   ` Simon Glass
2012-10-20  5:58   ` Allen Martin
2012-10-20  5:46 ` [U-Boot] [PATCH V2 1/5] ARM: fix u-boot.lds for -ffunction-sections/-fdata-sections Allen Martin
2012-10-26 21:25 ` Albert ARIBAUD
2012-10-26 21:44   ` Albert ARIBAUD

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121020054905.GC25104@badger \
    --to=amartin@nvidia.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.