| Matt Fleming | bf61ad1 | 2009-08-13 19:49:03 +0900 | [diff] [blame] | 1 | #ifndef _LINUX_UNWINDER_H | 
|  | 2 | #define _LINUX_UNWINDER_H | 
|  | 3 |  | 
|  | 4 | #include <asm/stacktrace.h> | 
|  | 5 |  | 
|  | 6 | struct unwinder { | 
|  | 7 | const char *name; | 
|  | 8 | struct list_head list; | 
|  | 9 | int rating; | 
|  | 10 | void (*dump)(struct task_struct *, struct pt_regs *, | 
|  | 11 | unsigned long *, const struct stacktrace_ops *, void *); | 
|  | 12 | }; | 
|  | 13 |  | 
|  | 14 | extern int unwinder_init(void); | 
|  | 15 | extern int unwinder_register(struct unwinder *); | 
|  | 16 |  | 
|  | 17 | extern void unwind_stack(struct task_struct *, struct pt_regs *, | 
|  | 18 | unsigned long *, const struct stacktrace_ops *, | 
|  | 19 | void *); | 
|  | 20 |  | 
|  | 21 | extern void stack_reader_dump(struct task_struct *, struct pt_regs *, | 
|  | 22 | unsigned long *, const struct stacktrace_ops *, | 
|  | 23 | void *); | 
|  | 24 |  | 
| Matt Fleming | b344e24a | 2009-08-16 21:54:48 +0100 | [diff] [blame] | 25 | /* | 
|  | 26 | * Used by fault handling code to signal to the unwinder code that it | 
|  | 27 | * should switch to a different unwinder. | 
|  | 28 | */ | 
|  | 29 | extern int unwinder_faulted; | 
|  | 30 |  | 
| Matt Fleming | bf61ad1 | 2009-08-13 19:49:03 +0900 | [diff] [blame] | 31 | #endif /* _LINUX_UNWINDER_H */ |