1 | /* |
---|---|
2 | * Stack trace support for Microblaze. |
3 | * |
4 | * Copyright (C) 2009 Michal Simek <monstr@monstr.eu> |
5 | * Copyright (C) 2009 PetaLogix |
6 | * |
7 | * This file is subject to the terms and conditions of the GNU General Public |
8 | * License. See the file "COPYING" in the main directory of this archive |
9 | * for more details. |
10 | */ |
11 | |
12 | #include <linux/export.h> |
13 | #include <linux/sched.h> |
14 | #include <linux/stacktrace.h> |
15 | #include <linux/thread_info.h> |
16 | #include <linux/ptrace.h> |
17 | #include <asm/unwind.h> |
18 | |
19 | void save_stack_trace(struct stack_trace *trace) |
20 | { |
21 | /* Exclude our helper functions from the trace*/ |
22 | trace->skip += 2; |
23 | microblaze_unwind(NULL, trace, ""); |
24 | } |
25 | EXPORT_SYMBOL_GPL(save_stack_trace); |
26 | |
27 | void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) |
28 | { |
29 | microblaze_unwind(tsk, trace, ""); |
30 | } |
31 | EXPORT_SYMBOL_GPL(save_stack_trace_tsk); |
32 |