Add HAVE_KPROBES
authorMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Sat, 2 Feb 2008 20:10:35 +0000 (15:10 -0500)
committerSam Ravnborg <sam@ravnborg.org>
Sun, 3 Feb 2008 07:58:07 +0000 (08:58 +0100)
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>
arch/arm/Kconfig
arch/avr32/Kconfig
arch/ia64/Kconfig
arch/powerpc/Kconfig
arch/ppc/Kconfig
arch/s390/Kconfig
arch/sparc64/Kconfig
arch/x86/Kconfig
kernel/Kconfig.instrumentation

index 3b3eb4ec318988520058a8511ff51d5f91bd2ad4..ea45eefbf832ffd865542b30c9b4de9ebd852178 100644 (file)
@@ -11,6 +11,7 @@ config ARM
        select RTC_LIB
        select SYS_SUPPORTS_APM_EMULATION
        select HAVE_OPROFILE
+       select HAVE_KPROBES if (!XIP_KERNEL)
        help
          The ARM series is a line of low-power-consumption RISC chip designs
          licensed by ARM Ltd and targeted at embedded applications and
index b46932c4f9f152284282b86779ae0867c692a814..0e56e96a17a7626a4dec36f0f48776e4492df4a6 100644 (file)
@@ -11,6 +11,7 @@ config AVR32
        # that we usually don't need on AVR32.
        select EMBEDDED
        select HAVE_OPROFILE
+       select HAVE_KPROBES
        help
          AVR32 is a high-performance 32-bit RISC microprocessor core,
          designed for cost-sensitive embedded applications, with particular
index 5e410f200c04c49385b0dc46a2248a446cb26738..8db6324f7a83c7060e478bf67fbf0a14a1480c7e 100644 (file)
@@ -16,6 +16,7 @@ config IA64
        select PM if (!IA64_HP_SIM)
        select ARCH_SUPPORTS_MSI
        select HAVE_OPROFILE
+       select HAVE_KPROBES
        default y
        help
          The Itanium Processor Family is Intel's 64-bit successor to
index c3c29e7d281a72fb7af1833e1aefc7f8fd361f50..c6f3eb58e4ed920b0b2203bb86b41a7b6b02534a 100644 (file)
@@ -88,6 +88,7 @@ config PPC
        bool
        default y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config EARLY_PRINTK
        bool
index ea9eb4891b234272ee7d15df3e09a9d38ec6bcca..92e37f5b365bd4985442d47e2c45b59f4e1af90b 100644 (file)
@@ -43,6 +43,7 @@ config PPC
        bool
        default y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config PPC32
        bool
index c561f6fc3d7538fd9b9994e0cd8599fe988fc92b..272c6c80fd7bf40c77424c1389121640ec32f8a2 100644 (file)
@@ -52,6 +52,7 @@ mainmenu "Linux Kernel Configuration"
 config S390
        def_bool y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 source "init/Kconfig"
 
index ca14d880d62418e3ff1157dd8a6ffd39a2a50669..cbdc80d74bcb20d0a9eb2e7e3a1ebad97c21ed16 100644 (file)
@@ -9,6 +9,7 @@ config SPARC
        bool
        default y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config SPARC64
        bool
index 65594884f32f4e500e522a684282919a8fd78028..72db31c78666828ae725240bb85583d095231913 100644 (file)
@@ -19,6 +19,7 @@ config X86_64
 config X86
        def_bool y
        select HAVE_OPROFILE
+       select HAVE_KPROBES
 
 config GENERIC_LOCKBREAK
        def_bool n
index d9d010a271dba0d5ec4b178276010ff9db811ca5..2195b6544575a4e5dc58ffdb3bba3464ff183b81 100644 (file)
@@ -35,7 +35,7 @@ config HAVE_OPROFILE
 config KPROBES
        bool "Kprobes"
        depends on KALLSYMS && MODULES && !UML
-       depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32 || (ARM && !XIP_KERNEL)
+       depends on HAVE_KPROBES
        help
          Kprobes allows you to trap at almost any kernel address and
          execute a callback function.  register_kprobe() establishes
@@ -43,6 +43,9 @@ config KPROBES
          for kernel debugging, non-intrusive instrumentation and testing.
          If in doubt, say "N".
 
+config HAVE_KPROBES
+       def_bool n
+
 config MARKERS
        bool "Activate markers"
        help