diff options
author | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2008-02-02 15:10:35 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-02-03 02:58:07 -0500 |
commit | 3f550096dede4430f83b16457da83bf429155ac2 (patch) | |
tree | 1e352deedbcf23cf97a4ca5a2db7f26dd26a4640 | |
parent | 42d4b839c82fd7dd8e412145eb6d9752468478e2 (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/Kconfig | 1 | ||||
-rw-r--r-- | arch/avr32/Kconfig | 1 | ||||
-rw-r--r-- | arch/ia64/Kconfig | 1 | ||||
-rw-r--r-- | arch/powerpc/Kconfig | 1 | ||||
-rw-r--r-- | arch/ppc/Kconfig | 1 | ||||
-rw-r--r-- | arch/s390/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc64/Kconfig | 1 | ||||
-rw-r--r-- | arch/x86/Kconfig | 1 | ||||
-rw-r--r-- | kernel/Kconfig.instrumentation | 5 |
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 | ||
92 | config EARLY_PRINTK | 93 | config 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 | ||
47 | config PPC32 | 48 | config 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" | |||
52 | config S390 | 52 | config S390 |
53 | def_bool y | 53 | def_bool y |
54 | select HAVE_OPROFILE | 54 | select HAVE_OPROFILE |
55 | select HAVE_KPROBES | ||
55 | 56 | ||
56 | source "init/Kconfig" | 57 | source "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 | ||
13 | config SPARC64 | 14 | config 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 | |||
19 | config X86 | 19 | config X86 |
20 | def_bool y | 20 | def_bool y |
21 | select HAVE_OPROFILE | 21 | select HAVE_OPROFILE |
22 | select HAVE_KPROBES | ||
22 | 23 | ||
23 | config GENERIC_LOCKBREAK | 24 | config 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 | |||
35 | config KPROBES | 35 | config 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 | ||
46 | config HAVE_KPROBES | ||
47 | def_bool n | ||
48 | |||
46 | config MARKERS | 49 | config MARKERS |
47 | bool "Activate markers" | 50 | bool "Activate markers" |
48 | help | 51 | help |