diff options
author | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2008-02-02 15:10:34 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-02-03 02:58:07 -0500 |
commit | 42d4b839c82fd7dd8e412145eb6d9752468478e2 (patch) | |
tree | 4383e36060c9a9cfca0d198c671e0ae0f8192a29 | |
parent | fb32e03fdc170251a381449a8d9b82cf7e811a6f (diff) |
Add HAVE_OPROFILE
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 ARCH_SUPPORTS_KPROBES
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...
Changelog :
- Moving to HAVE_*.
- Add AVR32 oprofile.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r-- | arch/alpha/Kconfig | 1 | ||||
-rw-r--r-- | arch/arm/Kconfig | 1 | ||||
-rw-r--r-- | arch/avr32/Kconfig | 4 | ||||
-rw-r--r-- | arch/blackfin/Kconfig | 1 | ||||
-rw-r--r-- | arch/ia64/Kconfig | 1 | ||||
-rw-r--r-- | arch/m32r/Kconfig | 1 | ||||
-rw-r--r-- | arch/mips/Kconfig | 1 | ||||
-rw-r--r-- | arch/parisc/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/sh/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc64/Kconfig | 1 | ||||
-rw-r--r-- | arch/x86/Kconfig | 5 | ||||
-rw-r--r-- | kernel/Kconfig.instrumentation | 5 |
16 files changed, 19 insertions, 8 deletions
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index c613d5fb0daa..0ff5572b3b07 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig | |||
@@ -5,6 +5,7 @@ | |||
5 | config ALPHA | 5 | config ALPHA |
6 | bool | 6 | bool |
7 | default y | 7 | default y |
8 | select HAVE_OPROFILE | ||
8 | help | 9 | help |
9 | The Alpha is a 64-bit general-purpose processor designed and | 10 | The Alpha is a 64-bit general-purpose processor designed and |
10 | marketed by the Digital Equipment Corporation of blessed memory, | 11 | marketed by the Digital Equipment Corporation of blessed memory, |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 623eaa1f3080..3b3eb4ec3189 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -10,6 +10,7 @@ config ARM | |||
10 | default y | 10 | default y |
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 | help | 14 | help |
14 | The ARM series is a line of low-power-consumption RISC chip designs | 15 | The ARM series is a line of low-power-consumption RISC chip designs |
15 | licensed by ARM Ltd and targeted at embedded applications and | 16 | licensed by ARM Ltd and targeted at embedded applications and |
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig index e34e2c9c94cb..b46932c4f9f1 100644 --- a/arch/avr32/Kconfig +++ b/arch/avr32/Kconfig | |||
@@ -10,6 +10,7 @@ config AVR32 | |||
10 | # With EMBEDDED=n, we get lots of stuff automatically selected | 10 | # With EMBEDDED=n, we get lots of stuff automatically selected |
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 | help | 14 | help |
14 | AVR32 is a high-performance 32-bit RISC microprocessor core, | 15 | AVR32 is a high-performance 32-bit RISC microprocessor core, |
15 | designed for cost-sensitive embedded applications, with particular | 16 | designed for cost-sensitive embedded applications, with particular |
@@ -54,9 +55,6 @@ config ARCH_HAS_ILOG2_U32 | |||
54 | config ARCH_HAS_ILOG2_U64 | 55 | config ARCH_HAS_ILOG2_U64 |
55 | def_bool n | 56 | def_bool n |
56 | 57 | ||
57 | config ARCH_SUPPORTS_OPROFILE | ||
58 | def_bool y | ||
59 | |||
60 | config GENERIC_HWEIGHT | 58 | config GENERIC_HWEIGHT |
61 | def_bool y | 59 | def_bool y |
62 | 60 | ||
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 4802eb767dc9..3ba89dc43297 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -24,6 +24,7 @@ config RWSEM_XCHGADD_ALGORITHM | |||
24 | config BLACKFIN | 24 | config BLACKFIN |
25 | bool | 25 | bool |
26 | default y | 26 | default y |
27 | select HAVE_OPROFILE | ||
27 | 28 | ||
28 | config ZONE_DMA | 29 | config ZONE_DMA |
29 | bool | 30 | bool |
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index c9307c99a1dc..5e410f200c04 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -15,6 +15,7 @@ config IA64 | |||
15 | select ACPI if (!IA64_HP_SIM) | 15 | select ACPI if (!IA64_HP_SIM) |
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 | default y | 19 | default y |
19 | help | 20 | help |
20 | The Itanium Processor Family is Intel's 64-bit successor to | 21 | The Itanium Processor Family is Intel's 64-bit successor to |
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index 49326e9d4413..b93897d65aec 100644 --- a/arch/m32r/Kconfig +++ b/arch/m32r/Kconfig | |||
@@ -8,6 +8,7 @@ mainmenu "Linux/M32R Kernel Configuration" | |||
8 | config M32R | 8 | config M32R |
9 | bool | 9 | bool |
10 | default y | 10 | default y |
11 | select HAVE_OPROFILE | ||
11 | 12 | ||
12 | config SBUS | 13 | config SBUS |
13 | bool | 14 | bool |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 36a4018f71d2..eb8be5491c13 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -1,6 +1,7 @@ | |||
1 | config MIPS | 1 | config MIPS |
2 | bool | 2 | bool |
3 | default y | 3 | default y |
4 | select HAVE_OPROFILE | ||
4 | # Horrible source of confusion. Die, die, die ... | 5 | # Horrible source of confusion. Die, die, die ... |
5 | select EMBEDDED | 6 | select EMBEDDED |
6 | select RTC_LIB | 7 | select RTC_LIB |
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 2b649c46631c..e1a2f77d3986 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig | |||
@@ -7,6 +7,7 @@ mainmenu "Linux/PA-RISC Kernel Configuration" | |||
7 | 7 | ||
8 | config PARISC | 8 | config PARISC |
9 | def_bool y | 9 | def_bool y |
10 | select HAVE_OPROFILE | ||
10 | help | 11 | help |
11 | The PA-RISC microprocessor is designed by Hewlett-Packard and used | 12 | The PA-RISC microprocessor is designed by Hewlett-Packard and used |
12 | in many of their workstations & servers (HP9000 700 and 800 series, | 13 | in many of their workstations & servers (HP9000 700 and 800 series, |
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 4a22c9928618..c3c29e7d281a 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -87,6 +87,7 @@ config ARCH_NO_VIRT_TO_BUS | |||
87 | config PPC | 87 | config PPC |
88 | bool | 88 | bool |
89 | default y | 89 | default y |
90 | select HAVE_OPROFILE | ||
90 | 91 | ||
91 | config EARLY_PRINTK | 92 | config EARLY_PRINTK |
92 | bool | 93 | bool |
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index db5934cdafb3..ea9eb4891b23 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig | |||
@@ -42,6 +42,7 @@ config GENERIC_CALIBRATE_DELAY | |||
42 | config PPC | 42 | config PPC |
43 | bool | 43 | bool |
44 | default y | 44 | default y |
45 | select HAVE_OPROFILE | ||
45 | 46 | ||
46 | config PPC32 | 47 | config PPC32 |
47 | bool | 48 | bool |
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index 6ef54d27fc00..c561f6fc3d75 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -51,6 +51,7 @@ mainmenu "Linux Kernel Configuration" | |||
51 | 51 | ||
52 | config S390 | 52 | config S390 |
53 | def_bool y | 53 | def_bool y |
54 | select HAVE_OPROFILE | ||
54 | 55 | ||
55 | source "init/Kconfig" | 56 | source "init/Kconfig" |
56 | 57 | ||
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index b30c4c376a83..f868691801ba 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -8,6 +8,7 @@ mainmenu "Linux/SuperH Kernel Configuration" | |||
8 | config SUPERH | 8 | config SUPERH |
9 | def_bool y | 9 | def_bool y |
10 | select EMBEDDED | 10 | select EMBEDDED |
11 | select HAVE_OPROFILE | ||
11 | help | 12 | help |
12 | The SuperH is a RISC processor targeted for use in embedded systems | 13 | The SuperH is a RISC processor targeted for use in embedded systems |
13 | and consumer electronics; it was also used in the Sega Dreamcast | 14 | and consumer electronics; it was also used in the Sega Dreamcast |
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 527adc808ad6..3d9bc2f0b471 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig | |||
@@ -63,6 +63,7 @@ config NR_CPUS | |||
63 | config SPARC | 63 | config SPARC |
64 | bool | 64 | bool |
65 | default y | 65 | default y |
66 | select HAVE_OPROFILE | ||
66 | 67 | ||
67 | # Identify this as a Sparc32 build | 68 | # Identify this as a Sparc32 build |
68 | config SPARC32 | 69 | config SPARC32 |
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 158522f51d31..ca14d880d624 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -8,6 +8,7 @@ mainmenu "Linux/UltraSPARC Kernel Configuration" | |||
8 | config SPARC | 8 | config SPARC |
9 | bool | 9 | bool |
10 | default y | 10 | default y |
11 | select HAVE_OPROFILE | ||
11 | 12 | ||
12 | config SPARC64 | 13 | config SPARC64 |
13 | bool | 14 | bool |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 7109037bdf7c..65594884f32f 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -18,6 +18,7 @@ config X86_64 | |||
18 | ### Arch settings | 18 | ### Arch settings |
19 | config X86 | 19 | config X86 |
20 | def_bool y | 20 | def_bool y |
21 | select HAVE_OPROFILE | ||
21 | 22 | ||
22 | config GENERIC_LOCKBREAK | 23 | config GENERIC_LOCKBREAK |
23 | def_bool n | 24 | def_bool n |
@@ -106,10 +107,6 @@ config GENERIC_TIME_VSYSCALL | |||
106 | config HAVE_SETUP_PER_CPU_AREA | 107 | config HAVE_SETUP_PER_CPU_AREA |
107 | def_bool X86_64 | 108 | def_bool X86_64 |
108 | 109 | ||
109 | config ARCH_SUPPORTS_OPROFILE | ||
110 | bool | ||
111 | default y | ||
112 | |||
113 | select HAVE_KVM | 110 | select HAVE_KVM |
114 | 111 | ||
115 | config ARCH_HIBERNATION_POSSIBLE | 112 | config ARCH_HIBERNATION_POSSIBLE |
diff --git a/kernel/Kconfig.instrumentation b/kernel/Kconfig.instrumentation index a00dcb610233..d9d010a271db 100644 --- a/kernel/Kconfig.instrumentation +++ b/kernel/Kconfig.instrumentation | |||
@@ -21,7 +21,7 @@ config PROFILING | |||
21 | config OPROFILE | 21 | config OPROFILE |
22 | tristate "OProfile system profiling (EXPERIMENTAL)" | 22 | tristate "OProfile system profiling (EXPERIMENTAL)" |
23 | depends on PROFILING && !UML | 23 | depends on PROFILING && !UML |
24 | depends on ARCH_SUPPORTS_OPROFILE || ALPHA || ARM || BLACKFIN || IA64 || M32R || PARISC || PPC || S390 || SUPERH || SPARC | 24 | depends on HAVE_OPROFILE |
25 | help | 25 | help |
26 | OProfile is a profiling system capable of profiling the | 26 | OProfile is a profiling system capable of profiling the |
27 | whole system, include the kernel, kernel modules, libraries, | 27 | whole system, include the kernel, kernel modules, libraries, |
@@ -29,6 +29,9 @@ config OPROFILE | |||
29 | 29 | ||
30 | If unsure, say N. | 30 | If unsure, say N. |
31 | 31 | ||
32 | config HAVE_OPROFILE | ||
33 | def_bool n | ||
34 | |||
32 | config KPROBES | 35 | config KPROBES |
33 | bool "Kprobes" | 36 | bool "Kprobes" |
34 | depends on KALLSYMS && MODULES && !UML | 37 | depends on KALLSYMS && MODULES && !UML |