diff options
author | Michal Simek <michal.simek@xilinx.com> | 2013-05-02 12:49:18 +0200 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2013-05-09 11:13:44 +0200 |
commit | a8425d52885de047fc00019cdf3e697b4d32b67a (patch) | |
tree | 4766e76596b1cac953d5b7f12fb617179a0ddb9a /arch | |
parent | 1e71fa4369b4aad058396b4f38b1a275bc9eb180 (diff) | |
download | u-boot-imx-a8425d52885de047fc00019cdf3e697b4d32b67a.zip u-boot-imx-a8425d52885de047fc00019cdf3e697b4d32b67a.tar.gz u-boot-imx-a8425d52885de047fc00019cdf3e697b4d32b67a.tar.bz2 |
microblaze: bootm: Add support for loading initrd
fdt_initrd add additional information to DTB about initrd
addresses which are later used by kernel.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/microblaze/lib/bootm.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/microblaze/lib/bootm.c b/arch/microblaze/lib/bootm.c index b992a4d..3842709 100644 --- a/arch/microblaze/lib/bootm.c +++ b/arch/microblaze/lib/bootm.c @@ -64,6 +64,14 @@ int do_bootm_linux(int flag, int argc, char * const argv[], if (!of_flat_tree && argc > 3) of_flat_tree = (char *)simple_strtoul(argv[3], NULL, 16); + + /* fixup the initrd now that we know where it should be */ + if (images->rd_start && images->rd_end && of_flat_tree) + ret = fdt_initrd(of_flat_tree, images->rd_start, + images->rd_end, 1); + if (ret) + return 1; + #ifdef DEBUG printf("## Transferring control to Linux (at address 0x%08lx) ", (ulong)thekernel); |