summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2012-06-28 03:54:11 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-10-04 10:25:40 +0200
commitfcfa696b3a354ab1e16601683c61f671487aded7 (patch)
treeb37060c81020cdf10f7827b635aff6b790813424
parent995b72ddda77ffa471930fdc1c3e587d5a6b4aa8 (diff)
downloadu-boot-imx-fcfa696b3a354ab1e16601683c61f671487aded7.zip
u-boot-imx-fcfa696b3a354ab1e16601683c61f671487aded7.tar.gz
u-boot-imx-fcfa696b3a354ab1e16601683c61f671487aded7.tar.bz2
ARM: increase lmb stack space reservation to 4KB
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@aribaud.net> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
-rw-r--r--arch/arm/lib/bootm.c4
1 files 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);
}