2008-12-25 20:38:56 +08:00
|
|
|
#ifndef _ASM_S390_FTRACE_H
|
|
|
|
#define _ASM_S390_FTRACE_H
|
|
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
2009-06-12 16:26:44 +08:00
|
|
|
|
2008-12-25 20:38:56 +08:00
|
|
|
extern void _mcount(void);
|
2009-06-12 16:26:44 +08:00
|
|
|
|
|
|
|
struct dyn_arch_ftrace { };
|
|
|
|
|
|
|
|
#define MCOUNT_ADDR ((long)_mcount)
|
|
|
|
|
|
|
|
#ifdef CONFIG_64BIT
|
2011-01-05 19:48:11 +08:00
|
|
|
#define MCOUNT_INSN_SIZE 12
|
2009-06-12 16:26:46 +08:00
|
|
|
#define MCOUNT_OFFSET 8
|
2011-01-05 19:48:11 +08:00
|
|
|
#else
|
|
|
|
#define MCOUNT_INSN_SIZE 20
|
|
|
|
#define MCOUNT_OFFSET 4
|
2008-12-25 20:38:56 +08:00
|
|
|
#endif
|
|
|
|
|
2009-06-12 16:26:44 +08:00
|
|
|
static inline unsigned long ftrace_call_adjust(unsigned long addr)
|
|
|
|
{
|
|
|
|
return addr - MCOUNT_OFFSET;
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif /* __ASSEMBLY__ */
|
2008-12-25 20:38:56 +08:00
|
|
|
#endif /* _ASM_S390_FTRACE_H */
|