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>
This commit is contained in:
Yuri Tikhonov 2007-08-25 05:07:16 +02:00 committed by Stefan Roese
parent 75e1a84d48
commit 9c02defc29

View File

@ -461,6 +461,9 @@ int memory_post_test (int flags)
unsigned long memsize = (bd->bi_memsize >= 256 << 20 ? unsigned long memsize = (bd->bi_memsize >= 256 << 20 ?
256 << 20 : bd->bi_memsize) - (1 << 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) { if (flags & POST_SLOWTEST) {
ret = memory_post_tests (CFG_SDRAM_BASE, memsize); ret = memory_post_tests (CFG_SDRAM_BASE, memsize);