view linux-2.6-xen-sparse/arch/xen/x86_64/Kconfig @ 6552:a9873d384da4

author adsharma@los-vmm.sc.intel.com
date Thu Aug 25 12:24:48 2005 -0700 (2005-08-25)
parents 112d44270733 fa0754a9f64f
children dfaf788ab18c
line source
1 #
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 #
10 menu "X86_64 processor configuration"
12 config XENARCH
13 string
14 default x86_64
16 config X86_64
17 bool
18 default y
19 help
20 Port to the x86-64 architecture. x86-64 is a 64-bit extension to the
21 classical 32-bit x86 architecture. For details see
22 <http://www.x86-64.org/>.
24 config X86
25 bool
26 default y
28 config 64BIT
29 def_bool y
31 config MMU
32 bool
33 default y
35 config ISA
36 bool
38 config SBUS
39 bool
42 bool
43 default y
46 bool
49 bool
50 default y
52 config X86_CMPXCHG
53 bool
54 default y
56 config EARLY_PRINTK
57 bool "Early Printk"
58 default n
59 help
60 Write kernel log output directly into the VGA buffer or to a serial
61 port.
63 This is useful for kernel debugging when your machine crashes very
64 early before the console code is initialized. For normal operation
65 it is not recommended because it looks ugly and doesn't cooperate
66 with klogd/syslogd or the X server. You should normally N here,
67 unless you want to debug such a crash.
70 bool
71 default y
74 bool
75 default y
77 #source "init/Kconfig"
80 menu "Processor type and features"
82 choice
83 prompt "Processor family"
84 default MK8
86 #config MK8
87 # bool "AMD-Opteron/Athlon64"
88 # help
89 # Optimize for AMD Opteron/Athlon64/Hammer/K8 CPUs.
91 config MPSC
92 bool "Intel x86-64"
93 help
94 Optimize for Intel IA32 with 64bit extension CPUs
95 (Prescott/Nocona/Potomac)
97 config GENERIC_CPU
98 bool "Generic-x86-64"
99 help
100 Generic x86-64 CPU.
102 endchoice
104 #
105 # Define implied options from the CPU selection here
106 #
107 config X86_L1_CACHE_BYTES
108 int
109 default "128" if GENERIC_CPU || MPSC
110 default "64" if MK8
112 config X86_L1_CACHE_SHIFT
113 int
114 default "7" if GENERIC_CPU || MPSC
115 default "6" if MK8
117 config X86_TSC
118 bool
119 default n
121 config X86_GOOD_APIC
122 bool
123 default y
125 config X86_IO_APIC
126 bool
129 config X86_XEN_GENAPIC
130 bool
133 config X86_LOCAL_APIC
134 bool
137 config MICROCODE
138 tristate "/dev/cpu/microcode - Intel CPU microcode support"
139 ---help---
140 If you say Y here the 'File systems' section, you will be
141 able to update the microcode on Intel processors. You will
142 obviously need the actual microcode binary data itself which is
143 not shipped with the Linux kernel.
145 For latest news and information on obtaining all the required
146 ingredients for this driver, check:
147 <http://www.urbanmyth.org/microcode/>.
149 To compile this driver as a module, choose M here: the
150 module will be called microcode.
151 If you use modprobe or kmod you may also want to add the line
152 'alias char-major-10-184 microcode' to your /etc/modules.conf file.
154 config X86_MSR
155 tristate "/dev/cpu/*/msr - Model-specific register support"
156 help
157 This device gives privileged processes access to the x86
158 Model-Specific Registers (MSRs). It is a character device with
159 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
160 MSR accesses are directed to a specific CPU on multi-processor
161 systems.
163 config X86_CPUID
164 tristate "/dev/cpu/*/cpuid - CPU information support"
165 help
166 This device gives processes access to the x86 CPUID instruction to
167 be executed on a specific processor. It is a character device
168 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
169 /dev/cpu/31/cpuid.
171 # disable it for opteron optimized builds because it pulls in ACPI_BOOT
172 config X86_HT
173 bool
174 depends on SMP && !MK8
175 default y
178 bool
180 config MCA
181 bool
183 config EISA
184 bool
186 config MTRR
187 bool "MTRR (Memory Type Range Register) support"
188 ---help---
189 On Intel P6 family processors (Pentium Pro, Pentium II and later)
190 the Memory Type Range Registers (MTRRs) may be used to control
191 processor access to memory ranges. This is most useful if you have
192 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
193 allows bus write transfers to be combined into a larger transfer
194 before bursting over the PCI/AGP bus. This can increase performance
195 of image write operations 2.5 times or more. Saying Y here creates a
196 /proc/mtrr file which may be used to manipulate your processor's
197 MTRRs. Typically the X server should use this.
199 This code has a reasonably generic interface so that similar
200 control registers on other processors can be easily supported
201 as well.
203 Saying Y here also fixes a problem with buggy SMP BIOSes which only
204 set the MTRRs for the boot CPU and not for the secondary CPUs. This
205 can lead to all sorts of problems, so it's good to say Y here.
207 Just say Y here, all x86-64 machines support MTRRs.
209 See <file:Documentation/mtrr.txt> for more information.
211 config SMP
212 bool "Symmetric multi-processing support"
213 ---help---
214 This enables support for systems with more than one CPU. If you have
215 a system with only one CPU, like most personal computers, say N. If
216 you have a system with more than one CPU, say Y.
218 If you say N here, the kernel will run on single and multiprocessor
219 machines, but will use only one CPU of a multiprocessor machine. If
220 you say Y here, the kernel will run on many, but not all,
221 singleprocessor machines. On a singleprocessor machine, the kernel
222 will run faster if you say N here.
224 If you don't know what to do here, say N.
226 config PREEMPT
227 bool "Preemptible Kernel"
228 ---help---
229 This option reduces the latency of the kernel when reacting to
230 real-time or interactive events by allowing a low priority process to
231 be preempted even if it is in kernel mode executing a system call.
232 This allows applications to run more reliably even when the system is
233 under load. On contrary it may also break your drivers and add
234 priority inheritance problems to your system. Don't select it if
235 you rely on a stable system or have slightly obscure hardware.
236 It's also not very well tested on x86-64 currently.
237 You have been warned.
239 Say Y here if you are feeling brave and building a kernel for a
240 desktop, embedded or real-time system. Say N if you are unsure.
242 config SCHED_SMT
243 bool "SMT (Hyperthreading) scheduler support"
244 depends on SMP
245 default n
246 help
247 SMT scheduler support improves the CPU scheduler's decision making
248 when dealing with Intel Pentium 4 chips with HyperThreading at a
249 cost of slightly increased overhead in some places. If unsure say
250 N here.
252 config K8_NUMA
253 bool "K8 NUMA support"
254 select NUMA
255 depends on SMP
256 help
257 Enable NUMA (Non Unified Memory Architecture) support for
258 AMD Opteron Multiprocessor systems. The kernel will try to allocate
259 memory used by a CPU on the local memory controller of the CPU
260 and add some more NUMA awareness to the kernel.
261 This code is recommended on all multiprocessor Opteron systems
262 and normally doesn't hurt on others.
264 config NUMA_EMU
265 bool "NUMA emulation support"
266 select NUMA
267 depends on SMP
268 help
269 Enable NUMA emulation. A flat machine will be split
270 into virtual nodes when booted with "numa=fake=N", where N is the
271 number of nodes. This is only useful for debugging.
274 bool
275 depends on NUMA
276 default y
278 config NUMA
279 bool
280 default n
282 config HAVE_DEC_LOCK
283 bool
284 depends on SMP
285 default y
287 # actually 64 maximum, but you need to fix the APIC code first
288 # to use clustered mode or whatever your big iron needs
289 config NR_CPUS
290 int "Maximum number of CPUs (2-8)"
291 range 2 8
292 depends on SMP
293 default "8"
294 help
295 This allows you to specify the maximum number of CPUs which this
296 kernel will support. The maximum supported value is 32 and the
297 minimum value which makes sense is 2.
299 This is purely to save memory - each supported CPU requires
300 memory in the static kernel configuration.
302 config HPET_TIMER
303 bool
304 default n
305 help
306 Use the IA-PC HPET (High Precision Event Timer) to manage
307 time in preference to the PIT and RTC, if a HPET is
308 present. The HPET provides a stable time base on SMP
309 systems, unlike the RTC, but it is more expensive to access,
310 as it is off-chip. You can find the HPET spec at
311 <http://www.intel.com/labs/platcomp/hpet/hpetspec.htm>.
313 If unsure, say Y.
316 bool "Provide RTC interrupt"
317 depends on HPET_TIMER && RTC=y
319 config GART_IOMMU
320 bool "IOMMU support"
321 depends on PCI
322 help
323 Support the K8 IOMMU. Needed to run systems with more than 4GB of memory
324 properly with 32-bit PCI devices that do not support DAC (Double Address
325 Cycle). The IOMMU can be turned off at runtime with the iommu=off parameter.
326 Normally the kernel will take the right choice by itself.
327 If unsure, say Y.
329 # need this always enabled with GART_IOMMU for the VIA workaround
330 config SWIOTLB
331 bool
332 depends on PCI
333 default y
335 config DUMMY_IOMMU
336 bool
337 depends on !GART_IOMMU
338 default y
339 help
340 Don't use IOMMU code. This will cause problems when you have more than 4GB
341 of memory and any 32-bit devices. Don't turn on unless you know what you
342 are doing.
344 config X86_MCE
345 bool "Machine check support" if EMBEDDED
346 default n
347 help
348 Include a machine check error handler to report hardware errors.
349 This version will require the mcelog utility to decode some
350 machine check error logs. See
351 ftp://ftp.x86-64.org/pub/linux/tools/mcelog
353 config SECCOMP
354 bool "Enable seccomp to safely compute untrusted bytecode"
355 depends on PROC_FS
356 default y
357 help
358 This kernel feature is useful for number crunching applications
359 that may need to compute untrusted bytecode during their
360 execution. By using pipes or other transports made available to
361 the process as file descriptors supporting the read/write
362 syscalls, it's possible to isolate those applications in
363 their own address space using seccomp. Once seccomp is
364 enabled via /proc/<pid>/seccomp, it cannot be disabled
365 and the task is only allowed to execute a few safe syscalls
366 defined by each seccomp mode.
368 If unsure, say Y. Only embedded should say N here.
371 endmenu
373 #
374 # Use the generic interrupt handling code in kernel/irq/:
375 #
377 bool
378 default y
381 bool
382 default y
384 # we have no ISA slots, but we do have ISA-style DMA.
385 config ISA_DMA_API
386 bool
387 default y
389 menu "Power management options"
391 source kernel/power/Kconfig
393 source "arch/x86_64/kernel/cpufreq/Kconfig"
395 endmenu
397 menu "Bus options (PCI etc.)"
399 config PCI
400 bool "PCI support"
402 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
403 config PCI_DIRECT
404 bool
405 depends on PCI
406 default y
408 config PCI_MMCONFIG
409 bool "Support mmconfig PCI config space access"
410 depends on PCI && ACPI
411 select ACPI_BOOT
413 config UNORDERED_IO
414 bool "Unordered IO mapping access"
415 depends on EXPERIMENTAL
416 help
417 Use unordered stores to access IO memory mappings in device drivers.
418 Still very experimental. When a driver works on IA64/ppc64/pa-risc it should
419 work with this option, but it makes the drivers behave differently
420 from i386. Requires that the driver writer used memory barriers
421 properly.
423 #source "drivers/pci/pcie/Kconfig"
425 #source "drivers/pci/Kconfig"
427 #source "drivers/pcmcia/Kconfig"
429 #source "drivers/pci/hotplug/Kconfig"
431 endmenu
434 menu "Executable file formats / Emulations"
436 # source "fs/Kconfig.binfmt"
438 config IA32_EMULATION
439 bool "IA32 Emulation"
440 help
441 Include code to run 32-bit programs under a 64-bit kernel. You should likely
442 turn this on, unless you're 100% sure that you don't have any 32-bit programs
443 left.
445 config IA32_AOUT
446 bool "IA32 a.out support"
447 depends on IA32_EMULATION
448 help
449 Support old a.out binaries in the 32bit emulation.
451 config COMPAT
452 bool
453 depends on IA32_EMULATION
454 default y
457 bool
458 depends on COMPAT && SYSVIPC
459 default y
461 config UID16
462 bool
463 depends on IA32_EMULATION
464 default y
466 endmenu
468 # source drivers/Kconfig
470 # source "drivers/firmware/Kconfig"
472 # source fs/Kconfig
474 #source "arch/x86_64/oprofile/Kconfig"
476 # source "security/Kconfig"
478 # source "crypto/Kconfig"
480 endmenu