[patch 35/43] ppc64 boot: print firmware provided stackpointer
akpm at osdl.org
akpm at osdl.org
Sat Oct 29 10:46:50 EST 2005
From: Olaf Hering <olh at suse.de>
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>
Cc: Benjamin Herrenschmidt <benh at kernel.crashing.org>
Cc: Anton Blanchard <anton at samba.org>
Cc: Paul Mackerras <paulus at samba.org>
Signed-off-by: Andrew Morton <akpm at osdl.org>
---
arch/ppc64/boot/crt0.S | 1 +
arch/ppc64/boot/main.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff -puN arch/ppc64/boot/crt0.S~ppc64-boot-print-firmware-provided-stackpointer arch/ppc64/boot/crt0.S
--- devel/arch/ppc64/boot/crt0.S~ppc64-boot-print-firmware-provided-stackpointer 2005-10-28 17:44:04.000000000 -0700
+++ devel-akpm/arch/ppc64/boot/crt0.S 2005-10-28 17:44:04.000000000 -0700
@@ -54,5 +54,6 @@ clear_caches:
sync
isync
+ mr r6,r1
b start
diff -puN arch/ppc64/boot/main.c~ppc64-boot-print-firmware-provided-stackpointer arch/ppc64/boot/main.c
--- devel/arch/ppc64/boot/main.c~ppc64-boot-print-firmware-provided-stackpointer 2005-10-28 17:44:04.000000000 -0700
+++ devel-akpm/arch/ppc64/boot/main.c 2005-10-28 17:44:04.000000000 -0700
@@ -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
_
More information about the Linuxppc64-dev
mailing list