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