[PATCH 1/1] ppc64 boot: print firmware provided stackpointer

Olaf Hering olh at suse.de
Mon Oct 10 21:37:42 EST 2005


Yet another one:




show firmware provided stackpointer during boot.
This helps to find the "taboo" areas on the various boards.
claim tends to fail for these memory areas, but some jokers
return success anyway.

Use %p to print the load address, its a pointer.

Signed-off-by: Olaf Hering <olh at suse.de>

 arch/ppc64/boot/crt0.S |    1 +
 arch/ppc64/boot/main.c |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

Index: linux-2.6.14-rc3/arch/ppc64/boot/crt0.S
===================================================================
--- linux-2.6.14-rc3.orig/arch/ppc64/boot/crt0.S
+++ linux-2.6.14-rc3/arch/ppc64/boot/crt0.S
@@ -54,5 +54,6 @@ clear_caches:
 	sync
 	isync
 
+	mr	r6,r1
 	b	start
 
Index: linux-2.6.14-rc3/arch/ppc64/boot/main.c
===================================================================
--- linux-2.6.14-rc3.orig/arch/ppc64/boot/main.c
+++ linux-2.6.14-rc3/arch/ppc64/boot/main.c
@@ -131,7 +131,7 @@ static unsigned long try_claim(unsigned 
 	return addr;
 }
 
-void start(unsigned long a1, unsigned long a2, void *promptr)
+void start(unsigned long a1, unsigned long a2, void *promptr, void *sp)
 {
 	unsigned long i;
 	int len;
@@ -151,7 +151,7 @@ void start(unsigned long a1, unsigned lo
 	if (getprop(chosen_handle, "stdin", &stdin, sizeof(stdin)) != 4)
 		exit();
 
-	printf("\n\rzImage starting: loaded at 0x%lx\n\r", (unsigned long) _start);
+	printf("\n\rzImage starting: loaded at 0x%p (sp: 0x%p)\n\r", _start, sp);
 
 	/*
 	 * The first available claim_base must be above the end of the

-- 
short story of a lazy sysadmin:
 alias appserv=wotan



More information about the Linuxppc64-dev mailing list