| /* |
| * Stack trace support for Microblaze. |
| * |
| * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> |
| * Copyright (C) 2009 PetaLogix |
| * |
| * This file is subject to the terms and conditions of the GNU General Public |
| * License. See the file "COPYING" in the main directory of this archive |
| * for more details. |
| */ |
| |
| #include <linux/export.h> |
| #include <linux/sched.h> |
| #include <linux/stacktrace.h> |
| #include <linux/thread_info.h> |
| #include <linux/ptrace.h> |
| #include <asm/unwind.h> |
| |
| void save_stack_trace(struct stack_trace *trace) |
| { |
| /* Exclude our helper functions from the trace*/ |
| trace->skip += 2; |
| microblaze_unwind(NULL, trace); |
| } |
| EXPORT_SYMBOL_GPL(save_stack_trace); |
| |
| void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) |
| { |
| microblaze_unwind(tsk, trace); |
| } |
| EXPORT_SYMBOL_GPL(save_stack_trace_tsk); |