39 lines
		
	
	
		
			1003 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1003 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 *  Copyright (C) 1991, 1992  Linus Torvalds
 | 
						|
 *  Copyright (C) 2000, 2001, 2002 Andi Kleen, SuSE Labs
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef DUMPSTACK_H
 | 
						|
#define DUMPSTACK_H
 | 
						|
 | 
						|
#ifdef CONFIG_X86_32
 | 
						|
#define STACKSLOTS_PER_LINE 8
 | 
						|
#define get_bp(bp) asm("movl %%ebp, %0" : "=r" (bp) :)
 | 
						|
#else
 | 
						|
#define STACKSLOTS_PER_LINE 4
 | 
						|
#define get_bp(bp) asm("movq %%rbp, %0" : "=r" (bp) :)
 | 
						|
#endif
 | 
						|
 | 
						|
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);
 | 
						|
 | 
						|
extern void
 | 
						|
show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs,
 | 
						|
		unsigned long *stack, unsigned long bp, char *log_lvl);
 | 
						|
 | 
						|
extern void
 | 
						|
show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs,
 | 
						|
		unsigned long *sp, unsigned long bp, char *log_lvl);
 | 
						|
 | 
						|
extern unsigned int code_bytes;
 | 
						|
 | 
						|
/* The form of the top of the frame on the stack */
 | 
						|
struct stack_frame {
 | 
						|
	struct stack_frame *next_frame;
 | 
						|
	unsigned long return_address;
 | 
						|
};
 | 
						|
#endif
 |