aboutsummaryrefslogtreecommitdiff
path: root/common/cmd_log.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/cmd_log.c
parent6956d53d9934862507f83f0e3255dfd4662e7482 (diff)
downloadu-boot-95d449ad4de79dd32b1705b8a4d3550f1e9081e3.zip
u-boot-95d449ad4de79dd32b1705b8a4d3550f1e9081e3.tar.gz
u-boot-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/cmd_log.c')
-rw-r--r--common/cmd_log.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/common/cmd_log.c b/common/cmd_log.c
index c6e72ac..fdcc575 100644
--- a/common/cmd_log.c
+++ b/common/cmd_log.c
@@ -66,6 +66,12 @@ static logbuff_t *log;
#endif
static char *lbuf;
+unsigned long __logbuffer_base(void)
+{
+ return CFG_SDRAM_BASE + gd->bd->bi_memsize - LOGBUFF_LEN;
+}
+unsigned long logbuffer_base (void) __attribute__((weak, alias("__logbuffer_base")));
+
void logbuff_init_ptrs (void)
{
unsigned long tag, post_word;
@@ -75,7 +81,7 @@ void logbuff_init_ptrs (void)
log = (logbuff_t *)CONFIG_ALT_LH_ADDR;
lbuf = (char *)CONFIG_ALT_LB_ADDR;
#else
- log = (logbuff_t *)(gd->bd->bi_memsize-LOGBUFF_LEN) - 1;
+ log = (logbuff_t *)(logbuffer_base ()) - 1;
lbuf = (char *)log->buf;
#endif