From ec7f2473ac125902d38f5d30fb3ce36df0e5df83 Mon Sep 17 00:00:00 2001 From: Wang Nan Date: Tue, 25 Mar 2014 12:09:45 +0800 Subject: Pass initrd position by dtb This patch append the position of initrd to dtb when loading arm kernel and initrd without using atag. Signed-off-by: Wang Nan Acked-by: Dave Young Signed-off-by: Simon Horman --- kexec/arch/arm/kexec-zImage-arm.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'kexec/arch/arm/kexec-zImage-arm.c') diff --git a/kexec/arch/arm/kexec-zImage-arm.c b/kexec/arch/arm/kexec-zImage-arm.c index aea1278..bfbf290 100644 --- a/kexec/arch/arm/kexec-zImage-arm.c +++ b/kexec/arch/arm/kexec-zImage-arm.c @@ -460,6 +460,19 @@ int zImage_arm_load(int argc, char **argv, const char *buf, off_t len, if (ramdisk) { add_segment(info, ramdisk_buf, initrd_size, initrd_base, initrd_size); + + unsigned long start, end; + start = cpu_to_be32((unsigned long)(initrd_base)); + end = cpu_to_be32((unsigned long)(initrd_base + initrd_size)); + + if (setup_dtb_prop(&dtb_buf, &dtb_length, "/chosen", + "linux,initrd-start", &start, + sizeof(start))) + return -1; + if (setup_dtb_prop(&dtb_buf, &dtb_length, "/chosen", + "linux,initrd-end", &end, + sizeof(end))) + return -1; } /* Stick the dtb at the end of the initrd and page -- cgit