diff options
author | Yuri Tikhonov <yur@emcraft.com> | 2007-08-25 05:07:16 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2007-08-25 05:07:16 +0200 |
commit | 9c02defc29b57945b600714cf61ddfd02b02fb14 (patch) | |
tree | 9977ca0ba7e1c24bbf2e480677b2bc5a1afcc83b | |
parent | 75e1a84d483e36be10e206e539b028c4889e1158 (diff) |
POST: limit memory test area to not touch global data anymore
As experienced on lwmon5, on some boards the POST memory test can
corrupt the global data buffer (bd). This patch fixes this issue
by checking and limiting this area.
Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Stefan Roese <sr@denx.de>
-rw-r--r-- | post/drivers/memory.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/post/drivers/memory.c b/post/drivers/memory.c index a2c088bad8d..fbc349a852f 100644 --- a/post/drivers/memory.c +++ b/post/drivers/memory.c @@ -461,6 +461,9 @@ int memory_post_test (int flags) unsigned long memsize = (bd->bi_memsize >= 256 << 20 ? 256 << 20 : bd->bi_memsize) - (1 << 20); + /* Limit area to be tested with the board info struct */ + if (CFG_SDRAM_BASE + memsize > (ulong)bd) + memsize = (ulong)bd - CFG_SDRAM_BASE; if (flags & POST_SLOWTEST) { ret = memory_post_tests (CFG_SDRAM_BASE, memsize); |