aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>2008-02-02 15:10:32 -0500
committerSam Ravnborg <sam@ravnborg.org>2008-02-03 02:58:07 -0500
commitc0ffa3a951668734a635cd1e26bf7583795854c5 (patch)
tree5fc4f5de59a09edb24d69f563e8b74d2cdc6d6b4
parent603d49885e023d1f68c627c2a2db599fb40eefec (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/Kconfig19
-rw-r--r--arch/arm/Kconfig.instrumentation62
-rw-r--r--kernel/Kconfig.instrumentation2
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
135config ARCH_MTD_XIP 135config ARCH_MTD_XIP
136 bool 136 bool
137 137
138if OPROFILE
139
140config OPROFILE_ARMV6
141 def_bool y
142 depends on CPU_V6 && !SMP
143 select OPROFILE_ARM11_CORE
144
145config OPROFILE_MPCORE
146 def_bool y
147 depends on CPU_V6 && SMP
148 select OPROFILE_ARM11_CORE
149
150config OPROFILE_ARM11_CORE
151 bool
152
153endif
154
138config VECTORS_BASE 155config 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
1129source "fs/Kconfig" 1146source "fs/Kconfig"
1130 1147
1131source "arch/arm/Kconfig.instrumentation" 1148source "kernel/Kconfig.instrumentation"
1132 1149
1133source "arch/arm/Kconfig.debug" 1150source "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 @@
1menuconfig 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
13if INSTRUMENTATION
14
15config 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
21config 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
31config OPROFILE_ARMV6
32 bool
33 depends on OPROFILE && CPU_V6 && !SMP
34 default y
35 select OPROFILE_ARM11_CORE
36
37config OPROFILE_MPCORE
38 bool
39 depends on OPROFILE && CPU_V6 && SMP
40 default y
41 select OPROFILE_ARM11_CORE
42
43config OPROFILE_ARM11_CORE
44 bool
45
46config 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
56config 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
62endif # 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
32config KPROBES 32config 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