aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/Kconfig31
-rw-r--r--arch/alpha/Kconfig3
-rw-r--r--arch/arm/Kconfig21
-rw-r--r--arch/arm/Kconfig.instrumentation62
-rw-r--r--arch/avr32/Kconfig5
-rw-r--r--arch/blackfin/Kconfig3
-rw-r--r--arch/cris/Kconfig2
-rw-r--r--arch/frv/Kconfig2
-rw-r--r--arch/h8300/Kconfig2
-rw-r--r--arch/ia64/Kconfig4
-rw-r--r--arch/m32r/Kconfig3
-rw-r--r--arch/m68k/Kconfig2
-rw-r--r--arch/m68knommu/Kconfig2
-rw-r--r--arch/mips/Kconfig3
-rw-r--r--arch/parisc/Kconfig3
-rw-r--r--arch/powerpc/Kconfig4
-rw-r--r--arch/ppc/Kconfig4
-rw-r--r--arch/s390/Kconfig4
-rw-r--r--arch/sh/Kconfig3
-rw-r--r--arch/sparc/Kconfig3
-rw-r--r--arch/sparc64/Kconfig4
-rw-r--r--arch/um/Kconfig2
-rw-r--r--arch/v850/Kconfig2
-rw-r--r--arch/x86/Kconfig8
-rw-r--r--arch/xtensa/Kconfig2
-rw-r--r--drivers/scsi/aic7xxx/Makefile9
-rw-r--r--include/linux/init.h3
-rw-r--r--init/Kconfig14
-rw-r--r--kernel/Kconfig.instrumentation49
-rw-r--r--lib/Kconfig.debug14
-rw-r--r--scripts/kconfig/mconf.c1
-rw-r--r--scripts/kconfig/menu.c9
-rw-r--r--scripts/mod/modpost.c17
-rwxr-xr-x[-rw-r--r--]scripts/setlocalversion16
34 files changed, 122 insertions, 194 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
new file mode 100644
index 000000000000..3d72dc3fc8f5
--- /dev/null
+++ b/arch/Kconfig
@@ -0,0 +1,31 @@
1#
2# General architecture dependent options
3#
4
5config OPROFILE
6 tristate "OProfile system profiling (EXPERIMENTAL)"
7 depends on PROFILING
8 depends on HAVE_OPROFILE
9 help
10 OProfile is a profiling system capable of profiling the
11 whole system, include the kernel, kernel modules, libraries,
12 and applications.
13
14 If unsure, say N.
15
16config HAVE_OPROFILE
17 def_bool n
18
19config KPROBES
20 bool "Kprobes"
21 depends on KALLSYMS && MODULES
22 depends on HAVE_KPROBES
23 help
24 Kprobes allows you to trap at almost any kernel address and
25 execute a callback function. register_kprobe() establishes
26 a probepoint and specifies the callback. Kprobes is useful
27 for kernel debugging, non-intrusive instrumentation and testing.
28 If in doubt, say "N".
29
30config HAVE_KPROBES
31 def_bool n
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index c613d5fb0daa..9abcd5fd8969 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -5,6 +5,7 @@
5config ALPHA 5config 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,
@@ -649,8 +650,6 @@ source "drivers/Kconfig"
649 650
650source "fs/Kconfig" 651source "fs/Kconfig"
651 652
652source "kernel/Kconfig.instrumentation"
653
654source "arch/alpha/Kconfig.debug" 653source "arch/alpha/Kconfig.debug"
655 654
656# DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig 655# DUMMY_CONSOLE may be defined in drivers/video/console/Kconfig
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4b1a8e3d292c..36176f40dfdf 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -10,6 +10,8 @@ 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
14 select HAVE_KPROBES if (!XIP_KERNEL)
13 help 15 help
14 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
15 licensed by ARM Ltd and targeted at embedded applications and 17 licensed by ARM Ltd and targeted at embedded applications and
@@ -135,6 +137,23 @@ config FIQ
135config ARCH_MTD_XIP 137config ARCH_MTD_XIP
136 bool 138 bool
137 139
140if OPROFILE
141
142config OPROFILE_ARMV6
143 def_bool y
144 depends on CPU_V6 && !SMP
145 select OPROFILE_ARM11_CORE
146
147config OPROFILE_MPCORE
148 def_bool y
149 depends on CPU_V6 && SMP
150 select OPROFILE_ARM11_CORE
151
152config OPROFILE_ARM11_CORE
153 bool
154
155endif
156
138config VECTORS_BASE 157config VECTORS_BASE
139 hex 158 hex
140 default 0xffff0000 if MMU || CPU_HIGH_VECTOR 159 default 0xffff0000 if MMU || CPU_HIGH_VECTOR
@@ -1128,8 +1147,6 @@ endmenu
1128 1147
1129source "fs/Kconfig" 1148source "fs/Kconfig"
1130 1149
1131source "arch/arm/Kconfig.instrumentation"
1132
1133source "arch/arm/Kconfig.debug" 1150source "arch/arm/Kconfig.debug"
1134 1151
1135source "security/Kconfig" 1152source "security/Kconfig"
diff --git a/arch/arm/Kconfig.instrumentation b/arch/arm/Kconfig.instrumentation
deleted file mode 100644
index 453ad8e15d69..000000000000
--- a/arch/arm/Kconfig.instrumentation
+++ /dev/null
@@ -1,62 +0,0 @@
1menuconfig INSTRUMENTATION
2 bool "Instrumentation Support"
3 default y
4 ---help---
5 Say Y here to get to see options related to performance measurement,
6 system-wide debugging, and testing. This option alone does not add any
7 kernel code.
8
9 If you say N, all options in this submenu will be skipped and
10 disabled. If you're trying to debug the kernel itself, go see the
11 Kernel Hacking menu.
12
13if INSTRUMENTATION
14
15config PROFILING
16 bool "Profiling support (EXPERIMENTAL)"
17 help
18 Say Y here to enable the extended profiling support mechanisms used
19 by profilers such as OProfile.
20
21config OPROFILE
22 tristate "OProfile system profiling (EXPERIMENTAL)"
23 depends on PROFILING && !UML
24 help
25 OProfile is a profiling system capable of profiling the
26 whole system, include the kernel, kernel modules, libraries,
27 and applications.
28
29 If unsure, say N.
30
31config OPROFILE_ARMV6
32 bool
33 depends on OPROFILE && CPU_V6 && !SMP
34 default y
35 select OPROFILE_ARM11_CORE
36
37config OPROFILE_MPCORE
38 bool
39 depends on OPROFILE && CPU_V6 && SMP
40 default y
41 select OPROFILE_ARM11_CORE
42
43config OPROFILE_ARM11_CORE
44 bool
45
46config KPROBES
47 bool "Kprobes"
48 depends on KALLSYMS && MODULES && !UML && !XIP_KERNEL
49 help
50 Kprobes allows you to trap at almost any kernel address and
51 execute a callback function. register_kprobe() establishes
52 a probepoint and specifies the callback. Kprobes is useful
53 for kernel debugging, non-intrusive instrumentation and testing.
54 If in doubt, say "N".
55
56config MARKERS
57 bool "Activate markers"
58 help
59 Place an empty function call at each marker site. Can be
60 dynamically changed for a probe function.
61
62endif # INSTRUMENTATION
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index e34e2c9c94cb..0e56e96a17a7 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -10,6 +10,8 @@ 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
14 select HAVE_KPROBES
13 help 15 help
14 AVR32 is a high-performance 32-bit RISC microprocessor core, 16 AVR32 is a high-performance 32-bit RISC microprocessor core,
15 designed for cost-sensitive embedded applications, with particular 17 designed for cost-sensitive embedded applications, with particular
@@ -54,9 +56,6 @@ config ARCH_HAS_ILOG2_U32
54config ARCH_HAS_ILOG2_U64 56config ARCH_HAS_ILOG2_U64
55 def_bool n 57 def_bool n
56 58
57config ARCH_SUPPORTS_OPROFILE
58 def_bool y
59
60config GENERIC_HWEIGHT 59config GENERIC_HWEIGHT
61 def_bool y 60 def_bool y
62 61
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 4802eb767dc9..ba21e33b8b1f 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -24,6 +24,7 @@ config RWSEM_XCHGADD_ALGORITHM
24config BLACKFIN 24config BLACKFIN
25 bool 25 bool
26 default y 26 default y
27 select HAVE_OPROFILE
27 28
28config ZONE_DMA 29config ZONE_DMA
29 bool 30 bool
@@ -973,8 +974,6 @@ source "drivers/Kconfig"
973 974
974source "fs/Kconfig" 975source "fs/Kconfig"
975 976
976source "kernel/Kconfig.instrumentation"
977
978source "arch/blackfin/Kconfig.debug" 977source "arch/blackfin/Kconfig.debug"
979 978
980source "security/Kconfig" 979source "security/Kconfig"
diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index 222da1501f47..7f0be4cd5e9a 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -213,8 +213,6 @@ source "drivers/pci/Kconfig"
213 213
214source "drivers/usb/Kconfig" 214source "drivers/usb/Kconfig"
215 215
216source "kernel/Kconfig.instrumentation"
217
218source "arch/cris/Kconfig.debug" 216source "arch/cris/Kconfig.debug"
219 217
220source "security/Kconfig" 218source "security/Kconfig"
diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig
index e3f965c91e22..68380cb2ff88 100644
--- a/arch/frv/Kconfig
+++ b/arch/frv/Kconfig
@@ -375,8 +375,6 @@ source "drivers/Kconfig"
375 375
376source "fs/Kconfig" 376source "fs/Kconfig"
377 377
378source "kernel/Kconfig.instrumentation"
379
380source "arch/frv/Kconfig.debug" 378source "arch/frv/Kconfig.debug"
381 379
382source "security/Kconfig" 380source "security/Kconfig"
diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig
index ff6a8712bd6d..dc61222e1120 100644
--- a/arch/h8300/Kconfig
+++ b/arch/h8300/Kconfig
@@ -223,8 +223,6 @@ endmenu
223 223
224source "fs/Kconfig" 224source "fs/Kconfig"
225 225
226source "kernel/Kconfig.instrumentation"
227
228source "arch/h8300/Kconfig.debug" 226source "arch/h8300/Kconfig.debug"
229 227
230source "security/Kconfig" 228source "security/Kconfig"
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index c9307c99a1dc..a0740fbd94d9 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -15,6 +15,8 @@ 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
19 select HAVE_KPROBES
18 default y 20 default y
19 help 21 help
20 The Itanium Processor Family is Intel's 64-bit successor to 22 The Itanium Processor Family is Intel's 64-bit successor to
@@ -600,8 +602,6 @@ config IRQ_PER_CPU
600 602
601source "arch/ia64/hp/sim/Kconfig" 603source "arch/ia64/hp/sim/Kconfig"
602 604
603source "kernel/Kconfig.instrumentation"
604
605source "arch/ia64/Kconfig.debug" 605source "arch/ia64/Kconfig.debug"
606 606
607source "security/Kconfig" 607source "security/Kconfig"
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index 49326e9d4413..12259759a2fe 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -8,6 +8,7 @@ mainmenu "Linux/M32R Kernel Configuration"
8config M32R 8config M32R
9 bool 9 bool
10 default y 10 default y
11 select HAVE_OPROFILE
11 12
12config SBUS 13config SBUS
13 bool 14 bool
@@ -426,8 +427,6 @@ source "drivers/Kconfig"
426 427
427source "fs/Kconfig" 428source "fs/Kconfig"
428 429
429source "kernel/Kconfig.instrumentation"
430
431source "arch/m32r/Kconfig.debug" 430source "arch/m32r/Kconfig.debug"
432 431
433source "security/Kconfig" 432source "security/Kconfig"
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 24e6bc09e7a7..8236e42ef711 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -678,8 +678,6 @@ endmenu
678 678
679source "fs/Kconfig" 679source "fs/Kconfig"
680 680
681source "kernel/Kconfig.instrumentation"
682
683source "arch/m68k/Kconfig.debug" 681source "arch/m68k/Kconfig.debug"
684 682
685source "security/Kconfig" 683source "security/Kconfig"
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig
index bd9213749ac2..6abbbb8aac5e 100644
--- a/arch/m68knommu/Kconfig
+++ b/arch/m68knommu/Kconfig
@@ -711,8 +711,6 @@ source "drivers/Kconfig"
711 711
712source "fs/Kconfig" 712source "fs/Kconfig"
713 713
714source "kernel/Kconfig.instrumentation"
715
716source "arch/m68knommu/Kconfig.debug" 714source "arch/m68knommu/Kconfig.debug"
717 715
718source "security/Kconfig" 716source "security/Kconfig"
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 36a4018f71d2..d38ebd3b1201 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1,6 +1,7 @@
1config MIPS 1config 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
@@ -2095,8 +2096,6 @@ source "drivers/Kconfig"
2095 2096
2096source "fs/Kconfig" 2097source "fs/Kconfig"
2097 2098
2098source "kernel/Kconfig.instrumentation"
2099
2100source "arch/mips/Kconfig.debug" 2099source "arch/mips/Kconfig.debug"
2101 2100
2102source "security/Kconfig" 2101source "security/Kconfig"
diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
index 2b649c46631c..25c10fa69647 100644
--- a/arch/parisc/Kconfig
+++ b/arch/parisc/Kconfig
@@ -7,6 +7,7 @@ mainmenu "Linux/PA-RISC Kernel Configuration"
7 7
8config PARISC 8config 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,
@@ -272,8 +273,6 @@ source "drivers/Kconfig"
272 273
273source "fs/Kconfig" 274source "fs/Kconfig"
274 275
275source "kernel/Kconfig.instrumentation"
276
277source "arch/parisc/Kconfig.debug" 276source "arch/parisc/Kconfig.debug"
278 277
279source "security/Kconfig" 278source "security/Kconfig"
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 4a22c9928618..b94d4502a477 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -87,6 +87,8 @@ config ARCH_NO_VIRT_TO_BUS
87config PPC 87config PPC
88 bool 88 bool
89 default y 89 default y
90 select HAVE_OPROFILE
91 select HAVE_KPROBES
90 92
91config EARLY_PRINTK 93config EARLY_PRINTK
92 bool 94 bool
@@ -713,8 +715,6 @@ source "arch/powerpc/sysdev/qe_lib/Kconfig"
713 715
714source "lib/Kconfig" 716source "lib/Kconfig"
715 717
716source "kernel/Kconfig.instrumentation"
717
718source "arch/powerpc/Kconfig.debug" 718source "arch/powerpc/Kconfig.debug"
719 719
720source "security/Kconfig" 720source "security/Kconfig"
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index db5934cdafb3..531156f8919c 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -42,6 +42,8 @@ config GENERIC_CALIBRATE_DELAY
42config PPC 42config PPC
43 bool 43 bool
44 default y 44 default y
45 select HAVE_OPROFILE
46 select HAVE_KPROBES
45 47
46config PPC32 48config PPC32
47 bool 49 bool
@@ -1256,8 +1258,6 @@ endmenu
1256 1258
1257source "lib/Kconfig" 1259source "lib/Kconfig"
1258 1260
1259source "kernel/Kconfig.instrumentation"
1260
1261source "arch/ppc/Kconfig.debug" 1261source "arch/ppc/Kconfig.debug"
1262 1262
1263source "security/Kconfig" 1263source "security/Kconfig"
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index 6ef54d27fc00..974f9c3e89d9 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -51,6 +51,8 @@ mainmenu "Linux Kernel Configuration"
51 51
52config S390 52config S390
53 def_bool y 53 def_bool y
54 select HAVE_OPROFILE
55 select HAVE_KPROBES
54 56
55source "init/Kconfig" 57source "init/Kconfig"
56 58
@@ -526,8 +528,6 @@ source "drivers/Kconfig"
526 528
527source "fs/Kconfig" 529source "fs/Kconfig"
528 530
529source "kernel/Kconfig.instrumentation"
530
531source "arch/s390/Kconfig.debug" 531source "arch/s390/Kconfig.debug"
532 532
533source "security/Kconfig" 533source "security/Kconfig"
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index b30c4c376a83..bfbd54a22bde 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -8,6 +8,7 @@ mainmenu "Linux/SuperH Kernel Configuration"
8config SUPERH 8config 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
@@ -896,8 +897,6 @@ source "drivers/Kconfig"
896 897
897source "fs/Kconfig" 898source "fs/Kconfig"
898 899
899source "kernel/Kconfig.instrumentation"
900
901source "arch/sh/Kconfig.debug" 900source "arch/sh/Kconfig.debug"
902 901
903source "security/Kconfig" 902source "security/Kconfig"
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
index 527adc808ad6..51008a2ba5b4 100644
--- a/arch/sparc/Kconfig
+++ b/arch/sparc/Kconfig
@@ -63,6 +63,7 @@ config NR_CPUS
63config SPARC 63config 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
68config SPARC32 69config SPARC32
@@ -320,8 +321,6 @@ endmenu
320 321
321source "fs/Kconfig" 322source "fs/Kconfig"
322 323
323source "kernel/Kconfig.instrumentation"
324
325source "arch/sparc/Kconfig.debug" 324source "arch/sparc/Kconfig.debug"
326 325
327source "security/Kconfig" 326source "security/Kconfig"
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig
index 158522f51d31..a7739b507b74 100644
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
@@ -8,6 +8,8 @@ mainmenu "Linux/UltraSPARC Kernel Configuration"
8config SPARC 8config SPARC
9 bool 9 bool
10 default y 10 default y
11 select HAVE_OPROFILE
12 select HAVE_KPROBES
11 13
12config SPARC64 14config SPARC64
13 bool 15 bool
@@ -465,8 +467,6 @@ source "drivers/sbus/char/Kconfig"
465 467
466source "fs/Kconfig" 468source "fs/Kconfig"
467 469
468source "kernel/Kconfig.instrumentation"
469
470source "arch/sparc64/Kconfig.debug" 470source "arch/sparc64/Kconfig.debug"
471 471
472source "security/Kconfig" 472source "security/Kconfig"
diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index dd1689b814cb..55945db1313c 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -289,6 +289,4 @@ config INPUT
289 bool 289 bool
290 default n 290 default n
291 291
292source "kernel/Kconfig.instrumentation"
293
294source "arch/um/Kconfig.debug" 292source "arch/um/Kconfig.debug"
diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig
index b6a50b8b38de..ace479ab273f 100644
--- a/arch/v850/Kconfig
+++ b/arch/v850/Kconfig
@@ -331,8 +331,6 @@ source "sound/Kconfig"
331 331
332source "drivers/usb/Kconfig" 332source "drivers/usb/Kconfig"
333 333
334source "kernel/Kconfig.instrumentation"
335
336source "arch/v850/Kconfig.debug" 334source "arch/v850/Kconfig.debug"
337 335
338source "security/Kconfig" 336source "security/Kconfig"
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7109037bdf7c..3162cb467ab3 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -18,6 +18,8 @@ config X86_64
18### Arch settings 18### Arch settings
19config X86 19config X86
20 def_bool y 20 def_bool y
21 select HAVE_OPROFILE
22 select HAVE_KPROBES
21 23
22config GENERIC_LOCKBREAK 24config GENERIC_LOCKBREAK
23 def_bool n 25 def_bool n
@@ -106,10 +108,6 @@ config GENERIC_TIME_VSYSCALL
106config HAVE_SETUP_PER_CPU_AREA 108config HAVE_SETUP_PER_CPU_AREA
107 def_bool X86_64 109 def_bool X86_64
108 110
109config ARCH_SUPPORTS_OPROFILE
110 bool
111 default y
112
113select HAVE_KVM 111select HAVE_KVM
114 112
115config ARCH_HIBERNATION_POSSIBLE 113config ARCH_HIBERNATION_POSSIBLE
@@ -1597,8 +1595,6 @@ source "drivers/firmware/Kconfig"
1597 1595
1598source "fs/Kconfig" 1596source "fs/Kconfig"
1599 1597
1600source "kernel/Kconfig.instrumentation"
1601
1602source "arch/x86/Kconfig.debug" 1598source "arch/x86/Kconfig.debug"
1603 1599
1604source "security/Kconfig" 1600source "security/Kconfig"
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index 844721e8e3dd..5d5546ce88fe 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -246,8 +246,6 @@ config EMBEDDED_RAMDISK_IMAGE
246 provide one yourself. 246 provide one yourself.
247endmenu 247endmenu
248 248
249source "kernel/Kconfig.instrumentation"
250
251source "arch/xtensa/Kconfig.debug" 249source "arch/xtensa/Kconfig.debug"
252 250
253source "security/Kconfig" 251source "security/Kconfig"
diff --git a/drivers/scsi/aic7xxx/Makefile b/drivers/scsi/aic7xxx/Makefile
index e4f70c563bc2..4c549540a35d 100644
--- a/drivers/scsi/aic7xxx/Makefile
+++ b/drivers/scsi/aic7xxx/Makefile
@@ -44,13 +44,8 @@ clean-files += aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c
44 44
45# Dependencies for generated files need to be listed explicitly 45# Dependencies for generated files need to be listed explicitly
46 46
47$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_seq.h 47$(addprefix $(src)/,$(aic7xxx-y:.o=.c)): $(obj)/aic7xxx_seq.h $(obj)/aic7xxx_reg.h
48$(obj)/aic7xxx_core.o: $(obj)/aic7xxx_reg.h 48$(addprefix $(src)/,$(aic79xx-y:.o=.c)): $(obj)/aic79xx_seq.h $(obj)/aic79xx_reg.h
49$(obj)/aic79xx_core.o: $(obj)/aic79xx_seq.h
50$(obj)/aic79xx_core.o: $(obj)/aic79xx_reg.h
51
52$(addprefix $(obj)/,$(aic7xxx-y)): $(obj)/aic7xxx_seq.h
53$(addprefix $(obj)/,$(aic79xx-y)): $(obj)/aic79xx_seq.h
54 49
55aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE) := $(obj)/aic7xxx_reg.h 50aic7xxx-gen-$(CONFIG_AIC7XXX_BUILD_FIRMWARE) := $(obj)/aic7xxx_reg.h
56aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += $(obj)/aic7xxx_reg_print.c 51aic7xxx-gen-$(CONFIG_AIC7XXX_REG_PRETTY_PRINT) += $(obj)/aic7xxx_reg_print.c
diff --git a/include/linux/init.h b/include/linux/init.h
index 2efbda016741..90cdbbbbe077 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -124,9 +124,6 @@
124#define __REF .section ".ref.text", "ax" 124#define __REF .section ".ref.text", "ax"
125#define __REFDATA .section ".ref.data", "aw" 125#define __REFDATA .section ".ref.data", "aw"
126#define __REFCONST .section ".ref.rodata", "aw" 126#define __REFCONST .section ".ref.rodata", "aw"
127/* backward compatibility */
128#define __INIT_REFOK .section __REF
129#define __INITDATA_REFOK .section __REFDATA
130 127
131#ifndef __ASSEMBLY__ 128#ifndef __ASSEMBLY__
132/* 129/*
diff --git a/init/Kconfig b/init/Kconfig
index dcc96a8c8c69..b2acdeb2d312 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -665,6 +665,20 @@ config SLOB
665 665
666endchoice 666endchoice
667 667
668config PROFILING
669 bool "Profiling support (EXPERIMENTAL)"
670 help
671 Say Y here to enable the extended profiling support mechanisms used
672 by profilers such as OProfile.
673
674config MARKERS
675 bool "Activate markers"
676 help
677 Place an empty function call at each marker site. Can be
678 dynamically changed for a probe function.
679
680source "arch/Kconfig"
681
668endmenu # General setup 682endmenu # General setup
669 683
670config SLABINFO 684config SLABINFO
diff --git a/kernel/Kconfig.instrumentation b/kernel/Kconfig.instrumentation
deleted file mode 100644
index 468f47ad7503..000000000000
--- a/kernel/Kconfig.instrumentation
+++ /dev/null
@@ -1,49 +0,0 @@
1menuconfig INSTRUMENTATION
2 bool "Instrumentation Support"
3 default y
4 ---help---
5 Say Y here to get to see options related to performance measurement,
6 system-wide debugging, and testing. This option alone does not add any
7 kernel code.
8
9 If you say N, all options in this submenu will be skipped and
10 disabled. If you're trying to debug the kernel itself, go see the
11 Kernel Hacking menu.
12
13if INSTRUMENTATION
14
15config PROFILING
16 bool "Profiling support (EXPERIMENTAL)"
17 help
18 Say Y here to enable the extended profiling support mechanisms used
19 by profilers such as OProfile.
20
21config OPROFILE
22 tristate "OProfile system profiling (EXPERIMENTAL)"
23 depends on PROFILING && !UML
24 depends on ARCH_SUPPORTS_OPROFILE || ALPHA || ARM || BLACKFIN || IA64 || M32R || PARISC || PPC || S390 || SUPERH || SPARC
25 help
26 OProfile is a profiling system capable of profiling the
27 whole system, include the kernel, kernel modules, libraries,
28 and applications.
29
30 If unsure, say N.
31
32config KPROBES
33 bool "Kprobes"
34 depends on KALLSYMS && MODULES && !UML
35 depends on X86_32 || IA64 || PPC || S390 || SPARC64 || X86_64 || AVR32
36 help
37 Kprobes allows you to trap at almost any kernel address and
38 execute a callback function. register_kprobe() establishes
39 a probepoint and specifies the callback. Kprobes is useful
40 for kernel debugging, non-intrusive instrumentation and testing.
41 If in doubt, say "N".
42
43config MARKERS
44 bool "Activate markers"
45 help
46 Place an empty function call at each marker site. Can be
47 dynamically changed for a probe function.
48
49endif # INSTRUMENTATION
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 0d8a5a4a789d..0d385be682db 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -81,7 +81,7 @@ config HEADERS_CHECK
81 81
82config DEBUG_SECTION_MISMATCH 82config DEBUG_SECTION_MISMATCH
83 bool "Enable full Section mismatch analysis" 83 bool "Enable full Section mismatch analysis"
84 default n 84 depends on UNDEFINED
85 help 85 help
86 The section mismatch analysis checks if there are illegal 86 The section mismatch analysis checks if there are illegal
87 references from one section to another section. 87 references from one section to another section.
@@ -90,19 +90,19 @@ config DEBUG_SECTION_MISMATCH
90 most likely result in an oops. 90 most likely result in an oops.
91 In the code functions and variables are annotated with 91 In the code functions and variables are annotated with
92 __init, __devinit etc. (see full list in include/linux/init.h) 92 __init, __devinit etc. (see full list in include/linux/init.h)
93 which result in the code/data being placed in specific sections. 93 which results in the code/data being placed in specific sections.
94 The section mismatch anaylsis are always done after a full 94 The section mismatch analysis is always done after a full
95 kernel build but enabling this options will in addition 95 kernel build but enabling this option will in addition
96 do the following: 96 do the following:
97 - Add the option -fno-inline-functions-called-once to gcc 97 - Add the option -fno-inline-functions-called-once to gcc
98 When inlining a function annotated __init in a non-init 98 When inlining a function annotated __init in a non-init
99 function we would loose the section information and thus 99 function we would lose the section information and thus
100 the analysis would not catch the illegal reference. 100 the analysis would not catch the illegal reference.
101 This options tell gcc to inline less but will also 101 This option tells gcc to inline less but will also
102 result in a larger kernel. 102 result in a larger kernel.
103 - Run the section mismatch analysis for each module/built-in.o 103 - Run the section mismatch analysis for each module/built-in.o
104 When we run the section mismatch analysis on vmlinux.o we 104 When we run the section mismatch analysis on vmlinux.o we
105 looses valueable information about where the mismatch was 105 lose valueble information about where the mismatch was
106 introduced. 106 introduced.
107 Running the analysis for each module/built-in.o file 107 Running the analysis for each module/built-in.o file
108 will tell where the mismatch happens much closer to the 108 will tell where the mismatch happens much closer to the
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index 50e61c411bc0..734cf4f3131e 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -821,6 +821,7 @@ static void conf_load(void)
821 return; 821 return;
822 if (!conf_read(dialog_input_result)) { 822 if (!conf_read(dialog_input_result)) {
823 set_config_filename(dialog_input_result); 823 set_config_filename(dialog_input_result);
824 sym_set_change_count(1);
824 return; 825 return;
825 } 826 }
826 show_textbox(NULL, _("File does not exist!"), 5, 38); 827 show_textbox(NULL, _("File does not exist!"), 5, 38);
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index fdad17367f61..606ceb9e746e 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -203,12 +203,9 @@ void sym_check_prop(struct symbol *sym)
203 prop_warn(prop, 203 prop_warn(prop,
204 "config symbol '%s' uses select, but is " 204 "config symbol '%s' uses select, but is "
205 "not boolean or tristate", sym->name); 205 "not boolean or tristate", sym->name);
206 else if (sym2->type == S_UNKNOWN) 206 else if (sym2->type != S_UNKNOWN &&
207 prop_warn(prop, 207 sym2->type != S_BOOLEAN &&
208 "'select' used by config symbol '%s' " 208 sym2->type != S_TRISTATE)
209 "refers to undefined symbol '%s'",
210 sym->name, sym2->name);
211 else if (sym2->type != S_BOOLEAN && sym2->type != S_TRISTATE)
212 prop_warn(prop, 209 prop_warn(prop,
213 "'%s' has wrong type. 'select' only " 210 "'%s' has wrong type. 'select' only "
214 "accept arguments of boolean and " 211 "accept arguments of boolean and "
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index f8efc93eb700..5d546466e6b1 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -870,7 +870,7 @@ const struct sectioncheck sectioncheck[] = {
870/* Do not export init/exit functions or data */ 870/* Do not export init/exit functions or data */
871{ 871{
872 .fromsec = { "__ksymtab*", NULL }, 872 .fromsec = { "__ksymtab*", NULL },
873 .tosec = { ALL_INIT_SECTIONS, ALL_EXIT_SECTIONS, NULL }, 873 .tosec = { INIT_SECTIONS, EXIT_SECTIONS, NULL },
874 .mismatch = EXPORT_TO_INIT_EXIT 874 .mismatch = EXPORT_TO_INIT_EXIT
875} 875}
876}; 876};
@@ -1125,15 +1125,15 @@ static void report_sec_mismatch(const char *modname, enum mismatch mismatch,
1125 to = to_is_func ? "function" : "variable"; 1125 to = to_is_func ? "function" : "variable";
1126 to_p = to_is_func ? "()" : ""; 1126 to_p = to_is_func ? "()" : "";
1127 1127
1128 sec_mismatch_count++;
1129 if (!sec_mismatch_verbose)
1130 return;
1131
1128 fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in" 1132 fprintf(stderr, "WARNING: %s(%s+0x%llx): Section mismatch in"
1129 " reference from the %s %s%s to the %s %s:%s%s\n", 1133 " reference from the %s %s%s to the %s %s:%s%s\n",
1130 modname, fromsec, fromaddr, from, fromsym, from_p, 1134 modname, fromsec, fromaddr, from, fromsym, from_p,
1131 to, tosec, tosym, to_p); 1135 to, tosec, tosym, to_p);
1132 1136
1133 sec_mismatch_count++;
1134 if (!sec_mismatch_verbose)
1135 return;
1136
1137 switch (mismatch) { 1137 switch (mismatch) {
1138 case TEXT_TO_INIT: 1138 case TEXT_TO_INIT:
1139 fprintf(stderr, 1139 fprintf(stderr,
@@ -1939,10 +1939,9 @@ int main(int argc, char **argv)
1939 write_dump(dump_write); 1939 write_dump(dump_write);
1940 if (sec_mismatch_count && !sec_mismatch_verbose) 1940 if (sec_mismatch_count && !sec_mismatch_verbose)
1941 fprintf(stderr, "modpost: Found %d section mismatch(es).\n" 1941 fprintf(stderr, "modpost: Found %d section mismatch(es).\n"
1942 "To see additional details select \"Enable full " 1942 "To see full details build your kernel with:\n"
1943 "Section mismatch analysis\"\n" 1943 "'make CONFIG_DEBUG_SECTION_MISMATCH=y'\n",
1944 "in the Kernel Hacking menu " 1944 sec_mismatch_count);
1945 "(CONFIG_SECTION_MISMATCH).\n", sec_mismatch_count);
1946 1945
1947 return err; 1946 return err;
1948} 1947}
diff --git a/scripts/setlocalversion b/scripts/setlocalversion
index 52f032e409a3..1c1bdaf7348a 100644..100755
--- a/scripts/setlocalversion
+++ b/scripts/setlocalversion
@@ -45,3 +45,19 @@ if hgid=`hg id 2>/dev/null`; then
45 # All done with mercurial 45 # All done with mercurial
46 exit 46 exit
47fi 47fi
48
49# Check for svn and a svn repo.
50if rev=`svn info 2>/dev/null | grep '^Revision'`; then
51 rev=`echo $rev | awk '{print $NF}'`
52 changes=`svn status 2>/dev/null | grep '^[AMD]' | wc -l`
53
54 # Are there uncommitted changes?
55 if [ $changes != 0 ]; then
56 printf -- '-svn%s%s%s' "$rev" -dirty "$changes"
57 else
58 printf -- '-svn%s' "$rev"
59 fi
60
61 # All done with svn
62 exit
63fi