[U-Boot] [PATCH 2/2] ARM: increase lmb stack space reservation to 4KB
Rob Herring
robherring2 at gmail.com
Fri Aug 17 17:41:00 CEST 2012
Albert,
On 06/28/2012 08:54 AM, Rob Herring 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>
> ---
Can you please apply this fix. I've seen other issues posted that appear
to be the same cause and this same issue was fixed on PPC ~2 years ago.
Rob
> 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);
> }
>
More information about the U-Boot
mailing list