summaryrefslogtreecommitdiffstats
path: root/arch/ppc64
diff options
context:
space:
mode:
authorOlaf Hering2005-10-29 02:46:50 +0200
committerPaul Mackerras2005-10-29 07:11:35 +0200
commit7e658118faa9faf71f8a8295cdaeb7ca71c04672 (patch)
tree310199b9745eaa292589e1277e3c3f66f46fc881 /arch/ppc64
parent[PATCH] ppc64 boot: proof that reloc works (diff)
downloadkernel-qcow2-linux-7e658118faa9faf71f8a8295cdaeb7ca71c04672.tar.gz
kernel-qcow2-linux-7e658118faa9faf71f8a8295cdaeb7ca71c04672.tar.xz
kernel-qcow2-linux-7e658118faa9faf71f8a8295cdaeb7ca71c04672.zip
[PATCH] ppc64 boot: print firmware provided stackpointer
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@suse.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64')
-rw-r--r--arch/ppc64/boot/crt0.S1
-rw-r--r--arch/ppc64/boot/main.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/ppc64/boot/crt0.S b/arch/ppc64/boot/crt0.S
index 8bfdeaf3be83..9cc442263939 100644
--- a/arch/ppc64/boot/crt0.S
+++ b/arch/ppc64/boot/crt0.S
@@ -54,5 +54,6 @@ clear_caches:
sync
isync
+ mr r6,r1
b start
diff --git a/arch/ppc64/boot/main.c b/arch/ppc64/boot/main.c
index 3304ed34c44b..c1dc876bccab 100644
--- a/arch/ppc64/boot/main.c
+++ b/arch/ppc64/boot/main.c
@@ -131,7 +131,7 @@ static unsigned long try_claim(unsigned long size)
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 long a2, void *promptr)
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