aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>2008-02-02 15:10:35 -0500
committerSam Ravnborg <sam@ravnborg.org>2008-02-03 02:58:07 -0500
commit3f550096dede4430f83b16457da83bf429155ac2 (patch)
tree1e352deedbcf23cf97a4ca5a2db7f26dd26a4640
parent42d4b839c82fd7dd8e412145eb6d9752468478e2 (diff)
Add HAVE_KPROBES
Linus: On the per-architecture side, I do think it would be better to *not* have internal architecture knowledge in a generic file, and as such a line like depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 really shouldn't exist in a file like kernel/Kconfig.instrumentation. It would be much better to do depends on ARCH_SUPPORTS_KPROBES in that generic file, and then architectures that do support it would just have a bool ARCH_SUPPORTS_KPROBES default y in *their* architecture files. That would seem to be much more logical, and is readable both for arch maintainers *and* for people who have no clue - and don't care - about which architecture is supposed to support which interface... Changelog: Actually, I know I gave this as the magic incantation, but now that I see it, I realize that I should have told you to just use config KPROBES_SUPPORT def_bool y instead, which is a bit denser. We seem to use both kinds of syntax for these things, but this is really what "def_bool" is there for... - Use HAVE_KPROBES - Use a select - Yet another update : Moving to HAVE_* now. - Update ARM for kprobes support. 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> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/avr32/Kconfig1
-rw-r--r--arch/ia64/Kconfig1
-rw-r--r--arch/powerpc/Kconfig1
-rw-r--r--arch/ppc/Kconfig1
-rw-r--r--arch/s390/Kconfig1
-rw-r--r--arch/sparc64/Kconfig1
-rw-r--r--arch/x86/Kconfig1
-rw-r--r--kernel/Kconfig.instrumentation5
9 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3b3eb4ec3189..ea45eefbf832 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -11,6 +11,7 @@ config ARM
11 select RTC_LIB 11 select RTC_LIB
12 select SYS_SUPPORTS_APM_EMULATION 12 select SYS_SUPPORTS_APM_EMULATION
13 select HAVE_OPROFILE 13 select HAVE_OPROFILE
14 select HAVE_KPROBES if (!XIP_KERNEL)
14 help 15 help
15 The ARM series is a line of low-power-consumption RISC chip designs 16 The ARM series is a line of low-power-consumption RISC chip designs
16 licensed by ARM Ltd and targeted at embedded applications and 17 licensed by ARM Ltd and targeted at embedded applications and
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index b46932c4f9f1..0e56e96a17a7 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -11,6 +11,7 @@ config AVR32
11 # that we usually don't need on AVR32. 11 # that we usually don't need on AVR32.
12 select EMBEDDED 12 select EMBEDDED
13 select HAVE_OPROFILE 13 select HAVE_OPROFILE
14 select HAVE_KPROBES
14 help 15 help
15 AVR32 is a high-performance 32-bit RISC microprocessor core, 16 AVR32 is a high-performance 32-bit RISC microprocessor core,
16 designed for cost-sensitive embedded applications, with particular 17 designed for cost-sensitive embedded applications, with particular
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 5e410f200c04..8db6324f7a83 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -16,6 +16,7 @@ config IA64
16 select PM if (!IA64_HP_SIM) 16 select PM if (!IA64_HP_SIM)
17 select ARCH_SUPPORTS_MSI 17 select ARCH_SUPPORTS_MSI
18 select HAVE_OPROFILE 18 select HAVE_OPROFILE
19 select HAVE_KPROBES
19 default y 20 default y
20 help 21 help
21 The Itanium Processor Family is Intel's 64-bit successor to 22 The Itanium Processor Family is Intel's 64-bit successor to
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c3c29e7d281a..c6f3eb58e4ed 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -88,6 +88,7 @@ config PPC
88 bool 88 bool
89 default y 89 default y
90 select HAVE_OPROFILE 90 select HAVE_OPROFILE
91 select HAVE_KPROBES
91 92
92config EARLY_PRINTK 93config EARLY_PRINTK
93 bool 94 bool
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index ea9eb4891b23..92e37f5b365b 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -43,6 +43,7 @@ config PPC
43 bool 43 bool
44 default y 44 default y
45 select HAVE_OPROFILE 45 select HAVE_OPROFILE
46 select HAVE_KPROBES
46 47
47config PPC32 48config PPC32
48 bool 49 bool
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index c561f6fc3d75..272c6c80fd7b 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -52,6 +52,7 @@ mainmenu "Linux Kernel Configuration"
52config S390 52config S390
53 def_bool y 53 def_bool y
54 select HAVE_OPROFILE 54 select HAVE_OPROFILE
55 select HAVE_KPROBES
55 56
56source "init/Kconfig" 57source "init/Kconfig"
57 58
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index ca14d880d624..cbdc80d74bcb 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -9,6 +9,7 @@ config SPARC
9 bool 9 bool
10 default y 10 default y
11 select HAVE_OPROFILE 11 select HAVE_OPROFILE
12 select HAVE_KPROBES
12 13
13config SPARC64 14config SPARC64
14 bool 15 bool
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 65594884f32f..72db31c78666 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -19,6 +19,7 @@ config X86_64
19config X86 19config X86
20 def_bool y 20 def_bool y
21 select HAVE_OPROFILE 21 select HAVE_OPROFILE
22 select HAVE_KPROBES
22 23
23config GENERIC_LOCKBREAK 24config GENERIC_LOCKBREAK
24 def_bool n 25 def_bool n
diff --git a/kernel/Kconfig.instrumentation b/kernel/Kconfig.instrumentation
index d9d010a271db..2195b6544575 100644
--- a/kernel/Kconfig.instrumentation
+++ b/kernel/Kconfig.instrumentation
@@ -35,7 +35,7 @@ config HAVE_OPROFILE
35config KPROBES 35config KPROBES
36 bool "Kprobes" 36 bool "Kprobes"
37 depends on KALLSYMS && MODULES && !UML 37 depends on KALLSYMS && MODULES && !UML
38 depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 || (ARM && !XIP_KERNEL) 38 depends on HAVE_KPROBES
39 help 39 help
40 Kprobes allows you to trap at almost any kernel address and 40 Kprobes allows you to trap at almost any kernel address and
41 execute a callback function. register_kprobe() establishes 41 execute a callback function. register_kprobe() establishes
@@ -43,6 +43,9 @@ config KPROBES
43 for kernel debugging, non-intrusive instrumentation and testing. 43 for kernel debugging, non-intrusive instrumentation and testing.
44 If in doubt, say "N". 44 If in doubt, say "N".
45 45
46config HAVE_KPROBES
47 def_bool n
48
46config MARKERS 49config MARKERS
47 bool "Activate markers" 50 bool "Activate markers"
48 help 51 help