kernel-ark/arch/arm
Nicolas Pitre b90b9a3825 ARM: zImage: allow supplementing appended DTB with traditional ATAG data
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: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Dave Martin <dave.martin@linaro.org>
Tested-by: Thomas Abraham <thomas.abraham@linaro.org>
2011-09-14 13:51:59 -04:00
..
boot ARM: zImage: allow supplementing appended DTB with traditional ATAG data 2011-09-14 13:51:59 -04:00
common Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
configs Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
include/asm Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
kernel All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
lib arm: remove "optimized" SHA1 routines 2011-08-07 14:07:03 -07:00
mach-at91 Merge branch 'at91/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-29 23:32:53 -07:00
mach-bcmring Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:12:10 -07:00
mach-clps711x
mach-cns3xxx Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-davinci Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-dove Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-ebsa110
mach-ep93xx Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:12:10 -07:00
mach-exynos4 Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-footbridge Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-gemini
mach-h720x Merge branch 'devel-stable' into for-next 2011-07-22 23:09:07 +01:00
mach-imx Merge commit 'v3.1-rc1' into imx-fixes 2011-08-08 08:22:41 +02:00
mach-integrator Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-iop13xx Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-iop32x Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-iop33x Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-ixp4xx Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-ixp23xx Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-ixp2000 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-kirkwood Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-ks8695 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-l7200/include/mach
mach-lpc32xx Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-mmp ARM: mmp: Change the way we use timer 0 as clockevent timer. 2011-08-11 10:10:46 +08:00
mach-msm Merge branch 'msm-move-gpio' of git://codeaurora.org/quic/kernel/davidb/linux-msm into gpio/next 2011-08-01 15:16:05 +01:00
mach-mv78xx0 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-mx5 ARM: mx5: board-cpuimx51.c fixup irq_to_gpio() usage 2011-08-08 08:24:16 +02:00
mach-mxs Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-netx
mach-nomadik ARM: Consolidate the clkdev header files 2011-07-19 18:09:45 +02:00
mach-nuc93x Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:12:10 -07:00
mach-omap1 Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:12:10 -07:00
mach-omap2 omap: timer: Set dmtimer used as clocksource in autoreload mode 2011-08-10 07:36:45 -07:00
mach-orion5x Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-pnx4008 Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:12:10 -07:00
mach-prima2
mach-pxa Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-realview Merge branch 'devel-stable' into for-next 2011-07-22 23:09:07 +01:00
mach-rpc
mach-s3c64xx ASoC: Rename WM8915 to WM8996 2011-08-08 14:30:37 +09:00
mach-s3c2400/include/mach ARM: mach-s3c2400: delete 2011-07-18 10:59:26 -04:00
mach-s3c2410 Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-s3c2412 Merge branch 'next/deletion' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-25 12:43:28 -07:00
mach-s3c2416 Merge branch 'next/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-25 12:38:42 -07:00
mach-s3c2440 atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
mach-s3c2443 ARM: S3C24XX: Add clkdev support 2011-07-20 19:11:29 +09:00
mach-s5p64x0 Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-s5pc100 Merge branch 'next-samsung-clkdev-fix' into next-samsung-devel 2011-07-21 17:28:23 +09:00
mach-s5pv210 Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-sa1100 mach-sa1100: fix PCI build problem 2011-08-10 16:00:48 +00:00
mach-shark Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-shmobile ARM: mach-shmobile: sh7372 LCDC1 suspend fix V2 (incremental) 2011-08-27 14:21:00 +02:00
mach-spear3xx ARM: Consolidate the clkdev header files 2011-07-19 18:09:45 +02:00
mach-spear6xx ARM: Consolidate the clkdev header files 2011-07-19 18:09:45 +02:00
mach-tcc8k
mach-tegra Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-u300 Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-ux500 Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
mach-versatile Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-07-29 23:35:05 -07:00
mach-vexpress Merge branches 'btc', 'dma', 'entry', 'fixes', 'linker-layout', 'misc', 'mmci', 'suspend' and 'vfp' into for-next 2011-07-22 23:08:48 +01:00
mach-vt8500
mach-w90x900 ARM: Consolidate the clkdev header files 2011-07-19 18:09:45 +02:00
mach-zynq ARM: zynq: remove incorrectly deleted file 2011-07-28 16:02:53 +00:00
mm ARM: 7008/1: alignment: Make SIGBUS sent to userspace POSIXly correct 2011-08-09 08:42:39 +01:00
nwfpe
oprofile
plat-iop
plat-mxc iMX: Fix build for iMX53 2011-08-08 08:38:45 +02:00
plat-nomadik
plat-omap OMAP: omap_device: only override _noirq methods, not normal suspend/resume 2011-08-25 15:31:14 +02:00
plat-orion
plat-pxa mmc: sdhci-pxa: move platform data to include/linux/platform_data 2011-07-20 17:20:52 -04:00
plat-s3c24xx Merge branch 'next/deletion' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-25 12:43:28 -07:00
plat-s5p Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
plat-samsung Merge branch 'next/devel' of ssh://master.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:41:04 -07:00
plat-spear Merge branch 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc 2011-07-26 17:12:10 -07:00
plat-tcc ARM: Consolidate the clkdev header files 2011-07-19 18:09:45 +02:00
plat-versatile
tools Update Nook Color machine 3284 to common Encore name 2011-08-10 03:41:05 -07:00
vfp Merge branch 'devel-stable' into for-next 2011-07-22 23:09:07 +01:00
Kconfig ARM: zImage: allow supplementing appended DTB with traditional ATAG data 2011-09-14 13:51:59 -04:00
Kconfig-nommu
Kconfig.debug
Makefile Merge branch 'imx/dt' into next/dt 2011-07-28 15:25:46 +00:00