| Shaohua Li | d3e75ff | 2009-01-09 11:29:46 +0800 | [diff] [blame] | 1 | #ifndef _ASM_IA64_FTRACE_H | 
 | 2 | #define _ASM_IA64_FTRACE_H | 
 | 3 |  | 
 | 4 | #ifdef CONFIG_FUNCTION_TRACER | 
 | 5 | #define MCOUNT_INSN_SIZE        32 /* sizeof mcount call */ | 
 | 6 |  | 
 | 7 | #ifndef __ASSEMBLY__ | 
 | 8 | extern void _mcount(unsigned long pfs, unsigned long r1, unsigned long b0, unsigned long r0); | 
 | 9 | #define mcount _mcount | 
 | 10 |  | 
| Shaohua Li | a14a07b | 2009-01-09 11:29:49 +0800 | [diff] [blame] | 11 | #include <asm/kprobes.h> | 
 | 12 | /* In IA64, MCOUNT_ADDR is set in link time, so it's not a constant at compile time */ | 
 | 13 | #define MCOUNT_ADDR (((struct fnptr *)mcount)->ip) | 
 | 14 | #define FTRACE_ADDR (((struct fnptr *)ftrace_caller)->ip) | 
 | 15 |  | 
 | 16 | static inline unsigned long ftrace_call_adjust(unsigned long addr) | 
 | 17 | { | 
 | 18 | 	/* second bundle, insn 2 */ | 
 | 19 | 	return addr - 0x12; | 
 | 20 | } | 
 | 21 |  | 
 | 22 | struct dyn_arch_ftrace { | 
 | 23 | }; | 
| Shaohua Li | d3e75ff | 2009-01-09 11:29:46 +0800 | [diff] [blame] | 24 | #endif | 
 | 25 |  | 
 | 26 | #endif /* CONFIG_FUNCTION_TRACER */ | 
 | 27 |  | 
 | 28 | #endif /* _ASM_IA64_FTRACE_H */ |