diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index c613d5fb0daa35774f2d8679f7e01a7bc0ee1de5..0ff5572b3b07677c08b8e588c6560a2d06f2f081 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig @@ -5,6 +5,7 @@ config ALPHA bool default y + select HAVE_OPROFILE help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory, diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 623eaa1f3080de0c148a09e673fadaaae09485e5..3b3eb4ec318988520058a8511ff51d5f91bd2ad4 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -10,6 +10,7 @@ config ARM default y select RTC_LIB select SYS_SUPPORTS_APM_EMULATION + select HAVE_OPROFILE help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index e34e2c9c94cb5b678eeae91929682ab081c7e661..b46932c4f9f152284282b86779ae0867c692a814 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig @@ -10,6 +10,7 @@ config AVR32 # With EMBEDDED=n, we get lots of stuff automatically selected # that we usually don't need on AVR32. select EMBEDDED + select HAVE_OPROFILE help AVR32 is a high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular @@ -54,9 +55,6 @@ config ARCH_HAS_ILOG2_U32 config ARCH_HAS_ILOG2_U64 def_bool n -config ARCH_SUPPORTS_OPROFILE - def_bool y - config GENERIC_HWEIGHT def_bool y diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 4802eb767dc98d7fc7f4dcdd4b80a64e6c211b58..3ba89dc43297c8ecccbc7467b2244843c020249e 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig @@ -24,6 +24,7 @@ config RWSEM_XCHGADD_ALGORITHM config BLACKFIN bool default y + select HAVE_OPROFILE config ZONE_DMA bool diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index c9307c99a1dc26977399b955f9436f9898afca72..5e410f200c04c49385b0dc46a2248a446cb26738 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -15,6 +15,7 @@ config IA64 select ACPI if (!IA64_HP_SIM) select PM if (!IA64_HP_SIM) select ARCH_SUPPORTS_MSI + select HAVE_OPROFILE default y help The Itanium Processor Family is Intel's 64-bit successor to diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index 49326e9d4413117165c26f96da89c2df4c51035e..b93897d65aec531498cf293fb6487a8367f90fd6 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig @@ -8,6 +8,7 @@ mainmenu "Linux/M32R Kernel Configuration" config M32R bool default y + select HAVE_OPROFILE config SBUS bool diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 36a4018f71d26ea7d685ff72578ece6b21815501..eb8be5491c134436cfcb93534988c922c873685a 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -1,6 +1,7 @@ config MIPS bool default y + select HAVE_OPROFILE # Horrible source of confusion. Die, die, die ... select EMBEDDED select RTC_LIB diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 2b649c46631c14fb07d408dd3bad2e0869a8dae6..e1a2f77d398693720d7cdd11608b1ca7c86acdec 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -7,6 +7,7 @@ mainmenu "Linux/PA-RISC Kernel Configuration" config PARISC def_bool y + select HAVE_OPROFILE help The PA-RISC microprocessor is designed by Hewlett-Packard and used in many of their workstations & servers (HP9000 700 and 800 series, diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 4a22c992861837e21eac00b220869b1e56155209..c3c29e7d281a72fb7af1833e1aefc7f8fd361f50 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -87,6 +87,7 @@ config ARCH_NO_VIRT_TO_BUS config PPC bool default y + select HAVE_OPROFILE config EARLY_PRINTK bool diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index db5934cdafb3b9fd603317e53789a8e5230001db..ea9eb4891b234272ee7d15df3e09a9d38ec6bcca 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig @@ -42,6 +42,7 @@ config GENERIC_CALIBRATE_DELAY config PPC bool default y + select HAVE_OPROFILE config PPC32 bool diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 6ef54d27fc001720f738aa3f066e15497503c064..c561f6fc3d7538fd9b9994e0cd8599fe988fc92b 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -51,6 +51,7 @@ mainmenu "Linux Kernel Configuration" config S390 def_bool y + select HAVE_OPROFILE source "init/Kconfig" diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index b30c4c376a831c2a40563b1da7d16c3b64cac731..f868691801ba63366b62a4d97d1f38cc4b4630ee 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -8,6 +8,7 @@ mainmenu "Linux/SuperH Kernel Configuration" config SUPERH def_bool y select EMBEDDED + select HAVE_OPROFILE help The SuperH is a RISC processor targeted for use in embedded systems and consumer electronics; it was also used in the Sega Dreamcast diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 527adc808ad6c8609bc81581d49bcceec1ceb0aa..3d9bc2f0b4710acc364436b250d5975160c986a8 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -63,6 +63,7 @@ config NR_CPUS config SPARC bool default y + select HAVE_OPROFILE # Identify this as a Sparc32 build config SPARC32 diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 158522f51d31d4d6dac1d3a5c011156dc7c2f4e5..ca14d880d62418e3ff1157dd8a6ffd39a2a50669 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig @@ -8,6 +8,7 @@ mainmenu "Linux/UltraSPARC Kernel Configuration" config SPARC bool default y + select HAVE_OPROFILE config SPARC64 bool diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 7109037bdf7c27770a83f078bdd04f039a54e382..65594884f32f4e500e522a684282919a8fd78028 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -18,6 +18,7 @@ config X86_64 ### Arch settings config X86 def_bool y + select HAVE_OPROFILE config GENERIC_LOCKBREAK def_bool n @@ -106,10 +107,6 @@ config GENERIC_TIME_VSYSCALL config HAVE_SETUP_PER_CPU_AREA def_bool X86_64 -config ARCH_SUPPORTS_OPROFILE - bool - default y - select HAVE_KVM config ARCH_HIBERNATION_POSSIBLE diff --git a/kernel/Kconfig.instrumentation b/kernel/Kconfig.instrumentation index a00dcb610233ea541d6346a2101eeef701a43340..d9d010a271dba0d5ec4b178276010ff9db811ca5 100644 --- a/kernel/Kconfig.instrumentation +++ b/kernel/Kconfig.instrumentation @@ -21,7 +21,7 @@ config PROFILING config OPROFILE tristate "OProfile system profiling (EXPERIMENTAL)" depends on PROFILING && !UML - depends on ARCH_SUPPORTS_OPROFILE || ALPHA || ARM || BLACKFIN || IA64 || M32R || PARISC || PPC || S390 || SUPERH || SPARC + depends on HAVE_OPROFILE help OProfile is a profiling system capable of profiling the whole system, include the kernel, kernel modules, libraries, @@ -29,6 +29,9 @@ config OPROFILE If unsure, say N. +config HAVE_OPROFILE + def_bool n + config KPROBES bool "Kprobes" depends on KALLSYMS && MODULES && !UML