
Stefan Roese wrote:
On Thursday 27 March 2008, Larry Johnson wrote:
It's clear now, but unfortunately I don't know enough to tell whether it is also correct :-( . The statement as now written implies that the statement without the clause, i.e., "Only Linux board ports in arch/powerpc with bootwrapper support will have to get fixed in Linux additionally", is also true. If this is not correct (because boards that do not recalculate their memory size do not need to be fixed in Linux), then you would write: "Only Linux board ports in arch/powerpc with bootwrapper support that recalculate the memory size from the SDRAM controller setup will have to get fixed in Linux additionally."
Now I'm confused. :)
Here is the current version I now have in my "master" branch (with your last sentense):
CFG_MEM_TOP_HIDE (PPC only): If CFG_MEM_TOP_HIDE is defined in the board config header, this specified memory area will get subtracted from the top (end) of ram and won't get "touched" at all by U-Boot. By fixing up gd->ram_size the Linux kernel should gets passed the now "corrected" memory size and won't touch it either. This should work for arch/ppc and arch/powerpc. Only Linux board ports in arch/powerpc with bootwrapper support that recalculate the memory size from the SDRAM controller setup will have to get fixed in Linux additionally.
This option can be used as a workaround for the 440EPx/GRx CHIP 11 errata where the last 256 bytes in SDRAM shouldn't be touched.
WARNING: Please make sure that this value is a multiple of the Linux page size (normally 4k). If this is not the case, then the end address of the Linux memory will be located at a non page size aligned address and this could cause major problems.
Please send a patch to change this description if necessary.
Thanks.
I'm not explaining it well, you can look at "http://en.wikipedia.org/wiki/English_relative_clauses" for a better explanation. What you have above should be technically correct, at worse it would be redundant.
Best regards, Larry