1. 31 May, 2014 1 commit
  2. 15 May, 2013 1 commit
    • Gregory CLEMENT's avatar
      ARM: 7722/1: zImage: Convert 32bits memory size and address from ATAG to 64bits DTB · faefd550
      Gregory CLEMENT authored
      
      
      When CONFIG_ARM_APPENDED_DTB is selected, if the bootloader provides
      an ATAG_MEM it replaces the memory size and the memory address in the
      memory node of the device tree. In the case of a system which can
      handle more than 4GB, the memory node cell size is 4: each data
      (memory size and memory address) are 64 bits and then use 2 cells.
      
      The current code in atags_to_fdt.c made the assumption of a cell size
      of 2 (one cell for the memory size and one cell for the memory
      address), this leads to an improper write of the data and ends with a
      boot hang.
      
      This patch writes the memory size and the memory address on the memory
      node in the device tree depending of the size of the memory node (32
      bits or 64 bits).
      
      It has been tested in the 2 cases:
      - with a dtb using skeleton.dtsi
      - and with a dtb using skeleton64.dtsi
      Signed-off-by: default avatarGregory CLEMENT <gregory.clement@free-electrons.com>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      faefd550
  3. 09 Jul, 2012 1 commit
  4. 13 Apr, 2012 1 commit
  5. 14 Sep, 2011 1 commit
    • 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