microblaze: bootm: Add support for loading initrd
authorMichal Simek <michal.simek@xilinx.com>
Thu, 2 May 2013 10:49:18 +0000 (12:49 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 9 May 2013 09:13:44 +0000 (11:13 +0200)
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>
arch/microblaze/lib/bootm.c

index b992a4d..3842709 100644 (file)
@@ -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);