diff options
author | Steven Rostedt <srostedt@redhat.com> | 2008-05-12 15:20:43 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-23 14:33:35 -0400 |
commit | 3c1720f00bb619302ba19d55986ab565e74d06db (patch) | |
tree | d58aaa54bc8e7a465597f385de36204c3b0b9cf8 /include | |
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')
-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 ccd8537dbdb7..d509ad6c9cb8 100644 --- a/include/linux/ftrace.h +++ b/include/linux/ftrace.h | |||
@@ -42,19 +42,23 @@ extern void mcount(void); | |||
42 | # define FTRACE_HASHBITS 10 | 42 | # define FTRACE_HASHBITS 10 |
43 | # define FTRACE_HASHSIZE (1<<FTRACE_HASHBITS) | 43 | # define FTRACE_HASHSIZE (1<<FTRACE_HASHBITS) |
44 | 44 | ||
45 | enum { | ||
46 | FTRACE_FL_FAILED = (1<<0), | ||
47 | }; | ||
48 | |||
45 | struct dyn_ftrace { | 49 | struct dyn_ftrace { |
46 | struct hlist_node node; | 50 | struct hlist_node node; |
47 | unsigned long ip; | 51 | unsigned long ip; |
52 | unsigned long flags; | ||
48 | }; | 53 | }; |
49 | 54 | ||
50 | /* defined in arch */ | 55 | /* defined in arch */ |
51 | extern struct dyn_ftrace * | 56 | extern int ftrace_ip_converted(unsigned long ip); |
52 | ftrace_alloc_shutdown_node(unsigned long ip); | 57 | extern unsigned char *ftrace_nop_replace(void); |
53 | extern int ftrace_shutdown_arch_init(void); | 58 | extern unsigned char *ftrace_call_replace(unsigned long ip, unsigned long addr); |
54 | extern void ftrace_code_disable(struct dyn_ftrace *rec); | 59 | extern int ftrace_dyn_arch_init(void); |
55 | extern void ftrace_startup_code(void); | 60 | extern int ftrace_modify_code(unsigned long ip, unsigned char *old_code, |
56 | extern void ftrace_shutdown_code(void); | 61 | unsigned char *new_code); |
57 | extern void ftrace_shutdown_replenish(void); | ||
58 | #endif | 62 | #endif |
59 | 63 | ||
60 | #ifdef CONFIG_FRAME_POINTER | 64 | #ifdef CONFIG_FRAME_POINTER |