
On Mon, 2014-03-17 at 15:33 -0400, Tom Rini wrote:
So, I'm confused about what to do here ;-)
And I've not made things clearer with a mis-recollection of things. I don't know why I keep saying "bootm_low" when I mean "bootm_size" like I've done in later patches (and thankfully, when poking people on G+).
Ah, making that substitution makes things make a lot more sense!
There's three ways to say "Please ensure that the FDT and if passed initrd do not relocate above a certain location".
- In the environment, set bootm_size to kernel lowmem. This means that
boot_start_lmb restricts the pool used by both fdt and initrd to that value at the top. 2) In the environment, set fdt_high (and if using initrd, initrd_high) to the top of lowmem. This means that we'll make sure they don't get relocated above that value. 3) In the environment set initrd_high to top of lowmem and set bootm_mapsize to lowmem.
Looking at http://patchwork.ozlabs.org/patch/329210/ it seems that you went for #1 on TI stuff -- so I am going to follow suite.
In all of the above, lowmem can be replaced with any valid size that's also smaller than lowmem, such as 256MB.
256MB sounds like a good value to be starting with.
Another option, in the environment, is to set initrd_high and fdt_high to 0xffffffff and then relocation is disabled. I would _not_ recommend this in the general case as one of the points of relocation is to ensure we don't get overwritten by the kernel BSS.
Sure.
Thanks, Ian.