linux-headers/arch/e2k/include/asm/ftrace.h

49 lines
1.1 KiB
C

#ifndef _ASM_E2K_FTRACE_H
#define _ASM_E2K_FTRACE_H
static inline void return_to_handler(void){}
extern struct ftrace_ops *function_trace_op;
#ifdef CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST
# define HAVE_FUNCTION_GRAPH_FP_TEST
#endif
#ifdef CONFIG_DYNAMIC_FTRACE
/* On e2k _mcount() is used for both dynamic and static cases. */
# define FTRACE_ADDR ((unsigned long) _mcount)
# define MCOUNT_ADDR ((unsigned long) _mcount)
# define MCOUNT_INSN_SIZE 8
# define ARCH_SUPPORTS_FTRACE_OPS 1
extern void _mcount(e2k_cr0_hi_t frompc);
struct dyn_arch_ftrace {
/* No extra data needed for e2k */
};
static inline unsigned long ftrace_call_adjust(unsigned long addr)
{
return addr;
}
#endif /* CONFIG_DYNAMIC_FTRACE */
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
extern unsigned long ftrace_return_to_handler(unsigned long frame_pointer);
#endif
#define ftrace_return_address(n) __e2k_kernel_return_address(n)
#ifdef CONFIG_E2K_STACKS_TRACER
extern int stack_tracer_enabled;
extern int stack_tracer_kernel_only;
int
stack_trace_sysctl(struct ctl_table *table, int write,
void __user *buffer, size_t *lenp,
loff_t *ppos);
#endif
#endif /* _ASM_E2K_FTRACE_H */