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