summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMichal Simek <michal.simek@xilinx.com>2013-05-02 12:49:18 +0200
committerMichal Simek <michal.simek@xilinx.com>2013-05-09 11:13:44 +0200
commita8425d52885de047fc00019cdf3e697b4d32b67a (patch)
tree4766e76596b1cac953d5b7f12fb617179a0ddb9a /arch
parent1e71fa4369b4aad058396b4f38b1a275bc9eb180 (diff)
downloadu-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.c8
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);