diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2008-05-14 23:49:44 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2008-05-23 16:43:11 -0400 |
commit | 4e491d14f2506b218d678935c25a7027b79178b1 (patch) | |
tree | c61c3ca40fe85f8556c579e50e0cb563ffcd06da /arch/powerpc/kernel/setup_32.c | |
parent | e0eca07badc023a675a61906020b397da20f07c3 (diff) |
ftrace: support for PowerPC
This patch adds full support for ftrace for PowerPC (both 64 and 32 bit).
This includes dynamic tracing and function filtering.
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 'arch/powerpc/kernel/setup_32.c')
-rw-r--r-- | arch/powerpc/kernel/setup_32.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c index 5112a4aa801d..22f8e2bacd32 100644 --- a/arch/powerpc/kernel/setup_32.c +++ b/arch/powerpc/kernel/setup_32.c | |||
@@ -47,6 +47,11 @@ | |||
47 | #include <asm/kgdb.h> | 47 | #include <asm/kgdb.h> |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | #ifdef CONFIG_FTRACE | ||
51 | extern void _mcount(void); | ||
52 | EXPORT_SYMBOL(_mcount); | ||
53 | #endif | ||
54 | |||
50 | extern void bootx_init(unsigned long r4, unsigned long phys); | 55 | extern void bootx_init(unsigned long r4, unsigned long phys); |
51 | 56 | ||
52 | int boot_cpuid; | 57 | int boot_cpuid; |
@@ -81,7 +86,7 @@ int ucache_bsize; | |||
81 | * from the address that it was linked at, so we must use RELOC/PTRRELOC | 86 | * from the address that it was linked at, so we must use RELOC/PTRRELOC |
82 | * to access static data (including strings). -- paulus | 87 | * to access static data (including strings). -- paulus |
83 | */ | 88 | */ |
84 | unsigned long __init early_init(unsigned long dt_ptr) | 89 | notrace unsigned long __init early_init(unsigned long dt_ptr) |
85 | { | 90 | { |
86 | unsigned long offset = reloc_offset(); | 91 | unsigned long offset = reloc_offset(); |
87 | struct cpu_spec *spec; | 92 | struct cpu_spec *spec; |
@@ -111,7 +116,7 @@ unsigned long __init early_init(unsigned long dt_ptr) | |||
111 | * This is called very early on the boot process, after a minimal | 116 | * This is called very early on the boot process, after a minimal |
112 | * MMU environment has been set up but before MMU_init is called. | 117 | * MMU environment has been set up but before MMU_init is called. |
113 | */ | 118 | */ |
114 | void __init machine_init(unsigned long dt_ptr, unsigned long phys) | 119 | notrace void __init machine_init(unsigned long dt_ptr, unsigned long phys) |
115 | { | 120 | { |
116 | /* Enable early debugging if any specified (see udbg.h) */ | 121 | /* Enable early debugging if any specified (see udbg.h) */ |
117 | udbg_early_init(); | 122 | udbg_early_init(); |
@@ -133,7 +138,7 @@ void __init machine_init(unsigned long dt_ptr, unsigned long phys) | |||
133 | 138 | ||
134 | #ifdef CONFIG_BOOKE_WDT | 139 | #ifdef CONFIG_BOOKE_WDT |
135 | /* Checks wdt=x and wdt_period=xx command-line option */ | 140 | /* Checks wdt=x and wdt_period=xx command-line option */ |
136 | int __init early_parse_wdt(char *p) | 141 | notrace int __init early_parse_wdt(char *p) |
137 | { | 142 | { |
138 | if (p && strncmp(p, "0", 1) != 0) | 143 | if (p && strncmp(p, "0", 1) != 0) |
139 | booke_wdt_enabled = 1; | 144 | booke_wdt_enabled = 1; |