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