]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blob - arch/x86/Kconfig
x86: move all simple arch settings to Kconfig
[linux-2.6-omap-h63xx.git] / arch / x86 / Kconfig
1 # x86 configuration
2
3 ### Arch settings
4 config X86
5         bool
6         default y
7
8 config 64BIT
9         def_bool X86_64
10
11 config GENERIC_TIME
12         bool
13         default y
14
15 config GENERIC_CMOS_UPDATE
16         bool
17         default y
18
19 config CLOCKSOURCE_WATCHDOG
20         bool
21         default y
22
23 config GENERIC_CLOCKEVENTS
24         bool
25         default y
26
27 config GENERIC_CLOCKEVENTS_BROADCAST
28         bool
29         default y
30         depends on X86_64 || (X86_32 && X86_LOCAL_APIC)
31
32 config LOCKDEP_SUPPORT
33         bool
34         default y
35
36 config STACKTRACE_SUPPORT
37         bool
38         default y
39
40 config SEMAPHORE_SLEEPERS
41         bool
42         default y
43
44 config MMU
45         bool
46         default y
47
48 config ZONE_DMA
49         bool
50         default y
51
52 config QUICKLIST
53         bool
54         default X86_32
55
56 config SBUS
57         bool
58
59 config GENERIC_ISA_DMA
60         bool
61         default y
62
63 config GENERIC_IOMAP
64         bool
65         default y
66
67 config GENERIC_BUG
68         bool
69         default y
70         depends on BUG
71
72 config GENERIC_HWEIGHT
73         bool
74         default y
75
76 config ARCH_MAY_HAVE_PC_FDC
77         bool
78         default y
79
80 config DMI
81         bool
82         default y
83
84 config RWSEM_GENERIC_SPINLOCK
85         def_bool !X86_XADD
86
87 config RWSEM_XCHGADD_ALGORITHM
88         def_bool X86_XADD
89
90 config ARCH_HAS_ILOG2_U32
91         def_bool n
92
93 config ARCH_HAS_ILOG2_U64
94         def_bool n
95
96 config GENERIC_CALIBRATE_DELAY
97         def_bool y
98
99 config GENERIC_TIME_VSYSCALL
100         bool
101         default X86_64
102
103
104
105
106
107 config ZONE_DMA32
108         bool
109         default X86_64
110
111 config ARCH_POPULATES_NODE_MAP
112         def_bool y
113
114 config AUDIT_ARCH
115         bool
116         default X86_64
117
118 # Use the generic interrupt handling code in kernel/irq/:
119 config GENERIC_HARDIRQS
120         bool
121         default y
122
123 config GENERIC_IRQ_PROBE
124         bool
125         default y
126
127 config GENERIC_PENDING_IRQ
128         bool
129         depends on GENERIC_HARDIRQS && SMP
130         default y
131
132 config X86_SMP
133         bool
134         depends on X86_32 && SMP && !X86_VOYAGER
135         default y
136
137 config X86_HT
138         bool
139         depends on SMP && !(X86_VISWS || X86_VOYAGER || MK8)
140         default y
141
142 config X86_BIOS_REBOOT
143         bool
144         depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
145         default y
146
147 config X86_TRAMPOLINE
148         bool
149         depends on X86_SMP || (X86_VOYAGER && SMP)
150         default y
151
152 config KTIME_SCALAR
153         def_bool X86_32
154
155
156 menu "Power management options"
157         depends on !X86_VOYAGER
158
159 config ARCH_HIBERNATION_HEADER
160         bool
161         depends on X86_64 && HIBERNATION
162         default y
163
164 source "kernel/power/Kconfig"
165
166 source "drivers/acpi/Kconfig"
167
168 menuconfig APM
169         tristate "APM (Advanced Power Management) BIOS support"
170         depends on X86_32 && PM_SLEEP && !X86_VISWS
171         ---help---
172           APM is a BIOS specification for saving power using several different
173           techniques. This is mostly useful for battery powered laptops with
174           APM compliant BIOSes. If you say Y here, the system time will be
175           reset after a RESUME operation, the /proc/apm device will provide
176           battery status information, and user-space programs will receive
177           notification of APM "events" (e.g. battery status change).
178
179           If you select "Y" here, you can disable actual use of the APM
180           BIOS by passing the "apm=off" option to the kernel at boot time.
181
182           Note that the APM support is almost completely disabled for
183           machines with more than one CPU.
184
185           In order to use APM, you will need supporting software. For location
186           and more information, read <file:Documentation/pm.txt> and the
187           Battery Powered Linux mini-HOWTO, available from
188           <http://www.tldp.org/docs.html#howto>.
189
190           This driver does not spin down disk drives (see the hdparm(8)
191           manpage ("man 8 hdparm") for that), and it doesn't turn off
192           VESA-compliant "green" monitors.
193
194           This driver does not support the TI 4000M TravelMate and the ACER
195           486/DX4/75 because they don't have compliant BIOSes. Many "green"
196           desktop machines also don't have compliant BIOSes, and this driver
197           may cause those machines to panic during the boot phase.
198
199           Generally, if you don't have a battery in your machine, there isn't
200           much point in using this driver and you should say N. If you get
201           random kernel OOPSes or reboots that don't seem to be related to
202           anything, try disabling/enabling this option (or disabling/enabling
203           APM in your BIOS).
204
205           Some other things you should try when experiencing seemingly random,
206           "weird" problems:
207
208           1) make sure that you have enough swap space and that it is
209           enabled.
210           2) pass the "no-hlt" option to the kernel
211           3) switch on floating point emulation in the kernel and pass
212           the "no387" option to the kernel
213           4) pass the "floppy=nodma" option to the kernel
214           5) pass the "mem=4M" option to the kernel (thereby disabling
215           all but the first 4 MB of RAM)
216           6) make sure that the CPU is not over clocked.
217           7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
218           8) disable the cache from your BIOS settings
219           9) install a fan for the video card or exchange video RAM
220           10) install a better fan for the CPU
221           11) exchange RAM chips
222           12) exchange the motherboard.
223
224           To compile this driver as a module, choose M here: the
225           module will be called apm.
226
227 if APM
228
229 config APM_IGNORE_USER_SUSPEND
230         bool "Ignore USER SUSPEND"
231         help
232           This option will ignore USER SUSPEND requests. On machines with a
233           compliant APM BIOS, you want to say N. However, on the NEC Versa M
234           series notebooks, it is necessary to say Y because of a BIOS bug.
235
236 config APM_DO_ENABLE
237         bool "Enable PM at boot time"
238         ---help---
239           Enable APM features at boot time. From page 36 of the APM BIOS
240           specification: "When disabled, the APM BIOS does not automatically
241           power manage devices, enter the Standby State, enter the Suspend
242           State, or take power saving steps in response to CPU Idle calls."
243           This driver will make CPU Idle calls when Linux is idle (unless this
244           feature is turned off -- see "Do CPU IDLE calls", below). This
245           should always save battery power, but more complicated APM features
246           will be dependent on your BIOS implementation. You may need to turn
247           this option off if your computer hangs at boot time when using APM
248           support, or if it beeps continuously instead of suspending. Turn
249           this off if you have a NEC UltraLite Versa 33/C or a Toshiba
250           T400CDT. This is off by default since most machines do fine without
251           this feature.
252
253 config APM_CPU_IDLE
254         bool "Make CPU Idle calls when idle"
255         help
256           Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
257           On some machines, this can activate improved power savings, such as
258           a slowed CPU clock rate, when the machine is idle. These idle calls
259           are made after the idle loop has run for some length of time (e.g.,
260           333 mS). On some machines, this will cause a hang at boot time or
261           whenever the CPU becomes idle. (On machines with more than one CPU,
262           this option does nothing.)
263
264 config APM_DISPLAY_BLANK
265         bool "Enable console blanking using APM"
266         help
267           Enable console blanking using the APM. Some laptops can use this to
268           turn off the LCD backlight when the screen blanker of the Linux
269           virtual console blanks the screen. Note that this is only used by
270           the virtual console screen blanker, and won't turn off the backlight
271           when using the X Window system. This also doesn't have anything to
272           do with your VESA-compliant power-saving monitor. Further, this
273           option doesn't work for all laptops -- it might not turn off your
274           backlight at all, or it might print a lot of errors to the console,
275           especially if you are using gpm.
276
277 config APM_ALLOW_INTS
278         bool "Allow interrupts during APM BIOS calls"
279         help
280           Normally we disable external interrupts while we are making calls to
281           the APM BIOS as a measure to lessen the effects of a badly behaving
282           BIOS implementation.  The BIOS should reenable interrupts if it
283           needs to.  Unfortunately, some BIOSes do not -- especially those in
284           many of the newer IBM Thinkpads.  If you experience hangs when you
285           suspend, try setting this to Y.  Otherwise, say N.
286
287 config APM_REAL_MODE_POWER_OFF
288         bool "Use real mode APM BIOS call to power off"
289         help
290           Use real mode APM BIOS calls to switch off the computer. This is
291           a work-around for a number of buggy BIOSes. Switch this option on if
292           your computer crashes instead of powering off properly.
293
294 endif # APM
295
296 source "arch/x86/kernel/cpu/cpufreq/Kconfig"
297
298 source "drivers/cpuidle/Kconfig"
299
300 endmenu
301
302
303 menu "Bus options (PCI etc.)"
304
305 config PCI
306         bool "PCI support" if !X86_VISWS
307         depends on !X86_VOYAGER
308         default y if X86_VISWS
309         select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC)
310         help
311           Find out whether you have a PCI motherboard. PCI is the name of a
312           bus system, i.e. the way the CPU talks to the other stuff inside
313           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
314           VESA. If you have PCI, say Y, otherwise N.
315
316           The PCI-HOWTO, available from
317           <http://www.tldp.org/docs.html#howto>, contains valuable
318           information about which PCI hardware does work under Linux and which
319           doesn't.
320
321 choice
322         prompt "PCI access mode"
323         depends on X86_32 && PCI && !X86_VISWS
324         default PCI_GOANY
325         ---help---
326           On PCI systems, the BIOS can be used to detect the PCI devices and
327           determine their configuration. However, some old PCI motherboards
328           have BIOS bugs and may crash if this is done. Also, some embedded
329           PCI-based systems don't have any BIOS at all. Linux can also try to
330           detect the PCI hardware directly without using the BIOS.
331
332           With this option, you can specify how Linux should detect the
333           PCI devices. If you choose "BIOS", the BIOS will be used,
334           if you choose "Direct", the BIOS won't be used, and if you
335           choose "MMConfig", then PCI Express MMCONFIG will be used.
336           If you choose "Any", the kernel will try MMCONFIG, then the
337           direct access method and falls back to the BIOS if that doesn't
338           work. If unsure, go with the default, which is "Any".
339
340 config PCI_GOBIOS
341         bool "BIOS"
342
343 config PCI_GOMMCONFIG
344         bool "MMConfig"
345
346 config PCI_GODIRECT
347         bool "Direct"
348
349 config PCI_GOANY
350         bool "Any"
351
352 endchoice
353
354 config PCI_BIOS
355         bool
356         depends on X86_32 && !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
357         default y
358
359 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
360 config PCI_DIRECT
361         bool
362         depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
363         default y
364
365 config PCI_MMCONFIG
366         bool
367         depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
368         default y
369
370 config PCI_DOMAINS
371         bool
372         depends on PCI
373         default y
374
375 config PCI_MMCONFIG
376         bool "Support mmconfig PCI config space access"
377         depends on X86_64 && PCI && ACPI
378
379 config DMAR
380         bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
381         depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL
382         help
383           DMA remapping (DMAR) devices support enables independent address
384           translations for Direct Memory Access (DMA) from devices.
385           These DMA remapping devices are reported via ACPI tables
386           and include PCI device scope covered by these DMA
387           remapping devices.
388
389 config DMAR_GFX_WA
390         bool "Support for Graphics workaround"
391         depends on DMAR
392         default y
393         help
394          Current Graphics drivers tend to use physical address
395          for DMA and avoid using DMA APIs. Setting this config
396          option permits the IOMMU driver to set a unity map for
397          all the OS-visible memory. Hence the driver can continue
398          to use physical addresses for DMA.
399
400 config DMAR_FLOPPY_WA
401         bool
402         depends on DMAR
403         default y
404         help
405          Floppy disk drivers are know to bypass DMA API calls
406          thereby failing to work when IOMMU is enabled. This
407          workaround will setup a 1:1 mapping for the first
408          16M to make floppy (an ISA device) work.
409
410 source "drivers/pci/pcie/Kconfig"
411
412 source "drivers/pci/Kconfig"
413
414 # x86_64 have no ISA slots, but do have ISA-style DMA.
415 config ISA_DMA_API
416         bool
417         default y
418
419 if X86_32
420
421 config ISA
422         bool "ISA support"
423         depends on !(X86_VOYAGER || X86_VISWS)
424         help
425           Find out whether you have ISA slots on your motherboard.  ISA is the
426           name of a bus system, i.e. the way the CPU talks to the other stuff
427           inside your box.  Other bus systems are PCI, EISA, MicroChannel
428           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
429           newer boards don't support it.  If you have ISA, say Y, otherwise N.
430
431 config EISA
432         bool "EISA support"
433         depends on ISA
434         ---help---
435           The Extended Industry Standard Architecture (EISA) bus was
436           developed as an open alternative to the IBM MicroChannel bus.
437
438           The EISA bus provided some of the features of the IBM MicroChannel
439           bus while maintaining backward compatibility with cards made for
440           the older ISA bus.  The EISA bus saw limited use between 1988 and
441           1995 when it was made obsolete by the PCI bus.
442
443           Say Y here if you are building a kernel for an EISA-based machine.
444
445           Otherwise, say N.
446
447 source "drivers/eisa/Kconfig"
448
449 config MCA
450         bool "MCA support" if !(X86_VISWS || X86_VOYAGER)
451         default y if X86_VOYAGER
452         help
453           MicroChannel Architecture is found in some IBM PS/2 machines and
454           laptops.  It is a bus system similar to PCI or ISA. See
455           <file:Documentation/mca.txt> (and especially the web page given
456           there) before attempting to build an MCA bus kernel.
457
458 source "drivers/mca/Kconfig"
459
460 config SCx200
461         tristate "NatSemi SCx200 support"
462         depends on !X86_VOYAGER
463         help
464           This provides basic support for National Semiconductor's
465           (now AMD's) Geode processors.  The driver probes for the
466           PCI-IDs of several on-chip devices, so its a good dependency
467           for other scx200_* drivers.
468
469           If compiled as a module, the driver is named scx200.
470
471 config SCx200HR_TIMER
472         tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
473         depends on SCx200 && GENERIC_TIME
474         default y
475         help
476           This driver provides a clocksource built upon the on-chip
477           27MHz high-resolution timer.  Its also a workaround for
478           NSC Geode SC-1100's buggy TSC, which loses time when the
479           processor goes idle (as is done by the scheduler).  The
480           other workaround is idle=poll boot option.
481
482 config GEODE_MFGPT_TIMER
483         bool "Geode Multi-Function General Purpose Timer (MFGPT) events"
484         depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS
485         default y
486         help
487           This driver provides a clock event source based on the MFGPT
488           timer(s) in the CS5535 and CS5536 companion chip for the geode.
489           MFGPTs have a better resolution and max interval than the
490           generic PIT, and are suitable for use as high-res timers.
491
492 endif # X86_32
493
494 config K8_NB
495         def_bool y
496         depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA)))
497
498 source "drivers/pcmcia/Kconfig"
499
500 source "drivers/pci/hotplug/Kconfig"
501
502 endmenu
503
504
505 menu "Executable file formats / Emulations"
506
507 source "fs/Kconfig.binfmt"
508
509 config IA32_EMULATION
510         bool "IA32 Emulation"
511         depends on X86_64
512         help
513           Include code to run 32-bit programs under a 64-bit kernel. You should
514           likely turn this on, unless you're 100% sure that you don't have any
515           32-bit programs left.
516
517 config IA32_AOUT
518        tristate "IA32 a.out support"
519        depends on IA32_EMULATION
520        help
521          Support old a.out binaries in the 32bit emulation.
522
523 config COMPAT
524         bool
525         depends on IA32_EMULATION
526         default y
527
528 config COMPAT_FOR_U64_ALIGNMENT
529         def_bool COMPAT
530         depends on X86_64
531
532 config SYSVIPC_COMPAT
533         bool
534         depends on X86_64 && COMPAT && SYSVIPC
535         default y
536
537 endmenu
538
539
540 source "net/Kconfig"
541
542 source "drivers/Kconfig"
543
544 source "drivers/firmware/Kconfig"
545
546 source "fs/Kconfig"
547
548 source "kernel/Kconfig.instrumentation"
549
550 source "arch/x86/Kconfig.debug"
551
552 source "security/Kconfig"
553
554 source "crypto/Kconfig"
555
556 source "lib/Kconfig"