aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc64
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2007-05-08 03:23:29 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:14:58 -0400
commitab1b6f03a10ba1f5638188ab06bf46e33ac3a160 (patch)
tree2dc7ce01df5d51d81e250dd9cee1b7b04627466e /arch/sparc64
parent7e4c3690b07f04b1942c39db358a5c8a72831daa (diff)
simplify the stacktrace code
Simplify the stacktrace code: - remove the unused task argument to save_stack_trace, it's always current - remove the all_contexts flag, it's alwasy 0 Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Andi Kleen <ak@suse.de> Cc: Akinobu Mita <akinobu.mita@gmail.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sparc64')
-rw-r--r--arch/sparc64/kernel/stacktrace.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/arch/sparc64/kernel/stacktrace.c b/arch/sparc64/kernel/stacktrace.c
index c4d15f2762b9..47f92a59be18 100644
--- a/arch/sparc64/kernel/stacktrace.c
+++ b/arch/sparc64/kernel/stacktrace.c
@@ -3,22 +3,16 @@
3#include <linux/thread_info.h> 3#include <linux/thread_info.h>
4#include <asm/ptrace.h> 4#include <asm/ptrace.h>
5 5
6void save_stack_trace(struct stack_trace *trace, struct task_struct *task) 6void save_stack_trace(struct stack_trace *trace)
7{ 7{
8 unsigned long ksp, fp, thread_base; 8 unsigned long ksp, fp, thread_base;
9 struct thread_info *tp; 9 struct thread_info *tp = task_thread_info(current);
10 10
11 if (!task) 11 flushw_all();
12 task = current; 12 __asm__ __volatile__(
13 tp = task_thread_info(task); 13 "mov %%fp, %0"
14 if (task == current) { 14 : "=r" (ksp)
15 flushw_all(); 15 );
16 __asm__ __volatile__(
17 "mov %%fp, %0"
18 : "=r" (ksp)
19 );
20 } else
21 ksp = tp->ksp;
22 16
23 fp = ksp + STACK_BIAS; 17 fp = ksp + STACK_BIAS;
24 thread_base = (unsigned long) tp; 18 thread_base = (unsigned long) tp;