diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-05-12 21:20:43 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-23 20:33:35 +0200 |
commit | 3c1720f00bb619302ba19d55986ab565e74d06db (patch) | |
tree | d58aaa54bc8e7a465597f385de36204c3b0b9cf8 /include/linux | |
parent | dfa60aba04dae7833d75b2e2be124bb7cfb8239f (diff) |
ftrace: move memory management out of arch code
This patch moves the memory management of the ftrace
records out of the arch code and into the generic code
making the arch code simpler.
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/ftrace.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h index ccd8537dbdb..d509ad6c9cb 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h @@ -42,19 +42,23 @@ extern void mcount(void); # define FTRACE_HASHBITS 10 # define FTRACE_HASHSIZE (1<<FTRACE_HASHBITS) +enum { + FTRACE_FL_FAILED = (1<<0), +}; + struct dyn_ftrace { struct hlist_node node; unsigned long ip; + unsigned long flags; }; /* defined in arch */ -extern struct dyn_ftrace * -ftrace_alloc_shutdown_node(unsigned long ip); -extern int ftrace_shutdown_arch_init(void); -extern void ftrace_code_disable(struct dyn_ftrace *rec); -extern void ftrace_startup_code(void); -extern void ftrace_shutdown_code(void); -extern void ftrace_shutdown_replenish(void); +extern int ftrace_ip_converted(unsigned long ip); +extern unsigned char *ftrace_nop_replace(void); +extern unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr); +extern int ftrace_dyn_arch_init(void); +extern int ftrace_modify_code(unsigned long ip, unsigned char *old_code, + unsigned char *new_code); #endif #ifdef CONFIG_FRAME_POINTER |