this could be used by the kexec userland code.

Signed-off-by: Sebastian Siewior <[EMAIL PROTECTED]>
---
This is done by the 64bit kexec code allready. The 32bit doesn't use the
device tree at all. I'm not sure whether the node has to be a 32bit or
64bit value.

 arch/powerpc/boot/main.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/boot/main.c b/arch/powerpc/boot/main.c
index 27f6af1..a8714cf 100644
--- a/arch/powerpc/boot/main.c
+++ b/arch/powerpc/boot/main.c
@@ -27,7 +27,7 @@ struct addr_range {
 
 #undef DEBUG
 
-static struct addr_range prep_kernel(void)
+static struct addr_range prep_kernel(void *chosen)
 {
        char elfheader[256];
        void *vmlinuz_addr = _vmlinux_start;
@@ -72,7 +72,7 @@ static struct addr_range prep_kernel(void)
                fatal("ran out of data!  only got 0x%x of 0x%lx bytes.\n\r",
                                len, ei.loadsize);
        printf("done 0x%x bytes\n\r", len);
-
+       setprop_val(chosen, "linux,kernel-end", (u32)(ei.memsize));
        flush_cache(addr, ei.loadsize);
 
        return (struct addr_range){addr, ei.memsize};
@@ -180,7 +180,7 @@ void start(void)
        if (!chosen)
                chosen = create_node(NULL, "chosen");
 
-       vmlinux = prep_kernel();
+       vmlinux = prep_kernel(chosen);
        initrd = prep_initrd(vmlinux, chosen,
                             loader_info.initrd_addr, loader_info.initrd_size);
        prep_cmdline(chosen);
-- 
1.5.6.5

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to