diff options
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/stacktrace.h | 18 |
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 | ||
6 | int x86_is_stack_id(int id, char *name); | 6 | int x86_is_stack_id(int id, char *name); |
7 | 7 | ||
8 | struct thread_info; | ||
9 | struct stacktrace_ops; | ||
10 | |||
11 | typedef 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 | |||
19 | extern unsigned long | ||
20 | print_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 | ||
10 | struct stacktrace_ops { | 27 | struct 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 | ||
19 | void dump_trace(struct task_struct *tsk, struct pt_regs *regs, | 37 | void dump_trace(struct task_struct *tsk, struct pt_regs *regs, |