powerpc: Don't pass the stack pointer to zImage's start() function
From: David Gibson <hidden>
Date: 2007-03-16 03:46:53
At present, the zImage entry code passes a copy of the stack pointer to the start() function. There's no real reason for this; the only thing start() does with it is print it out. It appears to be a leftover debugging hack, so, this patch removes it. Signed-off-by: David Gibson <redacted> --- Now without a stupid error in the printf(). Please apply. Index: working-2.6/arch/powerpc/boot/crt0.S ===================================================================
--- working-2.6.orig/arch/powerpc/boot/crt0.S 2007-03-15 16:15:51.000000000 +1100
+++ working-2.6/arch/powerpc/boot/crt0.S 2007-03-15 16:16:55.000000000 +1100@@ -86,5 +86,4 @@ _zimage_start: bl platform_init /* Call start */ - mr r3,r1 b start
Index: working-2.6/arch/powerpc/boot/main.c ===================================================================
--- working-2.6.orig/arch/powerpc/boot/main.c 2007-03-15 16:16:48.000000000 +1100
+++ working-2.6/arch/powerpc/boot/main.c 2007-03-15 16:21:54.000000000 +1100@@ -256,7 +256,7 @@ struct dt_ops dt_ops; struct console_ops console_ops; struct loader_info loader_info; -void start(void *sp) +void start(void) { struct addr_range vmlinux, initrd; kernel_entry_t kentry;
@@ -268,8 +268,7 @@ void start(void *sp) if (platform_ops.fixups) platform_ops.fixups(); - printf("\n\rzImage starting: loaded at 0x%p (sp: 0x%p)\n\r", - _start, sp); + printf("\n\rzImage starting: loaded at 0x%p\n\r", _start); vmlinux = prep_kernel(); initrd = prep_initrd(vmlinux, loader_info.initrd_addr,
Index: working-2.6/arch/powerpc/boot/ops.h ===================================================================
--- working-2.6.orig/arch/powerpc/boot/ops.h 2007-03-15 16:15:51.000000000 +1100
+++ working-2.6/arch/powerpc/boot/ops.h 2007-03-15 16:21:54.000000000 +1100@@ -66,7 +66,7 @@ struct loader_info { }; extern struct loader_info loader_info; -void start(void *sp); +void start(void); int ft_init(void *dt_blob, unsigned int max_size, unsigned int max_find_device); int serial_console_init(void); int ns16550_console_init(void *devp, struct serial_console_data *scdp);
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson