blob: e441062472a845bf7b57e8877906fc3329345c46 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5# Note: ISA is disabled and will hopefully never be enabled.
6# If you managed to buy an ISA x86-64 box you'll have to fix all the
7# ISA drivers you need yourself.
8#
9
10mainmenu "Linux Kernel Configuration"
11
12config X86_64
13 bool
14 default y
15 help
16 Port to the x86-64 architecture. x86-64 is a 64-bit extension to the
17 classical 32-bit x86 architecture. For details see
18 <http://www.x86-64.org/>.
19
Linus Torvalds1da177e2005-04-16 15:20:36 -070020source "init/Kconfig"
21
22
23menu "Processor type and features"
24
Thomas Gleixnerba7eda42007-10-12 23:04:07 +020025source "kernel/time/Kconfig"
26
Linus Torvalds1da177e2005-04-16 15:20:36 -070027choice
Ravikiran G Thirumalai79f12612006-01-11 22:46:18 +010028 prompt "Subarchitecture Type"
29 default X86_PC
30
31config X86_PC
32 bool "PC-compatible"
33 help
34 Choose this option if your computer is a standard PC or compatible.
35
36config X86_VSMP
37 bool "Support for ScaleMP vSMP"
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +010038 depends on X86_64 && PCI
Ravikiran G Thirumalai79f12612006-01-11 22:46:18 +010039 help
40 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is
41 supposed to run on these EM64T-based machines. Only choose this option
42 if you have one of these machines.
43
44endchoice
45
Sam Ravnborg1032c0b2007-11-06 21:35:08 +010046source "arch/x86/Kconfig.cpu"
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
48config MICROCODE
49 tristate "/dev/cpu/microcode - Intel CPU microcode support"
Shaohua Li9a4b9ef2006-09-27 01:50:53 -070050 select FW_LOADER
Linus Torvalds1da177e2005-04-16 15:20:36 -070051 ---help---
52 If you say Y here the 'File systems' section, you will be
53 able to update the microcode on Intel processors. You will
54 obviously need the actual microcode binary data itself which is
55 not shipped with the Linux kernel.
56
57 For latest news and information on obtaining all the required
58 ingredients for this driver, check:
59 <http://www.urbanmyth.org/microcode/>.
60
61 To compile this driver as a module, choose M here: the
62 module will be called microcode.
63 If you use modprobe or kmod you may also want to add the line
64 'alias char-major-10-184 microcode' to your /etc/modules.conf file.
65
Shaohua Li9a3110b2006-09-27 01:50:51 -070066config MICROCODE_OLD_INTERFACE
67 bool
68 depends on MICROCODE
69 default y
70
Linus Torvalds1da177e2005-04-16 15:20:36 -070071config X86_MSR
72 tristate "/dev/cpu/*/msr - Model-specific register support"
73 help
74 This device gives privileged processes access to the x86
75 Model-Specific Registers (MSRs). It is a character device with
76 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
77 MSR accesses are directed to a specific CPU on multi-processor
78 systems.
79
80config X86_CPUID
81 tristate "/dev/cpu/*/cpuid - CPU information support"
82 help
83 This device gives processes access to the x86 CPUID instruction to
84 be executed on a specific processor. It is a character device
85 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
86 /dev/cpu/31/cpuid.
87
Linus Torvalds1da177e2005-04-16 15:20:36 -070088config MATH_EMULATION
89 bool
90
91config MCA
92 bool
93
94config EISA
95 bool
96
97config X86_IO_APIC
98 bool
99 default y
100
101config X86_LOCAL_APIC
102 bool
103 default y
104
105config MTRR
106 bool "MTRR (Memory Type Range Register) support"
107 ---help---
108 On Intel P6 family processors (Pentium Pro, Pentium II and later)
109 the Memory Type Range Registers (MTRRs) may be used to control
110 processor access to memory ranges. This is most useful if you have
111 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
112 allows bus write transfers to be combined into a larger transfer
113 before bursting over the PCI/AGP bus. This can increase performance
114 of image write operations 2.5 times or more. Saying Y here creates a
115 /proc/mtrr file which may be used to manipulate your processor's
116 MTRRs. Typically the X server should use this.
117
118 This code has a reasonably generic interface so that similar
119 control registers on other processors can be easily supported
120 as well.
121
122 Saying Y here also fixes a problem with buggy SMP BIOSes which only
123 set the MTRRs for the boot CPU and not for the secondary CPUs. This
124 can lead to all sorts of problems, so it's good to say Y here.
125
126 Just say Y here, all x86-64 machines support MTRRs.
127
128 See <file:Documentation/mtrr.txt> for more information.
129
130config SMP
131 bool "Symmetric multi-processing support"
132 ---help---
133 This enables support for systems with more than one CPU. If you have
134 a system with only one CPU, like most personal computers, say N. If
135 you have a system with more than one CPU, say Y.
136
137 If you say N here, the kernel will run on single and multiprocessor
138 machines, but will use only one CPU of a multiprocessor machine. If
139 you say Y here, the kernel will run on many, but not all,
140 singleprocessor machines. On a singleprocessor machine, the kernel
141 will run faster if you say N here.
142
143 If you don't know what to do here, say N.
144
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145config SCHED_SMT
146 bool "SMT (Hyperthreading) scheduler support"
147 depends on SMP
148 default n
149 help
150 SMT scheduler support improves the CPU scheduler's decision making
151 when dealing with Intel Pentium 4 chips with HyperThreading at a
152 cost of slightly increased overhead in some places. If unsure say
153 N here.
154
Siddha, Suresh B1e9f28f2006-03-27 01:15:22 -0800155config SCHED_MC
156 bool "Multi-core scheduler support"
157 depends on SMP
158 default y
159 help
160 Multi-core scheduler support improves the CPU scheduler's decision
161 making when dealing with multi-core CPU chips at a cost of slightly
162 increased overhead in some places. If unsure say N here.
163
Ingo Molnarcc19ca82005-06-25 14:57:36 -0700164source "kernel/Kconfig.preempt"
165
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100166config NUMA
167 bool "Non Uniform Memory Access (NUMA) Support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168 depends on SMP
169 help
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100170 Enable NUMA (Non Uniform Memory Access) support. The kernel
171 will try to allocate memory used by a CPU on the local memory
172 controller of the CPU and add some more NUMA awareness to the kernel.
173 This code is recommended on all multiprocessor Opteron systems.
174 If the system is EM64T, you should say N unless your system is EM64T
175 NUMA.
176
177config K8_NUMA
178 bool "Old style AMD Opteron NUMA detection"
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100179 depends on X86_64 && NUMA && PCI
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100180 default y
181 help
182 Enable K8 NUMA node topology detection. You should say Y here if
183 you have a multi processor AMD K8 system. This uses an old
Matt LaPlante44c09202006-10-03 22:34:14 +0200184 method to read the NUMA configuration directly from the builtin
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100185 Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA
186 instead, which also takes priority if both are compiled in.
187
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700188config NODES_SHIFT
189 int
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100190 default "6" if X86_64
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700191 depends on NEED_MULTIPLE_NODES
192
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100193# Dummy CONFIG option to select ACPI_NUMA from drivers/acpi/Kconfig.
194
195config X86_64_ACPI_NUMA
196 bool "ACPI NUMA detection"
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100197 depends on X86_64 && NUMA
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100198 select ACPI
Adrian Bunk13001242006-03-28 17:04:00 -0500199 select PCI
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100200 select ACPI_NUMA
201 default y
202 help
203 Enable ACPI SRAT based node topology detection.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204
205config NUMA_EMU
Ravikiran G Thirumalaib0bd35e2005-11-05 17:25:54 +0100206 bool "NUMA emulation"
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100207 depends on X86_64 && NUMA
Linus Torvalds1da177e2005-04-16 15:20:36 -0700208 help
209 Enable NUMA emulation. A flat machine will be split
210 into virtual nodes when booted with "numa=fake=N", where N is the
211 number of nodes. This is only useful for debugging.
212
Dave Hansen3f22ab22005-06-23 00:07:43 -0700213config ARCH_DISCONTIGMEM_ENABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214 bool
215 depends on NUMA
216 default y
217
Matt Tolentino1035faf2005-06-23 00:08:05 -0700218config ARCH_DISCONTIGMEM_DEFAULT
219 def_bool y
220 depends on NUMA
221
222config ARCH_SPARSEMEM_ENABLE
223 def_bool y
Matt Tolentino44df75e2006-01-17 07:03:41 +0100224 depends on (NUMA || EXPERIMENTAL)
Christoph Lameter0889eba2007-10-16 01:24:15 -0700225 select SPARSEMEM_VMEMMAP_ENABLE
Matt Tolentino44df75e2006-01-17 07:03:41 +0100226
227config ARCH_MEMORY_PROBE
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100228 def_bool X86_64
Matt Tolentino44df75e2006-01-17 07:03:41 +0100229 depends on MEMORY_HOTPLUG
Matt Tolentino1035faf2005-06-23 00:08:05 -0700230
231config ARCH_FLATMEM_ENABLE
232 def_bool y
233 depends on !NUMA
234
Dave Hansen3f22ab22005-06-23 00:07:43 -0700235source "mm/Kconfig"
236
Keith Manntheyec69acb2006-09-30 23:27:05 -0700237config MEMORY_HOTPLUG_RESERVE
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100238 def_bool X86_64
Keith Manntheyec69acb2006-09-30 23:27:05 -0700239 depends on (MEMORY_HOTPLUG && DISCONTIGMEM)
240
Matt Tolentino1035faf2005-06-23 00:08:05 -0700241config HAVE_ARCH_EARLY_PFN_TO_NID
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100242 def_bool X86_64
Matt Tolentino44df75e2006-01-17 07:03:41 +0100243 depends on NUMA
Matt Tolentino1035faf2005-06-23 00:08:05 -0700244
KAMEZAWA Hiroyukidc8ecb42006-03-27 01:15:34 -0800245config OUT_OF_LINE_PFN_TO_PAGE
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100246 def_bool X86_64
KAMEZAWA Hiroyukidc8ecb42006-03-27 01:15:34 -0800247 depends on DISCONTIGMEM
248
Linus Torvalds1da177e2005-04-16 15:20:36 -0700249config NR_CPUS
Andi Kleend9c93812007-05-02 19:27:05 +0200250 int "Maximum number of CPUs (2-255)"
Andi Kleen01d4bed2006-03-25 16:30:58 +0100251 range 2 255
Linus Torvalds1da177e2005-04-16 15:20:36 -0700252 depends on SMP
253 default "8"
254 help
255 This allows you to specify the maximum number of CPUs which this
Andi Kleend9c93812007-05-02 19:27:05 +0200256 kernel will support. Current maximum is 255 CPUs due to
Linus Torvalds1da177e2005-04-16 15:20:36 -0700257 APIC addressing limits. Less depending on the hardware.
258
259 This is purely to save memory - each supported CPU requires
260 memory in the static kernel configuration.
261
H. Peter Anvin77e1dd62007-07-11 12:18:36 -0700262config PHYSICAL_ALIGN
263 hex
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100264 default "0x200000" if X86_64
H. Peter Anvin77e1dd62007-07-11 12:18:36 -0700265
Ashok Raj76e4f662005-06-25 14:55:00 -0700266config HOTPLUG_CPU
Stefan Richter1dbf37e2007-05-23 13:58:08 -0700267 bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)"
Ashok Raj76e4f662005-06-25 14:55:00 -0700268 depends on SMP && HOTPLUG && EXPERIMENTAL
269 help
270 Say Y here to experiment with turning CPUs off and on. CPUs
271 can be controlled through /sys/devices/system/cpu/cpu#.
Stefan Richter1dbf37e2007-05-23 13:58:08 -0700272 This is also required for suspend/hibernation on SMP systems.
273
274 Say N if you want to disable CPU hotplug and don't need to
275 suspend.
Ashok Raj76e4f662005-06-25 14:55:00 -0700276
Yasunori Gotocc576372006-06-29 02:24:27 -0700277config ARCH_ENABLE_MEMORY_HOTPLUG
278 def_bool y
Ashok Raj76e4f662005-06-25 14:55:00 -0700279
Linus Torvalds1da177e2005-04-16 15:20:36 -0700280config HPET_TIMER
281 bool
282 default y
283 help
284 Use the IA-PC HPET (High Precision Event Timer) to manage
285 time in preference to the PIT and RTC, if a HPET is
286 present. The HPET provides a stable time base on SMP
287 systems, unlike the TSC, but it is more expensive to access,
288 as it is off-chip. You can find the HPET spec at
Randy Dunlap89d7cbf2005-09-21 09:55:44 -0700289 <http://www.intel.com/hardwaredesign/hpetspec.htm>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700290
291config HPET_EMULATE_RTC
Stefan Richterd9a62942007-10-17 18:04:39 +0200292 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700293 depends on HPET_TIMER && RTC=y
Stefan Richterd9a62942007-10-17 18:04:39 +0200294 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700295
Andi Kleena813ce42006-06-26 13:57:22 +0200296# Mark as embedded because too many people got it wrong.
297# The code disables itself when not needed.
Joerg Roedel966396d2007-10-24 12:49:48 +0200298config GART_IOMMU
Joerg Roedel395624f2007-10-24 12:49:47 +0200299 bool "GART IOMMU support" if EMBEDDED
Andi Kleena54649b2005-07-28 21:15:32 -0700300 default y
Muli Ben-Yehuda17a941d2006-01-11 22:44:42 +0100301 select SWIOTLB
Roman Zippeldcc1a662006-06-22 14:47:35 -0700302 select AGP
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100303 depends on X86_64 && PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700304 help
Andi Kleena813ce42006-06-26 13:57:22 +0200305 Support for full DMA access of devices with 32bit memory access only
306 on systems with more than 3GB. This is usually needed for USB,
307 sound, many IDE/SATA chipsets and some other devices.
308 Provides a driver for the AMD Athlon64/Opteron/Turion/Sempron GART
Karsten Weiss55588702007-02-13 13:26:21 +0100309 based hardware IOMMU and a software bounce buffer based IOMMU used
310 on Intel systems and as fallback.
Andi Kleena813ce42006-06-26 13:57:22 +0200311 The code is only active when needed (enough memory and limited
312 device) unless CONFIG_IOMMU_DEBUG or iommu=force is specified
313 too.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700314
Jon Masone4650582006-06-26 13:58:14 +0200315config CALGARY_IOMMU
316 bool "IBM Calgary IOMMU support"
Jon Masone4650582006-06-26 13:58:14 +0200317 select SWIOTLB
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100318 depends on X86_64 && PCI && EXPERIMENTAL
Jon Masone4650582006-06-26 13:58:14 +0200319 help
320 Support for hardware IOMMUs in IBM's xSeries x366 and x460
321 systems. Needed to run systems with more than 3GB of memory
322 properly with 32-bit PCI devices that do not support DAC
323 (Double Address Cycle). Calgary also supports bus level
324 isolation, where all DMAs pass through the IOMMU. This
325 prevents them from going anywhere except their intended
326 destination. This catches hard-to-find kernel bugs and
327 mis-behaving drivers and devices that do not use the DMA-API
328 properly to set up their DMA buffers. The IOMMU can be
329 turned off at boot time with the iommu=off parameter.
330 Normally the kernel will make the right choice by itself.
331 If unsure, say Y.
332
Muli Ben-Yehudabff65472006-12-07 02:14:07 +0100333config CALGARY_IOMMU_ENABLED_BY_DEFAULT
334 bool "Should Calgary be enabled by default?"
Linus Torvalds36f696c2007-01-01 10:55:45 -0800335 default y
Muli Ben-Yehudabff65472006-12-07 02:14:07 +0100336 depends on CALGARY_IOMMU
337 help
Linus Torvalds36f696c2007-01-01 10:55:45 -0800338 Should Calgary be enabled by default? if you choose 'y', Calgary
Muli Ben-Yehudabff65472006-12-07 02:14:07 +0100339 will be used (if it exists). If you choose 'n', Calgary will not be
340 used even if it exists. If you choose 'n' and would like to use
341 Calgary anyway, pass 'iommu=calgary' on the kernel command line.
Linus Torvalds36f696c2007-01-01 10:55:45 -0800342 If unsure, say Y.
Muli Ben-Yehudabff65472006-12-07 02:14:07 +0100343
Andi Kleena813ce42006-06-26 13:57:22 +0200344# need this always selected by IOMMU for the VIA workaround
Linus Torvalds1da177e2005-04-16 15:20:36 -0700345config SWIOTLB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700346 bool
Karsten Weiss55588702007-02-13 13:26:21 +0100347 help
348 Support for software bounce buffers used on x86-64 systems
349 which don't have a hardware IOMMU (e.g. the current generation
350 of Intel's x86-64 CPUs). Using this PCI devices which can only
351 access 32-bits of memory can be used on systems with more than
352 3 GB of memory. If unsure, say Y.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700353
354config X86_MCE
355 bool "Machine check support" if EMBEDDED
356 default y
357 help
358 Include a machine check error handler to report hardware errors.
359 This version will require the mcelog utility to decode some
360 machine check error logs. See
361 ftp://ftp.x86-64.org/pub/linux/tools/mcelog
362
363config X86_MCE_INTEL
364 bool "Intel MCE features"
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100365 depends on X86_64 && X86_MCE && X86_LOCAL_APIC
Linus Torvalds1da177e2005-04-16 15:20:36 -0700366 default y
367 help
368 Additional support for intel specific MCE features such as
369 the thermal monitor.
370
Jacob Shin89b831e2005-11-05 17:25:53 +0100371config X86_MCE_AMD
372 bool "AMD MCE features"
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100373 depends on X86_64 && X86_MCE && X86_LOCAL_APIC
Jacob Shin89b831e2005-11-05 17:25:53 +0100374 default y
375 help
376 Additional support for AMD specific MCE features such as
377 the DRAM Error Threshold.
378
Eric W. Biederman5234f5e2005-06-25 14:58:02 -0700379config KEXEC
Eric W. Biederman1c9c0a62006-09-26 10:52:40 +0200380 bool "kexec system call"
Eric W. Biederman5234f5e2005-06-25 14:58:02 -0700381 help
382 kexec is a system call that implements the ability to shutdown your
383 current kernel, and to start another kernel. It is like a reboot
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400384 but it is independent of the system firmware. And like a reboot
Eric W. Biederman5234f5e2005-06-25 14:58:02 -0700385 you can start any kernel with it, not just Linux.
386
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400387 The name comes from the similarity to the exec system call.
Eric W. Biederman5234f5e2005-06-25 14:58:02 -0700388
389 It is an ongoing process to be certain the hardware in a machine
390 is properly shutdown, so do not be surprised if this code does not
391 initially work for you. It may help to enable device hotplugging
392 support. As of this writing the exact hardware interface is
393 strongly in flux, so no good recommendation can be made.
394
Vivek Goyalec9ce0d2006-01-09 20:51:49 -0800395config CRASH_DUMP
396 bool "kernel crash dumps (EXPERIMENTAL)"
Vivek Goyalec9ce0d2006-01-09 20:51:49 -0800397 depends on EXPERIMENTAL
398 help
Randy Dunlapf00b5162007-10-16 23:31:22 -0700399 Generate crash dump after being started by kexec.
400 This should be normally only set in special crash dump kernels
401 which are loaded in the main kernel with kexec-tools into
402 a specially reserved region and then later executed after
403 a crash by kdump/kexec. The crash dump kernel must be compiled
Andi Kleen1edf7772006-09-26 10:52:35 +0200404 to a memory address not used by the main kernel or BIOS using
Randy Dunlapf00b5162007-10-16 23:31:22 -0700405 PHYSICAL_START, or it must be built as a relocatable image
406 (CONFIG_RELOCATABLE=y).
407 For more details see Documentation/kdump/kdump.txt
Vivek Goyalec9ce0d2006-01-09 20:51:49 -0800408
Vivek Goyal1ab60e02007-05-02 19:27:07 +0200409config RELOCATABLE
Randy Dunlapf00b5162007-10-16 23:31:22 -0700410 bool "Build a relocatable kernel (EXPERIMENTAL)"
Vivek Goyal1ab60e02007-05-02 19:27:07 +0200411 depends on EXPERIMENTAL
412 help
413 Builds a relocatable kernel. This enables loading and running
414 a kernel binary from a different physical address than it has
415 been compiled for.
416
417 One use is for the kexec on panic case where the recovery kernel
418 must live at a different physical address than the primary
419 kernel.
420
Randy Dunlapf00b5162007-10-16 23:31:22 -0700421 Note: If CONFIG_RELOCATABLE=y, then the kernel runs from the address
422 it has been loaded at and the compile time physical address
Vivek Goyal1ab60e02007-05-02 19:27:07 +0200423 (CONFIG_PHYSICAL_START) is ignored.
424
Maneesh Soni05970d42006-01-09 20:51:52 -0800425config PHYSICAL_START
426 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
Andi Kleen04103602006-03-25 16:30:13 +0100427 default "0x200000"
Maneesh Soni05970d42006-01-09 20:51:52 -0800428 help
Vivek Goyal1ab60e02007-05-02 19:27:07 +0200429 This gives the physical address where the kernel is loaded. It
430 should be aligned to 2MB boundary.
431
432 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
433 bzImage will decompress itself to above physical address and
434 run from there. Otherwise, bzImage will run from the address where
435 it has been loaded by the boot loader and will ignore above physical
436 address.
437
438 In normal kdump cases one does not have to set/change this option
439 as now bzImage can be compiled as a completely relocatable image
440 (CONFIG_RELOCATABLE=y) and be used to load and run from a different
441 address. This option is mainly useful for the folks who don't want
442 to use a bzImage for capturing the crash dump and want to use a
443 vmlinux instead.
444
445 So if you are using bzImage for capturing the crash dump, leave
446 the value here unchanged to 0x200000 and set CONFIG_RELOCATABLE=y.
447 Otherwise if you plan to use vmlinux for capturing the crash dump
448 change this value to start of the reserved region (Typically 16MB
449 0x1000000). In other words, it can be set based on the "X" value as
Maneesh Soni05970d42006-01-09 20:51:52 -0800450 specified in the "crashkernel=YM@XM" command line boot parameter
451 passed to the panic-ed kernel. Typically this parameter is set as
452 crashkernel=64M@16M. Please take a look at
453 Documentation/kdump/kdump.txt for more details about crash dumps.
454
Vivek Goyal1ab60e02007-05-02 19:27:07 +0200455 Usage of bzImage for capturing the crash dump is advantageous as
456 one does not have to build two kernels. Same kernel can be used
457 as production kernel and capture kernel.
458
Maneesh Soni05970d42006-01-09 20:51:52 -0800459 Don't change this unless you know what you are doing.
460
Linus Torvalds1da177e2005-04-16 15:20:36 -0700461config SECCOMP
462 bool "Enable seccomp to safely compute untrusted bytecode"
463 depends on PROC_FS
464 default y
465 help
466 This kernel feature is useful for number crunching applications
467 that may need to compute untrusted bytecode during their
468 execution. By using pipes or other transports made available to
469 the process as file descriptors supporting the read/write
470 syscalls, it's possible to isolate those applications in
471 their own address space using seccomp. Once seccomp is
472 enabled via /proc/<pid>/seccomp, it cannot be disabled
473 and the task is only allowed to execute a few safe syscalls
474 defined by each seccomp mode.
475
476 If unsure, say Y. Only embedded should say N here.
477
Arjan van de Venb62a5c72006-09-26 10:52:38 +0200478config CC_STACKPROTECTOR
Brice Gogline45116b2006-12-11 20:14:15 +0100479 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100480 depends on X86_64 && EXPERIMENTAL
Arjan van de Venb62a5c72006-09-26 10:52:38 +0200481 help
482 This option turns on the -fstack-protector GCC feature. This
483 feature puts, at the beginning of critical functions, a canary
484 value on the stack just before the return address, and validates
485 the value just before actually returning. Stack based buffer
486 overflows (that need to overwrite this return address) now also
487 overwrite the canary, which gets detected and the attack is then
488 neutralized via a kernel panic.
489
490 This feature requires gcc version 4.2 or above, or a distribution
491 gcc with the feature backported. Older versions are automatically
492 detected and for those versions, this configuration option is ignored.
493
494config CC_STACKPROTECTOR_ALL
495 bool "Use stack-protector for all functions"
496 depends on CC_STACKPROTECTOR
497 help
498 Normally, GCC only inserts the canary value protection for
499 functions that use large-ish on-stack buffers. By enabling
500 this option, GCC will be asked to do this for ALL functions.
501
Christoph Lameter59121002005-06-23 00:08:25 -0700502source kernel/Kconfig.hz
503
Andi Kleena32073b2006-06-26 13:56:40 +0200504config K8_NB
Sam Ravnborgd2cacbc2007-11-06 22:12:16 +0100505 def_bool X86_64
Joerg Roedel966396d2007-10-24 12:49:48 +0200506 depends on AGP_AMD64 || GART_IOMMU || (PCI && NUMA)
Andi Kleena32073b2006-06-26 13:56:40 +0200507
Linus Torvalds1da177e2005-04-16 15:20:36 -0700508endmenu
509
Sam Ravnborge279b6c2007-11-06 20:41:05 +0100510source "arch/x86/Kconfig"