summaryrefslogtreecommitdiff
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)
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 c6e72ac3c0c..fdcc57571aa 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