blob: cfc5d496fffb0527298d394b521e9b0c0d02c0cb [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "Linux Kernel Configuration"
7
Brian Gerst0d078f62005-10-30 14:59:20 -08008config X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -07009 bool
10 default y
11 help
12 This is Linux's home port. Linux was originally native to the Intel
13 386, and runs on all the later x86 processors including the Intel
14 486, 586, Pentiums, and various instruction-set-compatible chips by
15 AMD, Cyrix, and others.
16
john stultz6f84fa22006-06-26 00:25:11 -070017config GENERIC_TIME
18 bool
19 default y
20
Thomas Gleixner5d8b34f2007-02-16 01:27:43 -080021config CLOCKSOURCE_WATCHDOG
22 bool
23 default y
24
Thomas Gleixnere9e2cdb2007-02-16 01:28:04 -080025config GENERIC_CLOCKEVENTS
26 bool
27 default y
28
29config GENERIC_CLOCKEVENTS_BROADCAST
30 bool
31 default y
Thomas Gleixner575d5e72007-02-17 20:03:21 +010032 depends on X86_LOCAL_APIC
Thomas Gleixnere9e2cdb2007-02-16 01:28:04 -080033
Ingo Molnarcbbf4372006-07-03 00:25:00 -070034config LOCKDEP_SUPPORT
35 bool
36 default y
37
Ingo Molnar4a7c7192006-07-03 00:24:39 -070038config STACKTRACE_SUPPORT
39 bool
40 default y
41
Benjamin LaHaise52fdd082005-09-03 15:56:52 -070042config SEMAPHORE_SLEEPERS
43 bool
44 default y
45
Brian Gerst0d078f62005-10-30 14:59:20 -080046config X86
47 bool
48 default y
49
Linus Torvalds1da177e2005-04-16 15:20:36 -070050config MMU
51 bool
52 default y
53
Christoph Lameter5ac6da62007-02-10 01:43:14 -080054config ZONE_DMA
55 bool
56 default y
57
Linus Torvalds1da177e2005-04-16 15:20:36 -070058config SBUS
59 bool
60
Linus Torvalds1da177e2005-04-16 15:20:36 -070061config GENERIC_ISA_DMA
62 bool
63 default y
64
65config GENERIC_IOMAP
66 bool
67 default y
68
Jeremy Fitzhardinge91768d62006-12-08 02:36:21 -080069config GENERIC_BUG
70 bool
71 default y
72 depends on BUG
73
Akinobu Mita1cc2b992006-03-26 01:39:24 -080074config GENERIC_HWEIGHT
75 bool
76 default y
77
viro@ZenIV.linux.org.uka08b6b72005-09-06 01:48:42 +010078config ARCH_MAY_HAVE_PC_FDC
79 bool
80 default y
81
Andi Kleene9928672006-01-11 22:43:33 +010082config DMI
83 bool
84 default y
85
Linus Torvalds1da177e2005-04-16 15:20:36 -070086source "init/Kconfig"
87
88menu "Processor type and features"
89
Ingo Molnard40891e2007-02-16 01:28:10 -080090source "kernel/time/Kconfig"
91
Adrian Bunkedd711f2006-04-10 22:53:14 -070092config SMP
93 bool "Symmetric multi-processing support"
94 ---help---
95 This enables support for systems with more than one CPU. If you have
96 a system with only one CPU, like most personal computers, say N. If
97 you have a system with more than one CPU, say Y.
98
99 If you say N here, the kernel will run on single and multiprocessor
100 machines, but will use only one CPU of a multiprocessor machine. If
101 you say Y here, the kernel will run on many, but not all,
102 singleprocessor machines. On a singleprocessor machine, the kernel
103 will run faster if you say N here.
104
105 Note that if you say Y here and choose architecture "586" or
106 "Pentium" under "Processor family", the kernel will not work on 486
107 architectures. Similarly, multiprocessor kernels for the "PPro"
108 architecture may not work on all Pentium based boards.
109
110 People using multiprocessor machines who say Y here should also say
111 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
112 Management" code will be disabled if you say Y here.
113
114 See also the <file:Documentation/smp.txt>,
115 <file:Documentation/i386/IO-APIC.txt>,
116 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
117 <http://www.tldp.org/docs.html#howto>.
118
119 If you don't know what to do here, say N.
120
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121choice
122 prompt "Subarchitecture Type"
123 default X86_PC
124
125config X86_PC
126 bool "PC-compatible"
127 help
128 Choose this option if your computer is a standard PC or compatible.
129
130config X86_ELAN
131 bool "AMD Elan"
132 help
133 Select this for an AMD Elan processor.
134
135 Do not use this option for K6/Athlon/Opteron processors!
136
137 If unsure, choose "PC-compatible" instead.
138
139config X86_VOYAGER
140 bool "Voyager (NCR)"
141 help
142 Voyager is an MCA-based 32-way capable SMP architecture proprietary
143 to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based.
144
145 *** WARNING ***
146
147 If you do not specifically know you have a Voyager based machine,
148 say N here, otherwise the kernel you build will not be bootable.
149
150config X86_NUMAQ
151 bool "NUMAQ (IBM/Sequent)"
Adrian Bunk905c3992006-03-23 02:59:55 -0800152 select SMP
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153 select NUMA
154 help
155 This option is used for getting Linux to run on a (IBM/Sequent) NUMA
156 multiquad box. This changes the way that processors are bootstrapped,
157 and uses Clustered Logical APIC addressing mode instead of Flat Logical.
158 You will need a new lynxer.elf file to flash your firmware with - send
159 email to <Martin.Bligh@us.ibm.com>.
160
161config X86_SUMMIT
162 bool "Summit/EXA (IBM x440)"
163 depends on SMP
164 help
165 This option is needed for IBM systems that use the Summit/EXA chipset.
166 In particular, it is needed for the x440.
167
168 If you don't have one of these computers, you should say N here.
KAMEZAWA Hiroyuki38e716a2006-08-27 01:24:00 -0700169 If you want to build a NUMA kernel, you must select ACPI.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700170
171config X86_BIGSMP
172 bool "Support for other sub-arch SMP systems with more than 8 CPUs"
173 depends on SMP
174 help
175 This option is needed for the systems that have more than 8 CPUs
176 and if the system is not of any sub-arch type above.
177
178 If you don't have such a system, you should say N here.
179
180config X86_VISWS
181 bool "SGI 320/540 (Visual Workstation)"
182 help
183 The SGI Visual Workstation series is an IA32-based workstation
184 based on SGI systems chips with some legacy PC hardware attached.
185
186 Say Y here to create a kernel to run on the SGI 320 or 540.
187
188 A kernel compiled for the Visual Workstation will not run on PCs
189 and vice versa. See <file:Documentation/sgi-visws.txt> for details.
190
191config X86_GENERICARCH
192 bool "Generic architecture (Summit, bigsmp, ES7000, default)"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193 help
194 This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
195 It is intended for a generic binary kernel.
KAMEZAWA Hiroyuki38e716a2006-08-27 01:24:00 -0700196 If you want a NUMA kernel, select ACPI. We need SRAT for NUMA.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197
198config X86_ES7000
199 bool "Support for Unisys ES7000 IA32 series"
200 depends on SMP
201 help
202 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
203 supposed to run on an IA32-based Unisys ES7000 system.
204 Only choose this option if you have such a system, otherwise you
205 should say N here.
206
207endchoice
208
Rusty Russelld3561b72006-12-07 02:14:07 +0100209config PARAVIRT
210 bool "Paravirtualization support (EXPERIMENTAL)"
211 depends on EXPERIMENTAL
Randy Dunlapf0f32fc2006-12-09 21:33:36 +0100212 depends on !(X86_VISWS || X86_VOYAGER)
Rusty Russelld3561b72006-12-07 02:14:07 +0100213 help
214 Paravirtualization is a way of running multiple instances of
215 Linux on the same machine, under a hypervisor. This option
216 changes the kernel so it can modify itself when it is run
217 under a hypervisor, improving performance significantly.
218 However, when run without a hypervisor the kernel is
219 theoretically slower. If in doubt, say N.
220
Zachary Amsden7ce0bcf2007-02-13 13:26:21 +0100221config VMI
222 bool "VMI Paravirt-ops support"
Zachary Amsdena9eddc92007-03-05 00:30:41 -0800223 depends on PARAVIRT
Zachary Amsden7ce0bcf2007-02-13 13:26:21 +0100224 default y
225 help
Ingo Molnare9417fb2007-03-05 13:13:46 +0100226 VMI provides a paravirtualized interface to the VMware ESX server
227 (it could be used by other hypervisors in theory too, but is not
228 at the moment), by linking the kernel to a GPL-ed ROM module
Zachary Amsden7ce0bcf2007-02-13 13:26:21 +0100229 provided by the hypervisor.
230
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231config ACPI_SRAT
232 bool
233 default y
Andrew Morton55910b22006-06-30 05:15:00 -0400234 depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
Yasunori Goto762834e2006-06-23 02:03:19 -0700235 select ACPI_NUMA
236
237config HAVE_ARCH_PARSE_SRAT
238 bool
239 default y
240 depends on ACPI_SRAT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700241
242config X86_SUMMIT_NUMA
243 bool
244 default y
245 depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
246
247config X86_CYCLONE_TIMER
248 bool
249 default y
250 depends on X86_SUMMIT || X86_GENERICARCH
251
252config ES7000_CLUSTERED_APIC
253 bool
254 default y
255 depends on SMP && X86_ES7000 && MPENTIUMIII
256
Paolo 'Blaisorblade' Giarrusso96d55b82005-10-30 15:00:07 -0800257source "arch/i386/Kconfig.cpu"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700258
259config HPET_TIMER
260 bool "HPET Timer Support"
261 help
262 This enables the use of the HPET for the kernel's internal timer.
263 HPET is the next generation timer replacing legacy 8254s.
264 You can safely choose Y here. However, HPET will only be
265 activated if the platform and the BIOS support this feature.
266 Otherwise the 8254 will be used for timing services.
267
268 Choose N to continue using the legacy 8254 timer.
269
270config HPET_EMULATE_RTC
Venkatesh Pallipadic91096d2005-08-04 15:36:10 -0700271 bool
Linus Torvalds1da177e2005-04-16 15:20:36 -0700272 depends on HPET_TIMER && RTC=y
Venkatesh Pallipadic91096d2005-08-04 15:36:10 -0700273 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274
Linus Torvalds1da177e2005-04-16 15:20:36 -0700275config NR_CPUS
276 int "Maximum number of CPUs (2-255)"
277 range 2 255
278 depends on SMP
279 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
280 default "8"
281 help
282 This allows you to specify the maximum number of CPUs which this
283 kernel will support. The maximum supported value is 255 and the
284 minimum value which makes sense is 2.
285
286 This is purely to save memory - each supported CPU adds
287 approximately eight kilobytes to the kernel image.
288
289config SCHED_SMT
290 bool "SMT (Hyperthreading) scheduler support"
James Bottomley96c52742006-06-27 02:53:49 -0700291 depends on X86_HT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700292 help
293 SMT scheduler support improves the CPU scheduler's decision making
294 when dealing with Intel Pentium 4 chips with HyperThreading at a
295 cost of slightly increased overhead in some places. If unsure say
296 N here.
297
Siddha, Suresh B1e9f28f2006-03-27 01:15:22 -0800298config SCHED_MC
299 bool "Multi-core scheduler support"
James Bottomley96c52742006-06-27 02:53:49 -0700300 depends on X86_HT
Siddha, Suresh B1e9f28f2006-03-27 01:15:22 -0800301 default y
302 help
303 Multi-core scheduler support improves the CPU scheduler's decision
304 making when dealing with multi-core CPU chips at a cost of slightly
305 increased overhead in some places. If unsure say N here.
306
Ingo Molnarcc19ca82005-06-25 14:57:36 -0700307source "kernel/Kconfig.preempt"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700308
309config X86_UP_APIC
310 bool "Local APIC support on uniprocessors"
Andi Kleen874c4fe2006-09-26 10:52:26 +0200311 depends on !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700312 help
313 A local APIC (Advanced Programmable Interrupt Controller) is an
314 integrated interrupt controller in the CPU. If you have a single-CPU
315 system which has a processor with a local APIC, you can say Y here to
316 enable and use it. If you say Y here even though your machine doesn't
317 have a local APIC, then the kernel will still run with no slowdown at
318 all. The local APIC supports CPU-generated self-interrupts (timer,
319 performance counters), and the NMI watchdog which detects hard
320 lockups.
321
322config X86_UP_IOAPIC
323 bool "IO-APIC support on uniprocessors"
324 depends on X86_UP_APIC
325 help
326 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
327 SMP-capable replacement for PC-style interrupt controllers. Most
328 SMP systems and many recent uniprocessor systems have one.
329
330 If you have a single-CPU system with an IO-APIC, you can say Y here
331 to use it. If you say Y here even though your machine doesn't have
332 an IO-APIC, then the kernel will still run with no slowdown at all.
333
334config X86_LOCAL_APIC
335 bool
Andi Kleen874c4fe2006-09-26 10:52:26 +0200336 depends on X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH
Linus Torvalds1da177e2005-04-16 15:20:36 -0700337 default y
338
339config X86_IO_APIC
340 bool
Andi Kleen874c4fe2006-09-26 10:52:26 +0200341 depends on X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH
Linus Torvalds1da177e2005-04-16 15:20:36 -0700342 default y
343
344config X86_VISWS_APIC
345 bool
346 depends on X86_VISWS
347 default y
348
Linus Torvalds1da177e2005-04-16 15:20:36 -0700349config X86_MCE
350 bool "Machine Check Exception"
351 depends on !X86_VOYAGER
352 ---help---
353 Machine Check Exception support allows the processor to notify the
354 kernel if it detects a problem (e.g. overheating, component failure).
355 The action the kernel takes depends on the severity of the problem,
356 ranging from a warning message on the console, to halting the machine.
357 Your processor must be a Pentium or newer to support this - check the
358 flags in /proc/cpuinfo for mce. Note that some older Pentium systems
359 have a design flaw which leads to false MCE events - hence MCE is
360 disabled on all P5 processors, unless explicitly enabled with "mce"
361 as a boot argument. Similarly, if MCE is built in and creates a
362 problem on some new non-standard machine, you can boot with "nomce"
363 to disable it. MCE support simply ignores non-MCE processors like
364 the 386 and 486, so nearly everyone can say Y here.
365
366config X86_MCE_NONFATAL
367 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
368 depends on X86_MCE
369 help
370 Enabling this feature starts a timer that triggers every 5 seconds which
371 will look at the machine check registers to see if anything happened.
372 Non-fatal problems automatically get corrected (but still logged).
373 Disable this if you don't want to see these messages.
374 Seeing the messages this option prints out may be indicative of dying hardware,
375 or out-of-spec (ie, overclocked) hardware.
376 This option only does something on certain CPUs.
377 (AMD Athlon/Duron and Intel Pentium 4)
378
379config X86_MCE_P4THERMAL
380 bool "check for P4 thermal throttling interrupt."
381 depends on X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS
382 help
383 Enabling this feature will cause a message to be printed when the P4
384 enters thermal throttling.
385
Andi Kleenc38bfdc2006-06-26 13:58:44 +0200386config VM86
387 default y
388 bool "Enable VM86 support" if EMBEDDED
389 help
390 This option is required by programs like DOSEMU to run 16-bit legacy
391 code on X86 processors. It also may be needed by software like
392 XFree86 to initialize some video cards via BIOS. Disabling this
393 option saves about 6k.
394
Linus Torvalds1da177e2005-04-16 15:20:36 -0700395config TOSHIBA
396 tristate "Toshiba Laptop support"
397 ---help---
398 This adds a driver to safely access the System Management Mode of
399 the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
400 not work on models with a Phoenix BIOS. The System Management Mode
401 is used to set the BIOS and power saving options on Toshiba portables.
402
403 For information on utilities to make use of this driver see the
404 Toshiba Linux utilities web site at:
405 <http://www.buzzard.org.uk/toshiba/>.
406
407 Say Y if you intend to run this kernel on a Toshiba portable.
408 Say N otherwise.
409
410config I8K
411 tristate "Dell laptop support"
412 ---help---
413 This adds a driver to safely access the System Management Mode
414 of the CPU on the Dell Inspiron 8000. The System Management Mode
415 is used to read cpu temperature and cooling fan status and to
416 control the fans on the I8K portables.
417
418 This driver has been tested only on the Inspiron 8000 but it may
419 also work with other Dell laptops. You can force loading on other
420 models by passing the parameter `force=1' to the module. Use at
421 your own risk.
422
423 For information on utilities to make use of this driver see the
424 I8K Linux utilities web site at:
425 <http://people.debian.org/~dz/i8k/>
426
427 Say Y if you intend to run this kernel on a Dell Inspiron 8000.
428 Say N otherwise.
429
Jaya Kumara2f7c352005-05-01 08:58:49 -0700430config X86_REBOOTFIXUPS
431 bool "Enable X86 board specific fixups for reboot"
432 depends on X86
433 default n
434 ---help---
435 This enables chipset and/or board specific fixups to be done
436 in order to get reboot to work correctly. This is only needed on
437 some combinations of hardware and BIOS. The symptom, for which
438 this config is intended, is when reboot ends with a stalled/hung
439 system.
440
441 Currently, the only fixup is for the Geode GX1/CS5530A/TROM2.1.
442 combination.
443
444 Say Y if you want to enable the fixup. Currently, it's safe to
445 enable this option even if you don't need it.
446 Say N otherwise.
447
Linus Torvalds1da177e2005-04-16 15:20:36 -0700448config MICROCODE
449 tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
Shaohua Li9a4b9ef2006-09-27 01:50:53 -0700450 select FW_LOADER
Linus Torvalds1da177e2005-04-16 15:20:36 -0700451 ---help---
452 If you say Y here and also to "/dev file system support" in the
453 'File systems' section, you will be able to update the microcode on
454 Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II,
455 Pentium III, Pentium 4, Xeon etc. You will obviously need the
456 actual microcode binary data itself which is not shipped with the
457 Linux kernel.
458
459 For latest news and information on obtaining all the required
460 ingredients for this driver, check:
461 <http://www.urbanmyth.org/microcode/>.
462
463 To compile this driver as a module, choose M here: the
464 module will be called microcode.
465
Shaohua Li9a3110b2006-09-27 01:50:51 -0700466config MICROCODE_OLD_INTERFACE
467 bool
468 depends on MICROCODE
469 default y
470
Linus Torvalds1da177e2005-04-16 15:20:36 -0700471config X86_MSR
472 tristate "/dev/cpu/*/msr - Model-specific register support"
473 help
474 This device gives privileged processes access to the x86
475 Model-Specific Registers (MSRs). It is a character device with
476 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
477 MSR accesses are directed to a specific CPU on multi-processor
478 systems.
479
480config X86_CPUID
481 tristate "/dev/cpu/*/cpuid - CPU information support"
482 help
483 This device gives processes access to the x86 CPUID instruction to
484 be executed on a specific processor. It is a character device
485 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
486 /dev/cpu/31/cpuid.
487
488source "drivers/firmware/Kconfig"
489
490choice
491 prompt "High Memory Support"
Randy Dunlapf6ca8082006-12-07 02:14:19 +0100492 default HIGHMEM4G if !X86_NUMAQ
493 default HIGHMEM64G if X86_NUMAQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700494
495config NOHIGHMEM
496 bool "off"
Adrian Bunk905c3992006-03-23 02:59:55 -0800497 depends on !X86_NUMAQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700498 ---help---
499 Linux can use up to 64 Gigabytes of physical memory on x86 systems.
500 However, the address space of 32-bit x86 processors is only 4
501 Gigabytes large. That means that, if you have a large amount of
502 physical memory, not all of it can be "permanently mapped" by the
503 kernel. The physical memory that's not permanently mapped is called
504 "high memory".
505
506 If you are compiling a kernel which will never run on a machine with
507 more than 1 Gigabyte total physical RAM, answer "off" here (default
508 choice and suitable for most users). This will result in a "3GB/1GB"
509 split: 3GB are mapped so that each process sees a 3GB virtual memory
510 space and the remaining part of the 4GB virtual memory space is used
511 by the kernel to permanently map as much physical memory as
512 possible.
513
514 If the machine has between 1 and 4 Gigabytes physical RAM, then
515 answer "4GB" here.
516
517 If more than 4 Gigabytes is used then answer "64GB" here. This
518 selection turns Intel PAE (Physical Address Extension) mode on.
519 PAE implements 3-level paging on IA32 processors. PAE is fully
520 supported by Linux, PAE mode is implemented on all recent Intel
521 processors (Pentium Pro and better). NOTE: If you say "64GB" here,
522 then the kernel will not boot on CPUs that don't support PAE!
523
524 The actual amount of total physical memory will either be
525 auto detected or can be forced by using a kernel command line option
526 such as "mem=256M". (Try "man bootparam" or see the documentation of
527 your boot loader (lilo or loadlin) about how to pass options to the
528 kernel at boot time.)
529
530 If unsure, say "off".
531
532config HIGHMEM4G
533 bool "4GB"
Adrian Bunk905c3992006-03-23 02:59:55 -0800534 depends on !X86_NUMAQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700535 help
536 Select this if you have a 32-bit processor and between 1 and 4
537 gigabytes of physical RAM.
538
539config HIGHMEM64G
540 bool "64GB"
Adrian Bunk4be68a72006-02-04 23:28:05 -0800541 depends on X86_CMPXCHG64
Linus Torvalds1da177e2005-04-16 15:20:36 -0700542 help
543 Select this if you have a 32-bit processor and more than 4
544 gigabytes of physical RAM.
545
546endchoice
547
Mark Lord975b3d32006-02-01 03:06:11 -0800548choice
Dave Hansen753b9f82006-09-25 23:32:29 -0700549 depends on EXPERIMENTAL
Andi Kleen9539d4e2006-04-27 18:39:36 -0700550 prompt "Memory split" if EMBEDDED
Mark Lord975b3d32006-02-01 03:06:11 -0800551 default VMSPLIT_3G
552 help
553 Select the desired split between kernel and user memory.
554
555 If the address range available to the kernel is less than the
556 physical memory installed, the remaining memory will be available
557 as "high memory". Accessing high memory is a little more costly
558 than low memory, as it needs to be mapped into the kernel first.
559 Note that increasing the kernel address space limits the range
560 available to user programs, making the address space there
561 tighter. Selecting anything other than the default 3G/1G split
562 will also likely make your kernel incompatible with binary-only
563 kernel modules.
564
565 If you are not absolutely sure what you are doing, leave this
566 option alone!
567
568 config VMSPLIT_3G
569 bool "3G/1G user/kernel split"
570 config VMSPLIT_3G_OPT
Dave Hansen753b9f82006-09-25 23:32:29 -0700571 depends on !HIGHMEM
Mark Lord975b3d32006-02-01 03:06:11 -0800572 bool "3G/1G user/kernel split (for full 1G low memory)"
573 config VMSPLIT_2G
574 bool "2G/2G user/kernel split"
575 config VMSPLIT_1G
576 bool "1G/3G user/kernel split"
577endchoice
578
579config PAGE_OFFSET
580 hex
581 default 0xB0000000 if VMSPLIT_3G_OPT
582 default 0x78000000 if VMSPLIT_2G
583 default 0x40000000 if VMSPLIT_1G
584 default 0xC0000000
585
Linus Torvalds1da177e2005-04-16 15:20:36 -0700586config HIGHMEM
587 bool
588 depends on HIGHMEM64G || HIGHMEM4G
589 default y
590
591config X86_PAE
592 bool
593 depends on HIGHMEM64G
594 default y
Greg Kroah-Hartman6550e072006-06-12 17:11:31 -0700595 select RESOURCES_64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700596
597# Common NUMA Features
598config NUMA
599 bool "Numa Memory Allocation and Scheduler Support"
KAMEZAWA Hiroyuki38e716a2006-08-27 01:24:00 -0700600 depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700601 default n if X86_PC
602 default y if (X86_NUMAQ || X86_SUMMIT)
603
Linus Torvalds1da177e2005-04-16 15:20:36 -0700604comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
605 depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
606
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700607config NODES_SHIFT
608 int
609 default "4" if X86_NUMAQ
610 default "3"
611 depends on NEED_MULTIPLE_NODES
612
Linus Torvalds1da177e2005-04-16 15:20:36 -0700613config HAVE_ARCH_BOOTMEM_NODE
614 bool
615 depends on NUMA
616 default y
617
Andy Whitcroftaf705362005-06-23 00:07:53 -0700618config ARCH_HAVE_MEMORY_PRESENT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700619 bool
620 depends on DISCONTIGMEM
621 default y
622
623config NEED_NODE_MEMMAP_SIZE
624 bool
Andy Whitcroft05b79bd2005-06-23 00:07:57 -0700625 depends on DISCONTIGMEM || SPARSEMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700626 default y
627
Dave Hansen6f167ec2005-06-23 00:07:39 -0700628config HAVE_ARCH_ALLOC_REMAP
629 bool
630 depends on NUMA
631 default y
632
Andy Whitcroft215c3402006-01-06 00:12:06 -0800633config ARCH_FLATMEM_ENABLE
634 def_bool y
635 depends on (ARCH_SELECT_MEMORY_MODEL && X86_PC)
636
Andy Whitcroft05b79bd2005-06-23 00:07:57 -0700637config ARCH_DISCONTIGMEM_ENABLE
638 def_bool y
639 depends on NUMA
640
641config ARCH_DISCONTIGMEM_DEFAULT
642 def_bool y
643 depends on NUMA
644
645config ARCH_SPARSEMEM_ENABLE
646 def_bool y
Andy Whitcroft215c3402006-01-06 00:12:06 -0800647 depends on (NUMA || (X86_PC && EXPERIMENTAL))
648 select SPARSEMEM_STATIC
Andy Whitcroft05b79bd2005-06-23 00:07:57 -0700649
650config ARCH_SELECT_MEMORY_MODEL
651 def_bool y
652 depends on ARCH_SPARSEMEM_ENABLE
653
Mel Gorman4cfee882006-09-27 01:49:51 -0700654config ARCH_POPULATES_NODE_MAP
655 def_bool y
Dave Hansen3f22ab22005-06-23 00:07:43 -0700656
Mel Gorman4cfee882006-09-27 01:49:51 -0700657source "mm/Kconfig"
Andy Whitcroftb159d432005-06-23 00:07:52 -0700658
Linus Torvalds1da177e2005-04-16 15:20:36 -0700659config HIGHPTE
660 bool "Allocate 3rd-level pagetables from highmem"
661 depends on HIGHMEM4G || HIGHMEM64G
662 help
663 The VM uses one page table entry for each page of physical memory.
664 For systems with a lot of RAM, this can be wasteful of precious
665 low memory. Setting this option will put user-space page table
666 entries in high memory.
667
668config MATH_EMULATION
669 bool "Math emulation"
670 ---help---
671 Linux can emulate a math coprocessor (used for floating point
672 operations) if you don't have one. 486DX and Pentium processors have
673 a math coprocessor built in, 486SX and 386 do not, unless you added
674 a 487DX or 387, respectively. (The messages during boot time can
675 give you some hints here ["man dmesg"].) Everyone needs either a
676 coprocessor or this emulation.
677
678 If you don't have a math coprocessor, you need to say Y here; if you
679 say Y here even though you have a coprocessor, the coprocessor will
680 be used nevertheless. (This behavior can be changed with the kernel
681 command line option "no387", which comes handy if your coprocessor
682 is broken. Try "man bootparam" or see the documentation of your boot
683 loader (lilo or loadlin) about how to pass options to the kernel at
684 boot time.) This means that it is a good idea to say Y here if you
685 intend to use this kernel on different machines.
686
687 More information about the internals of the Linux math coprocessor
688 emulation can be found in <file:arch/i386/math-emu/README>.
689
690 If you are not sure, say Y; apart from resulting in a 66 KB bigger
691 kernel, it won't hurt.
692
693config MTRR
694 bool "MTRR (Memory Type Range Register) support"
695 ---help---
696 On Intel P6 family processors (Pentium Pro, Pentium II and later)
697 the Memory Type Range Registers (MTRRs) may be used to control
698 processor access to memory ranges. This is most useful if you have
699 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
700 allows bus write transfers to be combined into a larger transfer
701 before bursting over the PCI/AGP bus. This can increase performance
702 of image write operations 2.5 times or more. Saying Y here creates a
703 /proc/mtrr file which may be used to manipulate your processor's
704 MTRRs. Typically the X server should use this.
705
706 This code has a reasonably generic interface so that similar
707 control registers on other processors can be easily supported
708 as well:
709
710 The Cyrix 6x86, 6x86MX and M II processors have Address Range
711 Registers (ARRs) which provide a similar functionality to MTRRs. For
712 these, the ARRs are used to emulate the MTRRs.
713 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
714 MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing
715 write-combining. All of these processors are supported by this code
716 and it makes sense to say Y here if you have one of them.
717
718 Saying Y here also fixes a problem with buggy SMP BIOSes which only
719 set the MTRRs for the boot CPU and not for the secondary CPUs. This
720 can lead to all sorts of problems, so it's good to say Y here.
721
722 You can safely say Y even if your machine doesn't have MTRRs, you'll
723 just add about 9 KB to your kernel.
724
725 See <file:Documentation/mtrr.txt> for more information.
726
727config EFI
Arthur Othienoc8e54292006-07-30 03:03:22 -0700728 bool "Boot from EFI support"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700729 depends on ACPI
730 default n
731 ---help---
Matt LaPlante4b3f6862006-10-03 22:21:02 +0200732 This enables the kernel to boot on EFI platforms using
Linus Torvalds1da177e2005-04-16 15:20:36 -0700733 system configuration information passed to it from the firmware.
734 This also enables the kernel to use any EFI runtime services that are
735 available (such as the EFI variable services).
736
737 This option is only useful on systems that have EFI firmware
738 and will result in a kernel image that is ~8k larger. In addition,
739 you must use the latest ELILO loader available at
740 <http://elilo.sourceforge.net> in order to take advantage of
741 kernel initialization using EFI information (neither GRUB nor LILO know
742 anything about EFI). However, even with this option, the resultant
743 kernel should continue to boot on existing non-EFI platforms.
744
745config IRQBALANCE
746 bool "Enable kernel irq balancing"
747 depends on SMP && X86_IO_APIC
748 default y
749 help
750 The default yes will allow the kernel to do irq load balancing.
751 Saying no will keep the kernel from doing irq load balancing.
752
Linus Torvalds1da177e2005-04-16 15:20:36 -0700753# turning this on wastes a bunch of space.
754# Summit needs it only when NUMA is on
755config BOOT_IOREMAP
756 bool
757 depends on (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))
758 default y
759
Linus Torvalds1da177e2005-04-16 15:20:36 -0700760config SECCOMP
761 bool "Enable seccomp to safely compute untrusted bytecode"
762 depends on PROC_FS
763 default y
764 help
765 This kernel feature is useful for number crunching applications
766 that may need to compute untrusted bytecode during their
767 execution. By using pipes or other transports made available to
768 the process as file descriptors supporting the read/write
769 syscalls, it's possible to isolate those applications in
770 their own address space using seccomp. Once seccomp is
771 enabled via /proc/<pid>/seccomp, it cannot be disabled
772 and the task is only allowed to execute a few safe syscalls
773 defined by each seccomp mode.
774
775 If unsure, say Y. Only embedded should say N here.
776
Christoph Lameter59121002005-06-23 00:08:25 -0700777source kernel/Kconfig.hz
778
Eric W. Biederman5033cba2005-06-25 14:57:56 -0700779config KEXEC
Eric W. Biederman371c2f22006-09-26 10:52:40 +0200780 bool "kexec system call"
Eric W. Biederman5033cba2005-06-25 14:57:56 -0700781 help
782 kexec is a system call that implements the ability to shutdown your
783 current kernel, and to start another kernel. It is like a reboot
Egry Gabor48a12042006-06-26 18:47:15 +0200784 but it is independent of the system firmware. And like a reboot
Eric W. Biederman5033cba2005-06-25 14:57:56 -0700785 you can start any kernel with it, not just Linux.
786
Matt LaPlante1f1332f2006-06-29 01:32:47 -0400787 The name comes from the similarity to the exec system call.
Eric W. Biederman5033cba2005-06-25 14:57:56 -0700788
789 It is an ongoing process to be certain the hardware in a machine
790 is properly shutdown, so do not be surprised if this code does not
791 initially work for you. It may help to enable device hotplugging
792 support. As of this writing the exact hardware interface is
793 strongly in flux, so no good recommendation can be made.
794
Vivek Goyal5f016452005-06-25 14:58:19 -0700795config CRASH_DUMP
796 bool "kernel crash dumps (EXPERIMENTAL)"
Vivek Goyal5f016452005-06-25 14:58:19 -0700797 depends on EXPERIMENTAL
798 depends on HIGHMEM
799 help
800 Generate crash dump after being started by kexec.
Andi Kleen1edf7772006-09-26 10:52:35 +0200801 This should be normally only set in special crash dump kernels
802 which are loaded in the main kernel with kexec-tools into
803 a specially reserved region and then later executed after
804 a crash by kdump/kexec. The crash dump kernel must be compiled
805 to a memory address not used by the main kernel or BIOS using
806 PHYSICAL_START.
807 For more details see Documentation/kdump/kdump.txt
Maneesh Soni05970d42006-01-09 20:51:52 -0800808
Vivek Goyaldd0ec162007-01-05 16:36:30 -0800809config PHYSICAL_START
810 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
811 default "0x100000"
812 help
813 This gives the physical address where the kernel is loaded.
814
815 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
816 bzImage will decompress itself to above physical address and
817 run from there. Otherwise, bzImage will run from the address where
818 it has been loaded by the boot loader and will ignore above physical
819 address.
820
821 In normal kdump cases one does not have to set/change this option
822 as now bzImage can be compiled as a completely relocatable image
823 (CONFIG_RELOCATABLE=y) and be used to load and run from a different
824 address. This option is mainly useful for the folks who don't want
825 to use a bzImage for capturing the crash dump and want to use a
826 vmlinux instead. vmlinux is not relocatable hence a kernel needs
827 to be specifically compiled to run from a specific memory area
828 (normally a reserved region) and this option comes handy.
829
830 So if you are using bzImage for capturing the crash dump, leave
831 the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y.
832 Otherwise if you plan to use vmlinux for capturing the crash dump
833 change this value to start of the reserved region (Typically 16MB
834 0x1000000). In other words, it can be set based on the "X" value as
835 specified in the "crashkernel=YM@XM" command line boot parameter
836 passed to the panic-ed kernel. Typically this parameter is set as
837 crashkernel=64M@16M. Please take a look at
838 Documentation/kdump/kdump.txt for more details about crash dumps.
839
840 Usage of bzImage for capturing the crash dump is recommended as
841 one does not have to build two kernels. Same kernel can be used
842 as production kernel and capture kernel. Above option should have
843 gone away after relocatable bzImage support is introduced. But it
844 is present because there are users out there who continue to use
845 vmlinux for dump capture. This option should go away down the
846 line.
847
848 Don't change this unless you know what you are doing.
849
Eric W. Biederman968de4f2006-12-07 02:14:04 +0100850config RELOCATABLE
Vivek Goyal4c7aa6c2006-12-07 02:14:04 +0100851 bool "Build a relocatable kernel(EXPERIMENTAL)"
852 depends on EXPERIMENTAL
Eric W. Biederman968de4f2006-12-07 02:14:04 +0100853 help
854 This build a kernel image that retains relocation information
855 so it can be loaded someplace besides the default 1MB.
856 The relocations tend to the kernel binary about 10% larger,
857 but are discarded at runtime.
858
859 One use is for the kexec on panic case where the recovery kernel
860 must live at a different physical address than the primary
861 kernel.
862
Vivek Goyale69f2022006-12-07 02:14:04 +0100863config PHYSICAL_ALIGN
864 hex "Alignment value to which kernel should be aligned"
Maneesh Soni05970d42006-01-09 20:51:52 -0800865 default "0x100000"
Vivek Goyale69f2022006-12-07 02:14:04 +0100866 range 0x2000 0x400000
Maneesh Soni05970d42006-01-09 20:51:52 -0800867 help
Vivek Goyale69f2022006-12-07 02:14:04 +0100868 This value puts the alignment restrictions on physical address
869 where kernel is loaded and run from. Kernel is compiled for an
870 address which meets above alignment restriction.
871
872 If bootloader loads the kernel at a non-aligned address and
873 CONFIG_RELOCATABLE is set, kernel will move itself to nearest
874 address aligned to above value and run from there.
875
876 If bootloader loads the kernel at a non-aligned address and
877 CONFIG_RELOCATABLE is not set, kernel will ignore the run time
878 load address and decompress itself to the address it has been
879 compiled for and run from there. The address for which kernel is
880 compiled already meets above alignment restrictions. Hence the
881 end result is that kernel runs from a physical address meeting
882 above alignment restrictions.
Maneesh Soni05970d42006-01-09 20:51:52 -0800883
884 Don't change this unless you know what you are doing.
885
Randy Dunlapce63ad72006-01-14 13:20:51 -0800886config HOTPLUG_CPU
887 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
Ashok Raj35076bd2006-04-27 18:39:30 -0700888 depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER
Randy Dunlapce63ad72006-01-14 13:20:51 -0800889 ---help---
Pavel Machekb2d596d2006-05-15 09:44:34 -0700890 Say Y here to experiment with turning CPUs off and on, and to
891 enable suspend on SMP systems. CPUs can be controlled through
892 /sys/devices/system/cpu.
Randy Dunlapce63ad72006-01-14 13:20:51 -0800893
Ingo Molnare6e54942006-06-27 02:53:50 -0700894config COMPAT_VDSO
895 bool "Compat VDSO support"
896 default y
Jeremy Fitzhardinge052e7992006-09-25 23:32:25 -0700897 depends on !PARAVIRT
Ingo Molnare6e54942006-06-27 02:53:50 -0700898 help
899 Map the VDSO to the predictable old-style address too.
900 ---help---
901 Say N here if you are running a sufficiently recent glibc
902 version (2.3.3 or later), to remove the high-mapped
903 VDSO mapping and to exclusively use the randomized VDSO.
904
905 If unsure, say Y.
Randy Dunlapce63ad72006-01-14 13:20:51 -0800906
Linus Torvalds1da177e2005-04-16 15:20:36 -0700907endmenu
908
Yasunori Gotocc576372006-06-29 02:24:27 -0700909config ARCH_ENABLE_MEMORY_HOTPLUG
910 def_bool y
911 depends on HIGHMEM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700912
913menu "Power management options (ACPI, APM)"
914 depends on !X86_VOYAGER
915
916source kernel/power/Kconfig
917
918source "drivers/acpi/Kconfig"
919
920menu "APM (Advanced Power Management) BIOS Support"
921depends on PM && !X86_VISWS
922
923config APM
924 tristate "APM (Advanced Power Management) BIOS support"
Dave Jones987d46132006-01-08 01:05:09 -0800925 depends on PM
Linus Torvalds1da177e2005-04-16 15:20:36 -0700926 ---help---
927 APM is a BIOS specification for saving power using several different
928 techniques. This is mostly useful for battery powered laptops with
929 APM compliant BIOSes. If you say Y here, the system time will be
930 reset after a RESUME operation, the /proc/apm device will provide
931 battery status information, and user-space programs will receive
932 notification of APM "events" (e.g. battery status change).
933
934 If you select "Y" here, you can disable actual use of the APM
935 BIOS by passing the "apm=off" option to the kernel at boot time.
936
937 Note that the APM support is almost completely disabled for
938 machines with more than one CPU.
939
940 In order to use APM, you will need supporting software. For location
941 and more information, read <file:Documentation/pm.txt> and the
942 Battery Powered Linux mini-HOWTO, available from
943 <http://www.tldp.org/docs.html#howto>.
944
945 This driver does not spin down disk drives (see the hdparm(8)
946 manpage ("man 8 hdparm") for that), and it doesn't turn off
947 VESA-compliant "green" monitors.
948
949 This driver does not support the TI 4000M TravelMate and the ACER
950 486/DX4/75 because they don't have compliant BIOSes. Many "green"
951 desktop machines also don't have compliant BIOSes, and this driver
952 may cause those machines to panic during the boot phase.
953
954 Generally, if you don't have a battery in your machine, there isn't
955 much point in using this driver and you should say N. If you get
956 random kernel OOPSes or reboots that don't seem to be related to
957 anything, try disabling/enabling this option (or disabling/enabling
958 APM in your BIOS).
959
960 Some other things you should try when experiencing seemingly random,
961 "weird" problems:
962
963 1) make sure that you have enough swap space and that it is
964 enabled.
965 2) pass the "no-hlt" option to the kernel
966 3) switch on floating point emulation in the kernel and pass
967 the "no387" option to the kernel
968 4) pass the "floppy=nodma" option to the kernel
969 5) pass the "mem=4M" option to the kernel (thereby disabling
970 all but the first 4 MB of RAM)
971 6) make sure that the CPU is not over clocked.
972 7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
973 8) disable the cache from your BIOS settings
974 9) install a fan for the video card or exchange video RAM
975 10) install a better fan for the CPU
976 11) exchange RAM chips
977 12) exchange the motherboard.
978
979 To compile this driver as a module, choose M here: the
980 module will be called apm.
981
982config APM_IGNORE_USER_SUSPEND
983 bool "Ignore USER SUSPEND"
984 depends on APM
985 help
986 This option will ignore USER SUSPEND requests. On machines with a
987 compliant APM BIOS, you want to say N. However, on the NEC Versa M
988 series notebooks, it is necessary to say Y because of a BIOS bug.
989
990config APM_DO_ENABLE
991 bool "Enable PM at boot time"
992 depends on APM
993 ---help---
994 Enable APM features at boot time. From page 36 of the APM BIOS
995 specification: "When disabled, the APM BIOS does not automatically
996 power manage devices, enter the Standby State, enter the Suspend
997 State, or take power saving steps in response to CPU Idle calls."
998 This driver will make CPU Idle calls when Linux is idle (unless this
999 feature is turned off -- see "Do CPU IDLE calls", below). This
1000 should always save battery power, but more complicated APM features
1001 will be dependent on your BIOS implementation. You may need to turn
1002 this option off if your computer hangs at boot time when using APM
1003 support, or if it beeps continuously instead of suspending. Turn
1004 this off if you have a NEC UltraLite Versa 33/C or a Toshiba
1005 T400CDT. This is off by default since most machines do fine without
1006 this feature.
1007
1008config APM_CPU_IDLE
1009 bool "Make CPU Idle calls when idle"
1010 depends on APM
1011 help
1012 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
1013 On some machines, this can activate improved power savings, such as
1014 a slowed CPU clock rate, when the machine is idle. These idle calls
1015 are made after the idle loop has run for some length of time (e.g.,
1016 333 mS). On some machines, this will cause a hang at boot time or
1017 whenever the CPU becomes idle. (On machines with more than one CPU,
1018 this option does nothing.)
1019
1020config APM_DISPLAY_BLANK
1021 bool "Enable console blanking using APM"
1022 depends on APM
1023 help
1024 Enable console blanking using the APM. Some laptops can use this to
1025 turn off the LCD backlight when the screen blanker of the Linux
1026 virtual console blanks the screen. Note that this is only used by
1027 the virtual console screen blanker, and won't turn off the backlight
1028 when using the X Window system. This also doesn't have anything to
1029 do with your VESA-compliant power-saving monitor. Further, this
1030 option doesn't work for all laptops -- it might not turn off your
1031 backlight at all, or it might print a lot of errors to the console,
1032 especially if you are using gpm.
1033
1034config APM_RTC_IS_GMT
1035 bool "RTC stores time in GMT"
1036 depends on APM
1037 help
1038 Say Y here if your RTC (Real Time Clock a.k.a. hardware clock)
1039 stores the time in GMT (Greenwich Mean Time). Say N if your RTC
1040 stores localtime.
1041
1042 It is in fact recommended to store GMT in your RTC, because then you
1043 don't have to worry about daylight savings time changes. The only
1044 reason not to use GMT in your RTC is if you also run a broken OS
1045 that doesn't understand GMT.
1046
1047config APM_ALLOW_INTS
1048 bool "Allow interrupts during APM BIOS calls"
1049 depends on APM
1050 help
1051 Normally we disable external interrupts while we are making calls to
1052 the APM BIOS as a measure to lessen the effects of a badly behaving
1053 BIOS implementation. The BIOS should reenable interrupts if it
1054 needs to. Unfortunately, some BIOSes do not -- especially those in
1055 many of the newer IBM Thinkpads. If you experience hangs when you
1056 suspend, try setting this to Y. Otherwise, say N.
1057
1058config APM_REAL_MODE_POWER_OFF
1059 bool "Use real mode APM BIOS call to power off"
1060 depends on APM
1061 help
1062 Use real mode APM BIOS calls to switch off the computer. This is
1063 a work-around for a number of buggy BIOSes. Switch this option on if
1064 your computer crashes instead of powering off properly.
1065
1066endmenu
1067
1068source "arch/i386/kernel/cpu/cpufreq/Kconfig"
1069
1070endmenu
1071
1072menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1073
1074config PCI
1075 bool "PCI support" if !X86_VISWS
1076 depends on !X86_VOYAGER
1077 default y if X86_VISWS
1078 help
1079 Find out whether you have a PCI motherboard. PCI is the name of a
1080 bus system, i.e. the way the CPU talks to the other stuff inside
1081 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1082 VESA. If you have PCI, say Y, otherwise N.
1083
1084 The PCI-HOWTO, available from
1085 <http://www.tldp.org/docs.html#howto>, contains valuable
1086 information about which PCI hardware does work under Linux and which
1087 doesn't.
1088
1089choice
1090 prompt "PCI access mode"
1091 depends on PCI && !X86_VISWS
1092 default PCI_GOANY
1093 ---help---
1094 On PCI systems, the BIOS can be used to detect the PCI devices and
1095 determine their configuration. However, some old PCI motherboards
1096 have BIOS bugs and may crash if this is done. Also, some embedded
1097 PCI-based systems don't have any BIOS at all. Linux can also try to
1098 detect the PCI hardware directly without using the BIOS.
1099
1100 With this option, you can specify how Linux should detect the
1101 PCI devices. If you choose "BIOS", the BIOS will be used,
1102 if you choose "Direct", the BIOS won't be used, and if you
1103 choose "MMConfig", then PCI Express MMCONFIG will be used.
1104 If you choose "Any", the kernel will try MMCONFIG, then the
1105 direct access method and falls back to the BIOS if that doesn't
1106 work. If unsure, go with the default, which is "Any".
1107
1108config PCI_GOBIOS
1109 bool "BIOS"
1110
1111config PCI_GOMMCONFIG
1112 bool "MMConfig"
1113
1114config PCI_GODIRECT
1115 bool "Direct"
1116
1117config PCI_GOANY
1118 bool "Any"
1119
1120endchoice
1121
1122config PCI_BIOS
1123 bool
1124 depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
1125 default y
1126
1127config PCI_DIRECT
1128 bool
1129 depends on PCI && ((PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
1130 default y
1131
1132config PCI_MMCONFIG
1133 bool
Alexander Nyberg8aadff72005-05-27 12:48:50 +02001134 depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
Linus Torvalds1da177e2005-04-16 15:20:36 -07001135 default y
1136
1137source "drivers/pci/pcie/Kconfig"
1138
1139source "drivers/pci/Kconfig"
1140
Al Viro5cae8412005-05-04 05:39:22 +01001141config ISA_DMA_API
1142 bool
1143 default y
1144
Linus Torvalds1da177e2005-04-16 15:20:36 -07001145config ISA
1146 bool "ISA support"
1147 depends on !(X86_VOYAGER || X86_VISWS)
1148 help
1149 Find out whether you have ISA slots on your motherboard. ISA is the
1150 name of a bus system, i.e. the way the CPU talks to the other stuff
1151 inside your box. Other bus systems are PCI, EISA, MicroChannel
1152 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
1153 newer boards don't support it. If you have ISA, say Y, otherwise N.
1154
1155config EISA
1156 bool "EISA support"
1157 depends on ISA
1158 ---help---
1159 The Extended Industry Standard Architecture (EISA) bus was
1160 developed as an open alternative to the IBM MicroChannel bus.
1161
1162 The EISA bus provided some of the features of the IBM MicroChannel
1163 bus while maintaining backward compatibility with cards made for
1164 the older ISA bus. The EISA bus saw limited use between 1988 and
1165 1995 when it was made obsolete by the PCI bus.
1166
1167 Say Y here if you are building a kernel for an EISA-based machine.
1168
1169 Otherwise, say N.
1170
1171source "drivers/eisa/Kconfig"
1172
1173config MCA
1174 bool "MCA support" if !(X86_VISWS || X86_VOYAGER)
1175 default y if X86_VOYAGER
1176 help
1177 MicroChannel Architecture is found in some IBM PS/2 machines and
1178 laptops. It is a bus system similar to PCI or ISA. See
1179 <file:Documentation/mca.txt> (and especially the web page given
1180 there) before attempting to build an MCA bus kernel.
1181
1182source "drivers/mca/Kconfig"
1183
1184config SCx200
1185 tristate "NatSemi SCx200 support"
1186 depends on !X86_VOYAGER
1187 help
Jim Cromie6ae74402006-06-26 00:25:19 -07001188 This provides basic support for National Semiconductor's
1189 (now AMD's) Geode processors. The driver probes for the
1190 PCI-IDs of several on-chip devices, so its a good dependency
1191 for other scx200_* drivers.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001192
Jim Cromie6ae74402006-06-26 00:25:19 -07001193 If compiled as a module, the driver is named scx200.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001194
Jim Cromie6ae74402006-06-26 00:25:19 -07001195config SCx200HR_TIMER
1196 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
1197 depends on SCx200 && GENERIC_TIME
1198 default y
1199 help
1200 This driver provides a clocksource built upon the on-chip
1201 27MHz high-resolution timer. Its also a workaround for
1202 NSC Geode SC-1100's buggy TSC, which loses time when the
1203 processor goes idle (as is done by the scheduler). The
1204 other workaround is idle=poll boot option.
Linus Torvalds1da177e2005-04-16 15:20:36 -07001205
Andi Kleena32073b2006-06-26 13:56:40 +02001206config K8_NB
1207 def_bool y
1208 depends on AGP_AMD64
1209
Linus Torvalds1da177e2005-04-16 15:20:36 -07001210source "drivers/pcmcia/Kconfig"
1211
1212source "drivers/pci/hotplug/Kconfig"
1213
1214endmenu
1215
1216menu "Executable file formats"
1217
1218source "fs/Kconfig.binfmt"
1219
1220endmenu
1221
Sam Ravnborgd5950b42005-07-11 21:03:49 -07001222source "net/Kconfig"
1223
Linus Torvalds1da177e2005-04-16 15:20:36 -07001224source "drivers/Kconfig"
1225
1226source "fs/Kconfig"
1227
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001228menu "Instrumentation Support"
1229 depends on EXPERIMENTAL
1230
Linus Torvalds1da177e2005-04-16 15:20:36 -07001231source "arch/i386/oprofile/Kconfig"
1232
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001233config KPROBES
1234 bool "Kprobes (EXPERIMENTAL)"
Ananth N Mavinakayanahalli3a872d82006-10-02 02:17:30 -07001235 depends on KALLSYMS && EXPERIMENTAL && MODULES
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -08001236 help
1237 Kprobes allows you to trap at almost any kernel address and
1238 execute a callback function. register_kprobe() establishes
1239 a probepoint and specifies the callback. Kprobes is useful
1240 for kernel debugging, non-intrusive instrumentation and testing.
1241 If in doubt, say "N".
1242endmenu
1243
Linus Torvalds1da177e2005-04-16 15:20:36 -07001244source "arch/i386/Kconfig.debug"
1245
1246source "security/Kconfig"
1247
1248source "crypto/Kconfig"
1249
1250source "lib/Kconfig"
1251
1252#
1253# Use the generic interrupt handling code in kernel/irq/:
1254#
1255config GENERIC_HARDIRQS
1256 bool
1257 default y
1258
1259config GENERIC_IRQ_PROBE
1260 bool
1261 default y
1262
Ashok Raj54d5d422005-09-06 15:16:15 -07001263config GENERIC_PENDING_IRQ
1264 bool
1265 depends on GENERIC_HARDIRQS && SMP
1266 default y
1267
Linus Torvalds1da177e2005-04-16 15:20:36 -07001268config X86_SMP
1269 bool
1270 depends on SMP && !X86_VOYAGER
1271 default y
1272
1273config X86_HT
1274 bool
1275 depends on SMP && !(X86_VISWS || X86_VOYAGER)
1276 default y
1277
1278config X86_BIOS_REBOOT
1279 bool
1280 depends on !(X86_VISWS || X86_VOYAGER)
1281 default y
1282
1283config X86_TRAMPOLINE
1284 bool
1285 depends on X86_SMP || (X86_VOYAGER && SMP)
1286 default y
Thomas Gleixner97fc79f2006-01-09 20:52:31 -08001287
1288config KTIME_SCALAR
1289 bool
1290 default y