• Nicolas Pitre's avatar
    ARM: zImage: allow supplementing appended DTB with traditional ATAG data · b90b9a38
    Nicolas Pitre authored
    Some old bootloaders can't be updated to a device tree capable one,
    yet they provide ATAGs with memory configuration, the ramdisk address,
    the kernel cmdline string, etc.  To allow a device tree enabled
    kernel to be used with such bootloaders, it is necessary to convert those
    ATAGs into FDT properties and fold them into the DTB appended to zImage.
    
    Currently the following ATAGs are converted:
    
    	ATAG_CMDLINE
    	ATAG_MEM
    	ATAG_INITRD2
    
    If the corresponding information already exists in the appended DTB, it
    is replaced, otherwise the required node is created to hold it.
    
    The code looks for ATAGs at the location pointed by the value of r2 upon
    entry into the zImage code.  If no ATAGs are found there, an attempt at
    finding ATAGs at the typical 0x100 offset from start of RAM is made.
    Otherwise the DTB is left unchanged.
    
    Thisstarted from an older patch from John Bonesio <bones@secretlab.ca>,
    with contributions from David Brown <davidb@codeaurora.org>.
    Signed-off-by: default avatarNicolas Pitre <nicolas.pitre@linaro.org>
    Tested-by: default avatarShawn Guo <shawn.guo@linaro.org>
    Tested-by: default avatarDave Martin <dave.martin@linaro.org>
    Tested-by: default avatarThomas Abraham <thomas.abraham@linaro.org>
    b90b9a38
libfdt_env.h 380 Bytes