[U-Boot] [PATCH 2/2] ARM: increase lmb stack space reservation to 4KB

Albert ARIBAUD albert.u.boot at aribaud.net
Thu Oct 4 10:36:24 CEST 2012


Hi Rob,

On Thu, 28 Jun 2012 08:54:11 -0500, Rob Herring <robherring2 at gmail.com>
wrote:

> From: Rob Herring <rob.herring at calxeda.com>
> 
> The bootm initrd image copy to ram can collide with the stack in cases
> where the print buffer size is large (i.e. 1K). The result is intermittent
> initrd decompression errors depending on the initrd size MOD 4KB since
> the initrd start address is 4KB aligned.
> 
> Cc: Albert ARIBAUD <albert.u.boot at aribaud.net>
> Signed-off-by: Rob Herring <rob.herring at calxeda.com>
> ---
>  arch/arm/lib/bootm.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> index 599547d..999f201 100644
> --- a/arch/arm/lib/bootm.c
> +++ b/arch/arm/lib/bootm.c
> @@ -69,8 +69,8 @@ void arch_lmb_reserve(struct lmb *lmb)
>  	sp = get_sp();
>  	debug("## Current stack ends at 0x%08lx ", sp);
>  
> -	/* adjust sp by 1K to be safe */
> -	sp -= 1024;
> +	/* adjust sp by 4K to be safe */
> +	sp -= 4096;
>  	lmb_reserve(lmb, sp,
>  		    gd->bd->bi_dram[0].start + gd->bd->bi_dram[0].size - sp);
>  }

Applied to u-boot-arm/master, thanks!

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list