I am new to embedded Linux development. I have to port uboot and custom Linux distribution to a new ARM based board.
The uboot we are using (2009.08) does not have
The (old) method to pass data between U-Boot and the Linux ARM kernel is called the ATAG memory list. Information such as usable memory regions, machine type and board information are passed from U-Boot to the Linux ARM kernel using this data list.
In U-Boot, ATAGs are built in lib_arm/armlinux.c
(1.1.5) or lib_arm/bootm.c
(2009.08) or arch/arm/lib/bootm.c
(2015.04), and require the configuration options CONFIG_SETUP_MEMORY_TAGS and salient CONFIG_xxx_TAG s.
Then the ATAGs are processed by Linux in arch/arm/kernel/setup.c
.
For documentation see Section 8 of this or this alt site.
Addendum
Also see slide #4 of this presentation about before-Device_Tree booting