blob: d47b5a2e4a321d3d62e723df260243bbfd831920 [file] [log] [blame]
Sam Ravnborg1032c0b2007-11-06 21:35:08 +01001# x86 configuration
2
3### Arch settings
Sam Ravnborg8d5fffb2007-11-06 23:30:30 +01004config X86
5 bool
6 default y
7
8config 64BIT
9 def_bool X86_64
10
11config GENERIC_TIME
12 bool
13 default y
14
15config GENERIC_CMOS_UPDATE
16 bool
17 default y
18
19config CLOCKSOURCE_WATCHDOG
20 bool
21 default y
22
23config GENERIC_CLOCKEVENTS
24 bool
25 default y
26
27config GENERIC_CLOCKEVENTS_BROADCAST
28 bool
29 default y
30 depends on X86_64 || (X86_32 && X86_LOCAL_APIC)
31
32config LOCKDEP_SUPPORT
33 bool
34 default y
35
36config STACKTRACE_SUPPORT
37 bool
38 default y
39
40config SEMAPHORE_SLEEPERS
41 bool
42 default y
43
44config MMU
45 bool
46 default y
47
48config ZONE_DMA
49 bool
50 default y
51
52config QUICKLIST
53 bool
54 default X86_32
55
56config SBUS
57 bool
58
59config GENERIC_ISA_DMA
60 bool
61 default y
62
63config GENERIC_IOMAP
64 bool
65 default y
66
67config GENERIC_BUG
68 bool
69 default y
70 depends on BUG
71
72config GENERIC_HWEIGHT
73 bool
74 default y
75
76config ARCH_MAY_HAVE_PC_FDC
77 bool
78 default y
79
80config DMI
81 bool
82 default y
83
Sam Ravnborg1032c0b2007-11-06 21:35:08 +010084config RWSEM_GENERIC_SPINLOCK
85 def_bool !X86_XADD
86
87config RWSEM_XCHGADD_ALGORITHM
88 def_bool X86_XADD
89
90config ARCH_HAS_ILOG2_U32
91 def_bool n
92
93config ARCH_HAS_ILOG2_U64
94 def_bool n
95
96config GENERIC_CALIBRATE_DELAY
97 def_bool y
98
Sam Ravnborg8d5fffb2007-11-06 23:30:30 +010099config GENERIC_TIME_VSYSCALL
100 bool
101 default X86_64
102
103
104
105
106
107config ZONE_DMA32
108 bool
109 default X86_64
110
111config ARCH_POPULATES_NODE_MAP
112 def_bool y
113
114config AUDIT_ARCH
115 bool
116 default X86_64
117
118# Use the generic interrupt handling code in kernel/irq/:
119config GENERIC_HARDIRQS
120 bool
121 default y
122
123config GENERIC_IRQ_PROBE
124 bool
125 default y
126
127config GENERIC_PENDING_IRQ
128 bool
129 depends on GENERIC_HARDIRQS && SMP
130 default y
131
132config X86_SMP
133 bool
134 depends on X86_32 && SMP && !X86_VOYAGER
135 default y
136
137config X86_HT
138 bool
139 depends on SMP && !(X86_VISWS || X86_VOYAGER || MK8)
140 default y
141
142config X86_BIOS_REBOOT
143 bool
144 depends on X86_32 && !(X86_VISWS || X86_VOYAGER)
145 default y
146
147config X86_TRAMPOLINE
148 bool
149 depends on X86_SMP || (X86_VOYAGER && SMP)
150 default y
151
152config KTIME_SCALAR
153 def_bool X86_32
154
Sam Ravnborg1032c0b2007-11-06 21:35:08 +0100155
Sam Ravnborge279b6c2007-11-06 20:41:05 +0100156menu "Power management options"
157 depends on !X86_VOYAGER
158
159config ARCH_HIBERNATION_HEADER
160 bool
161 depends on X86_64 && HIBERNATION
162 default y
163
164source "kernel/power/Kconfig"
165
166source "drivers/acpi/Kconfig"
167
168menuconfig 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
227if APM
228
229config 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
236config 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
253config 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
264config 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
277config 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
287config 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
294endif # APM
295
296source "arch/x86/kernel/cpu/cpufreq/Kconfig"
297
298source "drivers/cpuidle/Kconfig"
299
300endmenu
301
302
303menu "Bus options (PCI etc.)"
304
305config 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
321choice
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
340config PCI_GOBIOS
341 bool "BIOS"
342
343config PCI_GOMMCONFIG
344 bool "MMConfig"
345
346config PCI_GODIRECT
347 bool "Direct"
348
349config PCI_GOANY
350 bool "Any"
351
352endchoice
353
354config 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.
360config PCI_DIRECT
361 bool
362 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
363 default y
364
365config PCI_MMCONFIG
366 bool
367 depends on X86_32 && PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
368 default y
369
370config PCI_DOMAINS
371 bool
372 depends on PCI
373 default y
374
375config PCI_MMCONFIG
376 bool "Support mmconfig PCI config space access"
377 depends on X86_64 && PCI && ACPI
378
379config 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
389config 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
400config 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
410source "drivers/pci/pcie/Kconfig"
411
412source "drivers/pci/Kconfig"
413
414# x86_64 have no ISA slots, but do have ISA-style DMA.
415config ISA_DMA_API
416 bool
417 default y
418
419if X86_32
420
421config 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
431config 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
447source "drivers/eisa/Kconfig"
448
449config 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
458source "drivers/mca/Kconfig"
459
460config 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
471config 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
482config 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
Sam Ravnborgbc0120f2007-11-06 23:10:39 +0100492endif # X86_32
493
Sam Ravnborge279b6c2007-11-06 20:41:05 +0100494config K8_NB
495 def_bool y
Sam Ravnborgbc0120f2007-11-06 23:10:39 +0100496 depends on AGP_AMD64 || (X86_64 && (GART_IOMMU || (PCI && NUMA)))
Sam Ravnborge279b6c2007-11-06 20:41:05 +0100497
498source "drivers/pcmcia/Kconfig"
499
500source "drivers/pci/hotplug/Kconfig"
501
502endmenu
503
504
505menu "Executable file formats / Emulations"
506
507source "fs/Kconfig.binfmt"
508
509config 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
517config 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
523config COMPAT
524 bool
525 depends on IA32_EMULATION
526 default y
527
528config COMPAT_FOR_U64_ALIGNMENT
529 def_bool COMPAT
530 depends on X86_64
531
532config SYSVIPC_COMPAT
533 bool
534 depends on X86_64 && COMPAT && SYSVIPC
535 default y
536
537endmenu
538
539
540source "net/Kconfig"
541
542source "drivers/Kconfig"
543
544source "drivers/firmware/Kconfig"
545
546source "fs/Kconfig"
547
548source "kernel/Kconfig.instrumentation"
549
550source "arch/x86/Kconfig.debug"
551
552source "security/Kconfig"
553
554source "crypto/Kconfig"
555
556source "lib/Kconfig"