diff options
Diffstat (limited to 'arch/x86/include/asm/stacktrace.h')
| -rw-r--r-- | arch/x86/include/asm/stacktrace.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/x86/include/asm/stacktrace.h b/arch/x86/include/asm/stacktrace.h index cf86a5e73815..35e89122a42f 100644 --- a/arch/x86/include/asm/stacktrace.h +++ b/arch/x86/include/asm/stacktrace.h | |||
| @@ -5,6 +5,29 @@ 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 | |||
| 25 | extern unsigned long | ||
| 26 | print_context_stack_bp(struct thread_info *tinfo, | ||
| 27 | unsigned long *stack, unsigned long bp, | ||
| 28 | const struct stacktrace_ops *ops, void *data, | ||
| 29 | unsigned long *end, int *graph); | ||
| 30 | |||
| 8 | /* Generic stack tracer with callbacks */ | 31 | /* Generic stack tracer with callbacks */ |
| 9 | 32 | ||
| 10 | struct stacktrace_ops { | 33 | struct stacktrace_ops { |
| @@ -14,6 +37,7 @@ struct stacktrace_ops { | |||
| 14 | void (*address)(void *data, unsigned long address, int reliable); | 37 | void (*address)(void *data, unsigned long address, int reliable); |
| 15 | /* On negative return stop dumping */ | 38 | /* On negative return stop dumping */ |
| 16 | int (*stack)(void *data, char *name); | 39 | int (*stack)(void *data, char *name); |
| 40 | walk_stack_t walk_stack; | ||
| 17 | }; | 41 | }; |
| 18 | 42 | ||
| 19 | void dump_trace(struct task_struct *tsk, struct pt_regs *regs, | 43 | void dump_trace(struct task_struct *tsk, struct pt_regs *regs, |
