diff options
author | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2008-02-02 15:10:32 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-02-03 02:58:07 -0500 |
commit | c0ffa3a951668734a635cd1e26bf7583795854c5 (patch) | |
tree | 5fc4f5de59a09edb24d69f563e8b74d2cdc6d6b4 | |
parent | 603d49885e023d1f68c627c2a2db599fb40eefec (diff) |
Fix ARM to play nicely with generic Instrumentation menu
The conflicting commit for
move-kconfiginstrumentation-to-arch-kconfig-and-init-kconfig.patch
is the ARM fix from Linus :
commit 38ad9aebe70dc72df08851bbd1620d89329129ba
He just seemed to agree that my approach (just putting the missing ARM
config options in arch/arm/Kconfig) works too. The main advantage it has
is that it is smaller, does not need a cleanup in the future and does
not break the following patches unnecessarily.
It's just been discussed here
http://lkml.org/lkml/2008/1/15/267
However, Linus might prefer to stay with his own patch and I would
totally understand it that late in the release cycle. Therefore I submit
this for the next release cycle.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
CC: Russell King <rmk+lkml@arm.linux.org.uk>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r-- | arch/arm/Kconfig | 19 | ||||
-rw-r--r-- | arch/arm/Kconfig.instrumentation | 62 | ||||
-rw-r--r-- | kernel/Kconfig.instrumentation | 2 |
3 files changed, 19 insertions, 64 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4b1a8e3d292c..623eaa1f3080 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -135,6 +135,23 @@ config FIQ | |||
135 | config ARCH_MTD_XIP | 135 | config ARCH_MTD_XIP |
136 | bool | 136 | bool |
137 | 137 | ||
138 | if OPROFILE | ||
139 | |||
140 | config OPROFILE_ARMV6 | ||
141 | def_bool y | ||
142 | depends on CPU_V6 && !SMP | ||
143 | select OPROFILE_ARM11_CORE | ||
144 | |||
145 | config OPROFILE_MPCORE | ||
146 | def_bool y | ||
147 | depends on CPU_V6 && SMP | ||
148 | select OPROFILE_ARM11_CORE | ||
149 | |||
150 | config OPROFILE_ARM11_CORE | ||
151 | bool | ||
152 | |||
153 | endif | ||
154 | |||
138 | config VECTORS_BASE | 155 | config VECTORS_BASE |
139 | hex | 156 | hex |
140 | default 0xffff0000 if MMU || CPU_HIGH_VECTOR | 157 | default 0xffff0000 if MMU || CPU_HIGH_VECTOR |
@@ -1128,7 +1145,7 @@ endmenu | |||
1128 | 1145 | ||
1129 | source "fs/Kconfig" | 1146 | source "fs/Kconfig" |
1130 | 1147 | ||
1131 | source "arch/arm/Kconfig.instrumentation" | 1148 | source "kernel/Kconfig.instrumentation" |
1132 | 1149 | ||
1133 | source "arch/arm/Kconfig.debug" | 1150 | source "arch/arm/Kconfig.debug" |
1134 | 1151 | ||
diff --git a/arch/arm/Kconfig.instrumentation b/arch/arm/Kconfig.instrumentation deleted file mode 100644 index 453ad8e15d69..000000000000 --- a/arch/arm/Kconfig.instrumentation +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | menuconfig INSTRUMENTATION | ||
2 | bool "Instrumentation Support" | ||
3 | default y | ||
4 | ---help--- | ||
5 | Say Y here to get to see options related to performance measurement, | ||
6 | system-wide debugging, and testing. This option alone does not add any | ||
7 | kernel code. | ||
8 | |||
9 | If you say N, all options in this submenu will be skipped and | ||
10 | disabled. If you're trying to debug the kernel itself, go see the | ||
11 | Kernel Hacking menu. | ||
12 | |||
13 | if INSTRUMENTATION | ||
14 | |||
15 | config PROFILING | ||
16 | bool "Profiling support (EXPERIMENTAL)" | ||
17 | help | ||
18 | Say Y here to enable the extended profiling support mechanisms used | ||
19 | by profilers such as OProfile. | ||
20 | |||
21 | config OPROFILE | ||
22 | tristate "OProfile system profiling (EXPERIMENTAL)" | ||
23 | depends on PROFILING && !UML | ||
24 | help | ||
25 | OProfile is a profiling system capable of profiling the | ||
26 | whole system, include the kernel, kernel modules, libraries, | ||
27 | and applications. | ||
28 | |||
29 | If unsure, say N. | ||
30 | |||
31 | config OPROFILE_ARMV6 | ||
32 | bool | ||
33 | depends on OPROFILE && CPU_V6 && !SMP | ||
34 | default y | ||
35 | select OPROFILE_ARM11_CORE | ||
36 | |||
37 | config OPROFILE_MPCORE | ||
38 | bool | ||
39 | depends on OPROFILE && CPU_V6 && SMP | ||
40 | default y | ||
41 | select OPROFILE_ARM11_CORE | ||
42 | |||
43 | config OPROFILE_ARM11_CORE | ||
44 | bool | ||
45 | |||
46 | config KPROBES | ||
47 | bool "Kprobes" | ||
48 | depends on KALLSYMS && MODULES && !UML && !XIP_KERNEL | ||
49 | help | ||
50 | Kprobes allows you to trap at almost any kernel address and | ||
51 | execute a callback function. register_kprobe() establishes | ||
52 | a probepoint and specifies the callback. Kprobes is useful | ||
53 | for kernel debugging, non-intrusive instrumentation and testing. | ||
54 | If in doubt, say "N". | ||
55 | |||
56 | config MARKERS | ||
57 | bool "Activate markers" | ||
58 | help | ||
59 | Place an empty function call at each marker site. Can be | ||
60 | dynamically changed for a probe function. | ||
61 | |||
62 | endif # INSTRUMENTATION | ||
diff --git a/kernel/Kconfig.instrumentation b/kernel/Kconfig.instrumentation index 468f47ad7503..a00dcb610233 100644 --- a/kernel/Kconfig.instrumentation +++ b/kernel/Kconfig.instrumentation | |||
@@ -32,7 +32,7 @@ config OPROFILE | |||
32 | config KPROBES | 32 | config KPROBES |
33 | bool "Kprobes" | 33 | bool "Kprobes" |
34 | depends on KALLSYMS && MODULES && !UML | 34 | depends on KALLSYMS && MODULES && !UML |
35 | depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 | 35 | depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 || (ARM && !XIP_KERNEL) |
36 | help | 36 | help |
37 | Kprobes allows you to trap at almost any kernel address and | 37 | Kprobes allows you to trap at almost any kernel address and |
38 | execute a callback function. register_kprobe() establishes | 38 | execute a callback function. register_kprobe() establishes |