summaryrefslogtreecommitdiff
path: root/common/cmd_log.c
diff options
context:
space:
mode:
authorMarian Balakowicz <m8@semihalf.com>2008-05-07 13:10:04 +0200
committerWolfgang Denk <wd@denx.de>2008-05-10 00:16:13 +0200
commit1b5605ca57fbb364f4d78eeee28b974ed875e888 (patch)
tree0a19c491ded69f7b2e1771e654e6b90807bde522 /common/cmd_log.c
parentc59518e15949b3403df5c5b0c2c48ea0e5bea24b (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 b9f9ba03428..8e04941d610 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