[ACPI] delete CONFIG_ACPI_BOOT
[linux-2.6/linux-mips.git] / arch / x86_64 / Kconfig
blob40242c61e90aac90f251e35595f6295b7762d560
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
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.
10 mainmenu "Linux Kernel Configuration"
12 config 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/>.
20 config 64BIT
21         def_bool y
23 config X86
24         bool
25         default y
27 config MMU
28         bool
29         default y
31 config ISA
32         bool
34 config SBUS
35         bool
37 config RWSEM_GENERIC_SPINLOCK
38         bool
39         default y
41 config RWSEM_XCHGADD_ALGORITHM
42         bool
44 config GENERIC_CALIBRATE_DELAY
45         bool
46         default y
48 config X86_CMPXCHG
49         bool
50         default y
52 config EARLY_PRINTK
53         bool
54         default y
56 config GENERIC_ISA_DMA
57         bool
58         default y
60 config GENERIC_IOMAP
61         bool
62         default y
64 source "init/Kconfig"
67 menu "Processor type and features"
69 choice
70         prompt "Processor family"
71         default MK8
73 config MK8
74         bool "AMD-Opteron/Athlon64"
75         help
76           Optimize for AMD Opteron/Athlon64/Hammer/K8 CPUs.
78 config MPSC
79        bool "Intel EM64T"
80        help
81           Optimize for Intel Pentium 4 and Xeon CPUs with Intel
82           Extended Memory 64 Technology(EM64T). For details see
83           <http://www.intel.com/technology/64bitextensions/>.
85 config GENERIC_CPU
86         bool "Generic-x86-64"
87         help
88           Generic x86-64 CPU.
90 endchoice
93 # Define implied options from the CPU selection here
95 config X86_L1_CACHE_BYTES
96         int
97         default "128" if GENERIC_CPU || MPSC
98         default "64" if MK8
100 config X86_L1_CACHE_SHIFT
101         int
102         default "7" if GENERIC_CPU || MPSC
103         default "6" if MK8
105 config X86_TSC
106         bool
107         default y
109 config X86_GOOD_APIC
110         bool
111         default y
113 config MICROCODE
114         tristate "/dev/cpu/microcode - Intel CPU microcode support"
115         ---help---
116           If you say Y here the 'File systems' section, you will be
117           able to update the microcode on Intel processors. You will
118           obviously need the actual microcode binary data itself which is
119           not shipped with the Linux kernel.
121           For latest news and information on obtaining all the required
122           ingredients for this driver, check:
123           <http://www.urbanmyth.org/microcode/>.
125           To compile this driver as a module, choose M here: the
126           module will be called microcode.
127           If you use modprobe or kmod you may also want to add the line
128           'alias char-major-10-184 microcode' to your /etc/modules.conf file.
130 config X86_MSR
131         tristate "/dev/cpu/*/msr - Model-specific register support"
132         help
133           This device gives privileged processes access to the x86
134           Model-Specific Registers (MSRs).  It is a character device with
135           major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
136           MSR accesses are directed to a specific CPU on multi-processor
137           systems.
139 config X86_CPUID
140         tristate "/dev/cpu/*/cpuid - CPU information support"
141         help
142           This device gives processes access to the x86 CPUID instruction to
143           be executed on a specific processor.  It is a character device
144           with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
145           /dev/cpu/31/cpuid.
147 config X86_HT
148         bool
149         depends on SMP && !MK8
150         default y
152 config MATH_EMULATION
153         bool
155 config MCA
156         bool
158 config EISA
159         bool
161 config X86_IO_APIC
162         bool
163         default y
165 config X86_LOCAL_APIC
166         bool
167         default y
169 config MTRR
170         bool "MTRR (Memory Type Range Register) support"
171         ---help---
172           On Intel P6 family processors (Pentium Pro, Pentium II and later)
173           the Memory Type Range Registers (MTRRs) may be used to control
174           processor access to memory ranges. This is most useful if you have
175           a video (VGA) card on a PCI or AGP bus. Enabling write-combining
176           allows bus write transfers to be combined into a larger transfer
177           before bursting over the PCI/AGP bus. This can increase performance
178           of image write operations 2.5 times or more. Saying Y here creates a
179           /proc/mtrr file which may be used to manipulate your processor's
180           MTRRs. Typically the X server should use this.
182           This code has a reasonably generic interface so that similar
183           control registers on other processors can be easily supported
184           as well.
186           Saying Y here also fixes a problem with buggy SMP BIOSes which only
187           set the MTRRs for the boot CPU and not for the secondary CPUs. This
188           can lead to all sorts of problems, so it's good to say Y here.
190           Just say Y here, all x86-64 machines support MTRRs.
192           See <file:Documentation/mtrr.txt> for more information.
194 config SMP
195         bool "Symmetric multi-processing support"
196         ---help---
197           This enables support for systems with more than one CPU. If you have
198           a system with only one CPU, like most personal computers, say N. If
199           you have a system with more than one CPU, say Y.
201           If you say N here, the kernel will run on single and multiprocessor
202           machines, but will use only one CPU of a multiprocessor machine. If
203           you say Y here, the kernel will run on many, but not all,
204           singleprocessor machines. On a singleprocessor machine, the kernel
205           will run faster if you say N here.
207           If you don't know what to do here, say N.
209 config SCHED_SMT
210         bool "SMT (Hyperthreading) scheduler support"
211         depends on SMP
212         default n
213         help
214           SMT scheduler support improves the CPU scheduler's decision making
215           when dealing with Intel Pentium 4 chips with HyperThreading at a
216           cost of slightly increased overhead in some places. If unsure say
217           N here.
219 source "kernel/Kconfig.preempt"
221 config K8_NUMA
222        bool "K8 NUMA support"
223        select NUMA
224        depends on SMP
225        help
226           Enable NUMA (Non Unified Memory Architecture) support for
227           AMD Opteron Multiprocessor systems. The kernel will try to allocate
228           memory used by a CPU on the local memory controller of the CPU
229           and add some more NUMA awareness to the kernel.
230           This code is recommended on all multiprocessor Opteron systems
231           and normally doesn't hurt on others.
233 config NUMA_EMU
234         bool "NUMA emulation support"
235         select NUMA
236         depends on SMP
237         help
238           Enable NUMA emulation. A flat machine will be split
239           into virtual nodes when booted with "numa=fake=N", where N is the
240           number of nodes. This is only useful for debugging.
242 config ARCH_DISCONTIGMEM_ENABLE
243        bool
244        depends on NUMA
245        default y
247 config NUMA
248        bool
249        default n
251 config ARCH_DISCONTIGMEM_ENABLE
252         def_bool y
253         depends on NUMA
255 config ARCH_DISCONTIGMEM_DEFAULT
256         def_bool y
257         depends on NUMA
259 config ARCH_SPARSEMEM_ENABLE
260         def_bool y
261         depends on NUMA
263 config ARCH_FLATMEM_ENABLE
264         def_bool y
265         depends on !NUMA
267 source "mm/Kconfig"
269 config HAVE_ARCH_EARLY_PFN_TO_NID
270         def_bool y
272 config HAVE_DEC_LOCK
273         bool
274         depends on SMP
275         default y
277 config NR_CPUS
278         int "Maximum number of CPUs (2-256)"
279         range 2 256
280         depends on SMP
281         default "8"
282         help
283           This allows you to specify the maximum number of CPUs which this
284           kernel will support. Current maximum is 256 CPUs due to
285           APIC addressing limits. Less depending on the hardware.
287           This is purely to save memory - each supported CPU requires
288           memory in the static kernel configuration.
290 config HOTPLUG_CPU
291         bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
292         depends on SMP && HOTPLUG && EXPERIMENTAL
293         help
294                 Say Y here to experiment with turning CPUs off and on.  CPUs
295                 can be controlled through /sys/devices/system/cpu/cpu#.
296                 Say N if you want to disable CPU hotplug.
299 config HPET_TIMER
300         bool
301         default y
302         help
303           Use the IA-PC HPET (High Precision Event Timer) to manage
304           time in preference to the PIT and RTC, if a HPET is
305           present.  The HPET provides a stable time base on SMP
306           systems, unlike the TSC, but it is more expensive to access,
307           as it is off-chip.  You can find the HPET spec at
308           <http://www.intel.com/labs/platcomp/hpet/hpetspec.htm>.
310 config X86_PM_TIMER
311         bool "PM timer"
312         depends on ACPI
313         default y
314         help
315           Support the ACPI PM timer for time keeping. This is slow,
316           but is useful on some chipsets without HPET on systems with more
317           than one CPU. On a single processor or single socket multi core
318           system it is normally not required.
319           When the PM timer is active 64bit vsyscalls are disabled
320           and should not be enabled (/proc/sys/kernel/vsyscall64 should
321           not be changed).
322           The kernel selects the PM timer only as a last resort, so it is
323           useful to enable just in case.
325 config HPET_EMULATE_RTC
326         bool "Provide RTC interrupt"
327         depends on HPET_TIMER && RTC=y
329 config GART_IOMMU
330         bool "IOMMU support"
331         default y
332         depends on PCI
333         help
334           Support the IOMMU. Needed to run systems with more than 3GB of memory
335           properly with 32-bit PCI devices that do not support DAC (Double Address
336           Cycle). The IOMMU can be turned off at runtime with the iommu=off parameter.
337           Normally the kernel will take the right choice by itself.
338           This option includes a driver for the AMD Opteron/Athlon64 IOMMU
339           and a software emulation used on some other systems.
340           If unsure, say Y.
342 # need this always enabled with GART_IOMMU for the VIA workaround
343 config SWIOTLB
344        bool
345        depends on GART_IOMMU
346        default y
348 config DUMMY_IOMMU
349         bool
350         depends on !GART_IOMMU && !SWIOTLB
351         default y
352         help
353           Don't use IOMMU code. This will cause problems when you have more than 4GB
354           of memory and any 32-bit devices. Don't turn on unless you know what you
355           are doing.
357 config X86_MCE
358         bool "Machine check support" if EMBEDDED
359         default y
360         help
361            Include a machine check error handler to report hardware errors.
362            This version will require the mcelog utility to decode some
363            machine check error logs. See
364            ftp://ftp.x86-64.org/pub/linux/tools/mcelog
366 config X86_MCE_INTEL
367         bool "Intel MCE features"
368         depends on X86_MCE && X86_LOCAL_APIC
369         default y
370         help
371            Additional support for intel specific MCE features such as
372            the thermal monitor.
374 config PHYSICAL_START
375         hex "Physical address where the kernel is loaded" if EMBEDDED
376         default "0x100000"
377         help
378           This gives the physical address where the kernel is loaded.
379           Primarily used in the case of kexec on panic where the
380           fail safe kernel needs to run at a different address than
381           the panic-ed kernel.
383           Don't change this unless you know what you are doing.
385 config KEXEC
386         bool "kexec system call (EXPERIMENTAL)"
387         depends on EXPERIMENTAL
388         help
389           kexec is a system call that implements the ability to shutdown your
390           current kernel, and to start another kernel.  It is like a reboot
391           but it is indepedent of the system firmware.   And like a reboot
392           you can start any kernel with it, not just Linux.
394           The name comes from the similiarity to the exec system call.
396           It is an ongoing process to be certain the hardware in a machine
397           is properly shutdown, so do not be surprised if this code does not
398           initially work for you.  It may help to enable device hotplugging
399           support.  As of this writing the exact hardware interface is
400           strongly in flux, so no good recommendation can be made.
402 config SECCOMP
403         bool "Enable seccomp to safely compute untrusted bytecode"
404         depends on PROC_FS
405         default y
406         help
407           This kernel feature is useful for number crunching applications
408           that may need to compute untrusted bytecode during their
409           execution. By using pipes or other transports made available to
410           the process as file descriptors supporting the read/write
411           syscalls, it's possible to isolate those applications in
412           their own address space using seccomp. Once seccomp is
413           enabled via /proc/<pid>/seccomp, it cannot be disabled
414           and the task is only allowed to execute a few safe syscalls
415           defined by each seccomp mode.
417           If unsure, say Y. Only embedded should say N here.
419 source kernel/Kconfig.hz
421 endmenu
424 # Use the generic interrupt handling code in kernel/irq/:
426 config GENERIC_HARDIRQS
427         bool
428         default y
430 config GENERIC_IRQ_PROBE
431         bool
432         default y
434 # we have no ISA slots, but we do have ISA-style DMA.
435 config ISA_DMA_API
436         bool
437         default y
439 menu "Power management options"
441 source kernel/power/Kconfig
443 source "drivers/acpi/Kconfig"
445 source "arch/x86_64/kernel/cpufreq/Kconfig"
447 endmenu
449 menu "Bus options (PCI etc.)"
451 config PCI
452         bool "PCI support"
454 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
455 config PCI_DIRECT
456         bool
457         depends on PCI
458         default y
460 config PCI_MMCONFIG
461         bool "Support mmconfig PCI config space access"
462         depends on PCI && ACPI
464 config UNORDERED_IO
465        bool "Unordered IO mapping access"
466        depends on EXPERIMENTAL
467        help
468          Use unordered stores to access IO memory mappings in device drivers.
469          Still very experimental. When a driver works on IA64/ppc64/pa-risc it should
470          work with this option, but it makes the drivers behave differently
471          from i386. Requires that the driver writer used memory barriers
472          properly.
474 source "drivers/pci/pcie/Kconfig"
476 source "drivers/pci/Kconfig"
478 source "drivers/pcmcia/Kconfig"
480 source "drivers/pci/hotplug/Kconfig"
482 endmenu
485 menu "Executable file formats / Emulations"
487 source "fs/Kconfig.binfmt"
489 config IA32_EMULATION
490         bool "IA32 Emulation"
491         help
492           Include code to run 32-bit programs under a 64-bit kernel. You should likely
493           turn this on, unless you're 100% sure that you don't have any 32-bit programs
494           left.
496 config IA32_AOUT
497        bool "IA32 a.out support"
498        depends on IA32_EMULATION
499        help
500          Support old a.out binaries in the 32bit emulation.
502 config COMPAT
503         bool
504         depends on IA32_EMULATION
505         default y
507 config SYSVIPC_COMPAT
508         bool
509         depends on COMPAT && SYSVIPC
510         default y
512 config UID16
513         bool
514         depends on IA32_EMULATION
515         default y
517 endmenu
519 source "net/Kconfig"
521 source drivers/Kconfig
523 source "drivers/firmware/Kconfig"
525 source fs/Kconfig
527 source "arch/x86_64/oprofile/Kconfig"
529 source "arch/x86_64/Kconfig.debug"
531 source "security/Kconfig"
533 source "crypto/Kconfig"
535 source "lib/Kconfig"