32 lines
		
	
	
		
			817 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			817 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _LINUX_UNWINDER_H
 | |
| #define _LINUX_UNWINDER_H
 | |
| 
 | |
| #include <asm/stacktrace.h>
 | |
| 
 | |
| struct unwinder {
 | |
| 	const char *name;
 | |
| 	struct list_head list;
 | |
| 	int rating;
 | |
| 	void (*dump)(struct task_struct *, struct pt_regs *,
 | |
| 		     unsigned long *, const struct stacktrace_ops *, void *);
 | |
| };
 | |
| 
 | |
| extern int unwinder_init(void);
 | |
| extern int unwinder_register(struct unwinder *);
 | |
| 
 | |
| extern void unwind_stack(struct task_struct *, struct pt_regs *,
 | |
| 			 unsigned long *, const struct stacktrace_ops *,
 | |
| 			 void *);
 | |
| 
 | |
| extern void stack_reader_dump(struct task_struct *, struct pt_regs *,
 | |
| 			      unsigned long *, const struct stacktrace_ops *,
 | |
| 			      void *);
 | |
| 
 | |
| /*
 | |
|  * Used by fault handling code to signal to the unwinder code that it
 | |
|  * should switch to a different unwinder.
 | |
|  */
 | |
| extern int unwinder_faulted;
 | |
| 
 | |
| #endif /* _LINUX_UNWINDER_H */
 |