Преглед изворни кода

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>
Michal Simek пре 12 година
родитељ
комит
a8425d5288
1 измењених фајлова са 8 додато и 0 уклоњено
  1. 8 0
      arch/microblaze/lib/bootm.c

+ 8 - 0
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);