| /* | 
 |  *  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 |