diff options
Diffstat (limited to 'arch/sparc64/kernel/stacktrace.c')
| -rw-r--r-- | arch/sparc64/kernel/stacktrace.c | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/arch/sparc64/kernel/stacktrace.c b/arch/sparc64/kernel/stacktrace.c deleted file mode 100644 index c4d15f2762b..00000000000 --- a/arch/sparc64/kernel/stacktrace.c +++ /dev/null @@ -1,41 +0,0 @@ -#include <linux/sched.h> -#include <linux/stacktrace.h> -#include <linux/thread_info.h> -#include <asm/ptrace.h> - -void save_stack_trace(struct stack_trace *trace, struct task_struct *task) -{ - unsigned long ksp, fp, thread_base; - struct thread_info *tp; - - if (!task) - task = current; - tp = task_thread_info(task); - if (task == current) { - flushw_all(); - __asm__ __volatile__( - "mov %%fp, %0" - : "=r" (ksp) - ); - } else - ksp = tp->ksp; - - fp = ksp + STACK_BIAS; - thread_base = (unsigned long) tp; - do { - struct reg_window *rw; - - /* Bogus frame pointer? */ - if (fp < (thread_base + sizeof(struct thread_info)) || - fp >= (thread_base + THREAD_SIZE)) - break; - - rw = (struct reg_window *) fp; - if (trace->skip > 0) - trace->skip--; - else - trace->entries[trace->nr_entries++] = rw->ins[7]; - - fp = rw->ins[6] + STACK_BIAS; - } while (trace->nr_entries < trace->max_entries); -} |
