I have a question about the ram_check function. All the board specific codes invoke it like this:
ram_check(0x00000000, 640 * 1024);
I had a look with JTAG debugger and indeed the RAM beyond 640 KByte boundary is not accessible. Why? Is it possible to enable and test all the RAM available?
I would like to remove this function from our codebase.
Please note that this is not a useful RAM test.
Please build coreboot with a memtest86 payload in order to test your RAM setup.
ram_check() is ONLY useful for _very early_ testing of the RAM setup.
Even successful ram_check() does not indicate that RAM is completely correctly set up. You have to run a burn-in test like memtest86 for a long time to have reliable results.
I see. Why is the RAM physically unaccessible beyond 640 KByte at this stage? Is it a specific (legacy) memory controller mode?