diff options
Diffstat (limited to 'arch/x86/include/asm/stacktrace.h')
| -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;  int x86_is_stack_id(int id, char *name); +struct thread_info; +struct stacktrace_ops; + +typedef unsigned long (*walk_stack_t)(struct thread_info *tinfo, +				      unsigned long *stack, +				      unsigned long bp, +				      const struct stacktrace_ops *ops, +				      void *data, +				      unsigned long *end, +				      int *graph); + +extern unsigned long +print_context_stack(struct thread_info *tinfo, +		    unsigned long *stack, unsigned long bp, +		    const struct stacktrace_ops *ops, void *data, +		    unsigned long *end, int *graph); +  /* Generic stack tracer with callbacks */  struct stacktrace_ops { @@ -14,6 +31,7 @@ struct stacktrace_ops {  	void (*address)(void *data, unsigned long address, int reliable);  	/* On negative return stop dumping */  	int (*stack)(void *data, char *name); +	walk_stack_t	walk_stack;  };  void dump_trace(struct task_struct *tsk, struct pt_regs *regs, | 
