| 
									
										
										
										
											2009-08-13 19:49:03 +09:00
										 |  |  | #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 *); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-16 21:54:48 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Used by fault handling code to signal to the unwinder code that it | 
					
						
							|  |  |  |  * should switch to a different unwinder. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | extern int unwinder_faulted; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-13 19:49:03 +09:00
										 |  |  | #endif /* _LINUX_UNWINDER_H */
 |