On Mon, Aug 05, 2013 at 02:50:59PM -0500, Dennis Gilmore wrote:
On Mon, 05 Aug 2013 12:39:03 -0600 Stephen Warren swarren@wwwdotorg.org wrote:
On 08/03/2013 01:11 AM, Dennis Gilmore wrote:
[snip]
when it comes to memory addressing a distro and user shouldn't need to know anything. Ideally u-boot will auto allocate addresses based on the size of loaded objects. starting with a base address internal to u-boot you load a kernel, when loading an initramfs u-boot automatically calculates an address that ensures it does not overlap with the kernel. same for a fdt if loaded. I say auto calculated because what we think today will be enough room may not be tomorrow, dynamically calculating gives the flexibility for whatever may come.
The way I've approached this for Tegra is to have the default environment define certain standard environment variables that U-Boot scripts can use, without a care. For example, the kernel should be loaded at ${kernel_addr_r}, initrd at ${ramdisk_addr_r}, DTB at ${fdt_addr_r}, etc.
I really don't want to need to deal with variable names either. I really want to just say load a kernel initramfs and here is some arguments and have the rest just work.
Note that the pxe menu parsing code in turn relies on ${kernel_addr_r} and ${ramdisk_addr_r} (and ${bootargs}) to know where to place what's requested.