aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/stacktrace.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/x86/include/asm/stacktrace.h b/arch/x86/include/asm/stacktrace.h
index cf86a5e73815..6c75151a3cca 100644
--- a/arch/x86/include/asm/stacktrace.h
+++ b/arch/x86/include/asm/stacktrace.h
@@ -5,6 +5,23 @@ extern int kstack_depth_to_print;
5 5
6int x86_is_stack_id(int id, char *name); 6int x86_is_stack_id(int id, char *name);
7 7
8struct thread_info;
9struct stacktrace_ops;
10
11typedef unsigned long (*walk_stack_t)(struct thread_info *tinfo,
12 unsigned long *stack,
13 unsigned long bp,
14 const struct stacktrace_ops *ops,
15 void *data,
16 unsigned long *end,
17 int *graph);
18
19extern unsigned long
20print_context_stack(struct thread_info *tinfo,
21 unsigned long *stack, unsigned long bp,
22 const struct stacktrace_ops *ops, void *data,
23 unsigned long *end, int *graph);
24
8/* Generic stack tracer with callbacks */ 25/* Generic stack tracer with callbacks */
9 26
10struct stacktrace_ops { 27struct stacktrace_ops {
@@ -14,6 +31,7 @@ struct stacktrace_ops {
14 void (*address)(void *data, unsigned long address, int reliable); 31 void (*address)(void *data, unsigned long address, int reliable);
15 /* On negative return stop dumping */ 32 /* On negative return stop dumping */
16 int (*stack)(void *data, char *name); 33 int (*stack)(void *data, char *name);
34 walk_stack_t walk_stack;
17}; 35};
18 36
19void dump_trace(struct task_struct *tsk, struct pt_regs *regs, 37void dump_trace(struct task_struct *tsk, struct pt_regs *regs,