summaryrefslogtreecommitdiff
path: root/include/malloc.h
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2011-06-20 10:10:26 -0700
committerSimon Glass <sjg@chromium.org>2011-08-29 10:39:31 -0700
commit84d9e903f1b6d9c48e3615fd4bb5b2eee3ff79a4 (patch)
tree2c8857bb43492d6a1744ea260597fb83399ff7c2 /include/malloc.h
parent41ba20701710481458bcf01c1396c061c8d66886 (diff)
Modify seaboard configs to allow fdt based startup.
These modifications are necessary to allow the u-boot to bring up ARM targets using the FDT (the flat device tree) as the means of communicating platform's hardware details to the kernel. As of this change, in addition to previously recognized kernel formats (particularly, uImage) the u-boot also accepts a so called FIT image. See doc/uImage.FIT/howto.txt for more information about the FIT image format. As a result, there are now three ways to boot up a kernel: 1. bootm <uImage addr> 2. bootm <uImage addr> - <device tree addr> 3. bootm <FIT image addr> 1. This is the legacy mode which has been using so far. On startup u-boot unpacks the uImage, and passes control to the kernel with the relocation start address, machine ID and pointer to the kernel command line as the three parameters. 2. This is a device tree mode using two separate images - the same uImage and the device tree blob. The '-' in the middle is used to indicate that there is no initrd. The u-boot relocates the device tree into the allotted window, modifies its contents to include target hardware specific information (memory size, clock frequencies, initrd location, command line, etc., etc.) and then invokes the kernel passing the pointer to the device tree as the third parameter instead of the kernel command line. The kernel startup code can tell that the third parameter is the device tree by checking for the appropriate device tree header. 3. In this case the zImage (which is used to create the uImage) and the device tree are combined in another device tree structure, the FIT image. The u-boot recognizes this by detecting the same device tree header pattern in the base of the image. Then it separates the kernel and the kernel device tree, places them in memory and continues as in case 2 above. BUG=chromium-os:16665 TEST=manual Reboot kaen, stop it at the u-boot prompt Prepare networking as follows: Tegra2 # usb start; dhcp; Try booting up the kernel using three different commands: tftpboot ${loadaddr} 172.22.73.75:/tftpboot/vbendeb/uImage; bootm tftpboot ${loadaddr} 172.22.73.75:/tftpboot/vbendeb/uImage; \ tftpboot 0x1300000 172.22.73.75:/tftpboot/vbendeb/kaen.dtb; \ boom ${loadaddr} - 0x1300000 tftpboot ${loadaddr} 172.22.73.75:/tftpboot/vbendeb/itsImage; bootm when booted using method 1 the /proc/device tree directory on the target is empty, when booted using the other two methods the /proc/device-tree directory contains the device tree passed in by u-boot. Change-Id: I2cdcc14170f7873c29844811e15c23a729142beb Reviewed-on: http://gerrit.chromium.org/gerrit/2922 Reviewed-by: Simon Glass <sjg@chromium.org> Tested-by: Vadim Bendebury <vbendeb@chromium.org>
Diffstat (limited to 'include/malloc.h')
0 files changed, 0 insertions, 0 deletions