summaryrefslogtreecommitdiff
path: root/common/image.c
diff options
context:
space:
mode:
authorMarian Balakowicz <m8@semihalf.com>2008-05-13 15:53:29 +0200
committerWolfgang Denk <wd@denx.de>2008-06-03 19:34:19 +0200
commit95d449ad4de79dd32b1705b8a4d3550f1e9081e3 (patch)
treed8ba02939606d99918d95581520b6caa1a55f3f7 /common/image.c
parent6956d53d9934862507f83f0e3255dfd4662e7482 (diff)
downloadu-boot-imx-95d449ad4de79dd32b1705b8a4d3550f1e9081e3.zip
u-boot-imx-95d449ad4de79dd32b1705b8a4d3550f1e9081e3.tar.gz
u-boot-imx-95d449ad4de79dd32b1705b8a4d3550f1e9081e3.tar.bz2
Avoid initrd and logbuffer area overlaps
Add logbuffer to reserved LMB areas to prevent initrd allocation from overlaping with it. Make sure to use correct logbuffer base address. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Diffstat (limited to 'common/image.c')
-rw-r--r--common/image.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/common/image.c b/common/image.c
index 67e594d..9188024 100644
--- a/common/image.c
+++ b/common/image.c
@@ -35,6 +35,10 @@
#include <dataflash.h>
#endif
+#ifdef CONFIG_LOGBUFFER
+#include <logbuff.h>
+#endif
+
#if defined(CONFIG_TIMESTAMP) || defined(CONFIG_CMD_DATE)
#include <rtc.h>
#endif
@@ -1013,6 +1017,12 @@ int boot_ramdisk_high (struct lmb *lmb, ulong rd_data, ulong rd_len,
initrd_high = ~0;
}
+
+#ifdef CONFIG_LOGBUFFER
+ /* Prevent initrd from overwriting logbuffer */
+ lmb_reserve(lmb, logbuffer_base() - LOGBUFF_OVERHEAD, LOGBUFF_RESERVE);
+#endif
+
debug ("## initrd_high = 0x%08lx, copy_to_ram = %d\n",
initrd_high, initrd_copy_to_ram);