Merge to VServer 1.9.0
[linux-2.6.git] / arch / i386 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux Kernel Configuration"
7
8 config X86
9         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
17 config MMU
18         bool
19         default y
20
21 config SBUS
22         bool
23
24 config UID16
25         bool
26         default y
27
28 config GENERIC_ISA_DMA
29         bool
30         default y
31
32 source "init/Kconfig"
33
34
35 menu "Processor type and features"
36
37 choice
38         prompt "Subarchitecture Type"
39         default X86_PC
40
41 config X86_PC
42         bool "PC-compatible"
43         help
44           Choose this option if your computer is a standard PC or compatible.
45
46 config X86_ELAN
47         bool "AMD Elan"
48         help
49           Select this for an AMD Elan processor.
50
51           Do not use this option for K6/Athlon/Opteron processors!
52
53           If unsure, choose "PC-compatible" instead.
54
55 config X86_VOYAGER
56         bool "Voyager (NCR)"
57         help
58           Voyager is a MCA based 32 way capable SMP architecture proprietary
59           to NCR Corp.  Machine classes 345x/35xx/4100/51xx are voyager based.
60           
61           *** WARNING ***
62         
63           If you do not specifically know you have a Voyager based machine,
64           say N here otherwise the kernel you build will not be bootable.
65
66 config X86_NUMAQ
67         bool "NUMAQ (IBM/Sequent)"
68         help
69           This option is used for getting Linux to run on a (IBM/Sequent) NUMA 
70           multiquad box. This changes the way that processors are bootstrapped,
71           and uses Clustered Logical APIC addressing mode instead of Flat Logical.
72           You will need a new lynxer.elf file to flash your firmware with - send
73           email to <Martin.Bligh@us.ibm.com>.
74
75 config X86_SUMMIT
76         bool "Summit/EXA (IBM x440)"
77         depends on SMP
78         help
79           This option is needed for IBM systems that use the Summit/EXA chipset.
80           In particular, it is needed for the x440.
81
82           If you don't have one of these computers, you should say N here.
83
84 config X86_BIGSMP
85         bool "Support for other sub-arch SMP systems with more than 8 CPUs"
86         depends on SMP
87         help
88           This option is needed for the systems that have more than 8 CPUs
89           and if the system is not of any sub-arch type above.
90
91           If you don't have such a system, you should say N here.
92
93 config X86_VISWS
94         bool "SGI 320/540 (Visual Workstation)"
95         help
96           The SGI Visual Workstation series is an IA32-based workstation
97           based on SGI systems chips with some legacy PC hardware attached.
98
99           Say Y here to create a kernel to run on the SGI 320 or 540.
100
101           A kernel compiled for the Visual Workstation will not run on PCs
102           and vice versa. See <file:Documentation/sgi-visws.txt> for details.
103
104 config X86_GENERICARCH
105        bool "Generic architecture (Summit, bigsmp, ES7000, default)"
106        depends on SMP
107        help
108           This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
109           It is intended for a generic binary kernel.
110
111 config X86_ES7000
112         bool "Support for Unisys ES7000 IA32 series"
113         depends on SMP
114         help
115           Support for Unisys ES7000 systems.  Say 'Y' here if this kernel is
116           supposed to run on an IA32-based Unisys ES7000 system. 
117           Only choose this option if you have such a system, otherwise you 
118           should say N here.
119
120 endchoice
121
122 config ACPI_SRAT
123         bool
124         default y
125         depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
126
127 config X86_SUMMIT_NUMA
128         bool
129         default y
130         depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
131
132 config X86_CYCLONE_TIMER
133         bool
134         default y
135         depends on X86_SUMMIT || X86_GENERICARCH
136
137 config ES7000_CLUSTERED_APIC
138         bool
139         default y
140         depends on SMP && X86_ES7000 && MPENTIUMIII
141
142 if !X86_ELAN
143
144 choice
145         prompt "Processor family"
146         default M686
147
148 config M386
149         bool "386"
150         ---help---
151           This is the processor type of your CPU. This information is used for
152           optimizing purposes. In order to compile a kernel that can run on
153           all x86 CPU types (albeit not optimally fast), you can specify
154           "386" here.
155
156           The kernel will not necessarily run on earlier architectures than
157           the one you have chosen, e.g. a Pentium optimized kernel will run on
158           a PPro, but not necessarily on a i486.
159
160           Here are the settings recommended for greatest speed:
161           - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
162           486DLC/DLC2, UMC 486SX-S and NexGen Nx586.  Only "386" kernels
163           will run on a 386 class machine.
164           - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
165           SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
166           - "586" for generic Pentium CPUs lacking the TSC
167           (time stamp counter) register.
168           - "Pentium-Classic" for the Intel Pentium.
169           - "Pentium-MMX" for the Intel Pentium MMX.
170           - "Pentium-Pro" for the Intel Pentium Pro.
171           - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron.
172           - "Pentium-III" for the Intel Pentium III or Coppermine Celeron.
173           - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
174           - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
175           - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
176           - "Crusoe" for the Transmeta Crusoe series.
177           - "Winchip-C6" for original IDT Winchip.
178           - "Winchip-2" for IDT Winchip 2.
179           - "Winchip-2A" for IDT Winchips with 3dNow! capabilities.
180           - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
181           - "VIA C3-2 for VIA C3-2 "Nehemiah" (model 9 and above).
182
183           If you don't know what to do, choose "386".
184
185 config M486
186         bool "486"
187         help
188           Select this for a 486 series processor, either Intel or one of the
189           compatible processors from AMD, Cyrix, IBM, or Intel.  Includes DX,
190           DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or
191           U5S.
192
193 config M586
194         bool "586/K5/5x86/6x86/6x86MX"
195         help
196           Select this for an 586 or 686 series processor such as the AMD K5,
197           the Intel 5x86 or 6x86, or the Intel 6x86MX.  This choice does not
198           assume the RDTSC (Read Time Stamp Counter) instruction.
199
200 config M586TSC
201         bool "Pentium-Classic"
202         help
203           Select this for a Pentium Classic processor with the RDTSC (Read
204           Time Stamp Counter) instruction for benchmarking.
205
206 config M586MMX
207         bool "Pentium-MMX"
208         help
209           Select this for a Pentium with the MMX graphics/multimedia
210           extended instructions.
211
212 config M686
213         bool "Pentium-Pro"
214         help
215           Select this for Intel Pentium Pro chips.  This enables the use of
216           Pentium Pro extended instructions, and disables the init-time guard
217           against the f00f bug found in earlier Pentiums.
218
219 config MPENTIUMII
220         bool "Pentium-II/Celeron(pre-Coppermine)"
221         help
222           Select this for Intel chips based on the Pentium-II and
223           pre-Coppermine Celeron core.  This option enables an unaligned
224           copy optimization, compiles the kernel with optimization flags
225           tailored for the chip, and applies any applicable Pentium Pro
226           optimizations.
227
228 config MPENTIUMIII
229         bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
230         help
231           Select this for Intel chips based on the Pentium-III and
232           Celeron-Coppermine core.  This option enables use of some
233           extended prefetch instructions in addition to the Pentium II
234           extensions.
235
236 config MPENTIUMM
237         bool "Pentium M"
238         help
239           Select this for Intel Pentium M (not Pentium-4 M)
240           notebook chips.
241
242 config MPENTIUM4
243         bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon"
244         help
245           Select this for Intel Pentium 4 chips.  This includes the
246           Pentium 4, P4-based Celeron and Xeon, and Pentium-4 M
247           (not Pentium M) chips.  This option enables compile flags
248           optimized for the chip, uses the correct cache shift, and
249           applies any applicable Pentium III optimizations.
250
251 config MK6
252         bool "K6/K6-II/K6-III"
253         help
254           Select this for an AMD K6-family processor.  Enables use of
255           some extended instructions, and passes appropriate optimization
256           flags to GCC.
257
258 config MK7
259         bool "Athlon/Duron/K7"
260         help
261           Select this for an AMD Athlon K7-family processor.  Enables use of
262           some extended instructions, and passes appropriate optimization
263           flags to GCC.
264
265 config MK8
266         bool "Opteron/Athlon64/Hammer/K8"
267         help
268           Select this for an AMD Opteron or Athlon64 Hammer-family processor.  Enables
269           use of some extended instructions, and passes appropriate optimization
270           flags to GCC.
271
272 config MCRUSOE
273         bool "Crusoe"
274         help
275           Select this for a Transmeta Crusoe processor.  Treats the processor
276           like a 586 with TSC, and sets some GCC optimization flags (like a
277           Pentium Pro with no alignment requirements).
278
279 config MWINCHIPC6
280         bool "Winchip-C6"
281         help
282           Select this for an IDT Winchip C6 chip.  Linux and GCC
283           treat this chip as a 586TSC with some extended instructions
284           and alignment requirements.
285
286 config MWINCHIP2
287         bool "Winchip-2"
288         help
289           Select this for an IDT Winchip-2.  Linux and GCC
290           treat this chip as a 586TSC with some extended instructions
291           and alignment requirements.
292
293 config MWINCHIP3D
294         bool "Winchip-2A/Winchip-3"
295         help
296           Select this for an IDT Winchip-2A or 3.  Linux and GCC
297           treat this chip as a 586TSC with some extended instructions
298           and alignment reqirements.  Also enable out of order memory
299           stores for this CPU, which can increase performance of some
300           operations.
301
302 config MCYRIXIII
303         bool "CyrixIII/VIA-C3"
304         help
305           Select this for a Cyrix III or C3 chip.  Presently Linux and GCC
306           treat this chip as a generic 586. Whilst the CPU is 686 class,
307           it lacks the cmov extension which gcc assumes is present when
308           generating 686 code.
309           Note that Nehemiah (Model 9) and above will not boot with this
310           kernel due to them lacking the 3DNow! instructions used in earlier
311           incarnations of the CPU.
312
313 config MVIAC3_2
314         bool "VIA C3-2 (Nehemiah)"
315         help
316           Select this for a VIA C3 "Nehemiah". Selecting this enables usage
317           of SSE and tells gcc to treat the CPU as a 686.
318           Note, this kernel will not boot on older (pre model 9) C3s.
319
320 endchoice
321
322 config X86_GENERIC
323        bool "Generic x86 support" 
324        help
325           Instead of just including optimizations for the selected
326           x86 variant (e.g. PII, Crusoe or Athlon), include some more
327           generic optimizations as well. This will make the kernel
328           perform better on x86 CPUs other than that selected.
329
330           This is really intended for distributors who need more
331           generic optimizations.
332
333 endif
334
335 #
336 # Define implied options from the CPU selection here
337 #
338 config X86_CMPXCHG
339         bool
340         depends on !M386
341         default y
342
343 config X86_XADD
344         bool
345         depends on !M386
346         default y
347
348 config X86_L1_CACHE_SHIFT
349         int
350         default "7" if MPENTIUM4 || X86_GENERIC
351         default "4" if X86_ELAN || M486 || M386
352         default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2
353         default "6" if MK7 || MK8 || MPENTIUMM
354
355 config RWSEM_GENERIC_SPINLOCK
356         bool
357         depends on M386
358         default y
359
360 config RWSEM_XCHGADD_ALGORITHM
361         bool
362         depends on !M386
363         default y
364
365 config X86_PPRO_FENCE
366         bool
367         depends on M686 || M586MMX || M586TSC || M586 || M486 || M386
368         default y
369
370 config X86_F00F_BUG
371         bool
372         depends on M586MMX || M586TSC || M586 || M486 || M386
373         default y
374
375 config X86_WP_WORKS_OK
376         bool
377         depends on !M386
378         default y
379
380 config X86_INVLPG
381         bool
382         depends on !M386
383         default y
384
385 config X86_BSWAP
386         bool
387         depends on !M386
388         default y
389
390 config X86_POPAD_OK
391         bool
392         depends on !M386
393         default y
394
395 config X86_ALIGNMENT_16
396         bool
397         depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2
398         default y
399
400 config X86_GOOD_APIC
401         bool
402         depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8
403         default y
404
405 config X86_INTEL_USERCOPY
406         bool
407         depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7
408         default y
409
410 config X86_USE_PPRO_CHECKSUM
411         bool
412         depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2
413         default y
414
415 config X86_USE_3DNOW
416         bool
417         depends on MCYRIXIII || MK7
418         default y
419
420 config X86_OOSTORE
421         bool
422         depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR
423         default y
424
425 config X86_4G
426         bool "4 GB kernel-space and 4 GB user-space virtual memory support"
427         help
428           This option is only useful for systems that have more than 1 GB
429           of RAM.
430
431           The default kernel VM layout leaves 1 GB of virtual memory for
432           kernel-space mappings, and 3 GB of VM for user-space applications.
433           This option ups both the kernel-space VM and the user-space VM to
434           4 GB.
435
436           The cost of this option is additional TLB flushes done at
437           system-entry points that transition from user-mode into kernel-mode.
438           I.e. system calls and page faults, and IRQs that interrupt user-mode
439           code. There's also additional overhead to kernel operations that copy
440           memory to/from user-space. The overhead from this is hard to tell and
441           depends on the workload - it can be anything from no visible overhead
442           to 20-30% overhead. A good rule of thumb is to count with a runtime
443           overhead of 20%.
444
445           The upside is the much increased kernel-space VM, which more than
446           quadruples the maximum amount of RAM supported. Kernels compiled with
447           this option boot on 64GB of RAM and still have more than 3.1 GB of
448           'lowmem' left. Another bonus is that highmem IO bouncing decreases,
449           if used with drivers that still use bounce-buffers.
450
451           There's also a 33% increase in user-space VM size - database
452           applications might see a boost from this.
453
454           But the cost of the TLB flushes and the runtime overhead has to be
455           weighed against the bonuses offered by the larger VM spaces. The
456           dividing line depends on the actual workload - there might be 4 GB
457           systems that benefit from this option. Systems with less than 4 GB
458           of RAM will rarely see a benefit from this option - but it's not
459           out of question, the exact circumstances have to be considered.
460
461 config X86_SWITCH_PAGETABLES
462         def_bool X86_4G
463
464 config X86_4G_VM_LAYOUT
465         def_bool X86_4G
466
467 config X86_UACCESS_INDIRECT
468         def_bool X86_4G
469
470 config X86_HIGH_ENTRY
471         def_bool X86_4G
472
473 config HPET_TIMER
474         bool "HPET Timer Support"
475         help
476           This enables the use of the HPET for the kernel's internal timer.
477           HPET is the next generation timer replacing legacy 8254s.
478           You can safely choose Y here.  However, HPET will only be
479           activated if the platform and the BIOS support this feature.
480           Otherwise the 8254 will be used for timing services.
481
482           Choose N to continue using the legacy 8254 timer.
483
484 config HPET_EMULATE_RTC
485         def_bool HPET_TIMER && RTC=y
486
487 config SMP
488         bool "Symmetric multi-processing support"
489         ---help---
490           This enables support for systems with more than one CPU. If you have
491           a system with only one CPU, like most personal computers, say N. If
492           you have a system with more than one CPU, say Y.
493
494           If you say N here, the kernel will run on single and multiprocessor
495           machines, but will use only one CPU of a multiprocessor machine. If
496           you say Y here, the kernel will run on many, but not all,
497           singleprocessor machines. On a singleprocessor machine, the kernel
498           will run faster if you say N here.
499
500           Note that if you say Y here and choose architecture "586" or
501           "Pentium" under "Processor family", the kernel will not work on 486
502           architectures. Similarly, multiprocessor kernels for the "PPro"
503           architecture may not work on all Pentium based boards.
504
505           People using multiprocessor machines who say Y here should also say
506           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
507           Management" code will be disabled if you say Y here.
508
509           See also the <file:Documentation/smp.txt>,
510           <file:Documentation/i386/IO-APIC.txt>,
511           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
512           <http://www.tldp.org/docs.html#howto>.
513
514           If you don't know what to do here, say N.
515
516 config NR_CPUS
517         int "Maximum number of CPUs (2-255)"
518         range 2 255
519         depends on SMP
520         default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
521         default "8"
522         help
523           This allows you to specify the maximum number of CPUs which this
524           kernel will support.  The maximum supported value is 255 and the
525           minimum value which makes sense is 2.
526
527           This is purely to save memory - each supported CPU adds
528           approximately eight kilobytes to the kernel image.
529
530 config SCHED_SMT
531         bool "SMT (Hyperthreading) scheduler support"
532         depends on SMP
533         default off
534         help
535           SMT scheduler support improves the CPU scheduler's decision making
536           when dealing with Intel Pentium 4 chips with HyperThreading at a
537           cost of slightly increased overhead in some places. If unsure say
538           N here.
539
540 config PREEMPT
541         bool "Preemptible Kernel"
542         help
543           This option reduces the latency of the kernel when reacting to
544           real-time or interactive events by allowing a low priority process to
545           be preempted even if it is in kernel mode executing a system call.
546           This allows applications to run more reliably even when the system is
547           under load.
548
549           Say Y here if you are building a kernel for a desktop, embedded
550           or real-time system.  Say N if you are unsure.
551
552 config X86_UP_APIC
553         bool "Local APIC support on uniprocessors" if !SMP
554         depends on !(X86_VISWS || X86_VOYAGER)
555         ---help---
556           A local APIC (Advanced Programmable Interrupt Controller) is an
557           integrated interrupt controller in the CPU. If you have a single-CPU
558           system which has a processor with a local APIC, you can say Y here to
559           enable and use it. If you say Y here even though your machine doesn't
560           have a local APIC, then the kernel will still run with no slowdown at
561           all. The local APIC supports CPU-generated self-interrupts (timer,
562           performance counters), and the NMI watchdog which detects hard
563           lockups.
564
565           If you have a system with several CPUs, you do not need to say Y
566           here: the local APIC will be used automatically.
567
568 config X86_UP_IOAPIC
569         bool "IO-APIC support on uniprocessors"
570         depends on !SMP && X86_UP_APIC
571         help
572           An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
573           SMP-capable replacement for PC-style interrupt controllers. Most
574           SMP systems and a small number of uniprocessor systems have one.
575           If you have a single-CPU system with an IO-APIC, you can say Y here
576           to use it. If you say Y here even though your machine doesn't have
577           an IO-APIC, then the kernel will still run with no slowdown at all.
578
579           If you have a system with several CPUs, you do not need to say Y
580           here: the IO-APIC will be used automatically.
581
582 config X86_LOCAL_APIC
583         bool
584         depends on !SMP && X86_UP_APIC
585         default y
586
587 config X86_IO_APIC
588         bool
589         depends on !SMP && X86_UP_IOAPIC
590         default y
591
592 config X86_TSC
593         bool
594         depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
595         default y
596
597 config X86_MCE
598         bool "Machine Check Exception"
599         ---help---
600           Machine Check Exception support allows the processor to notify the
601           kernel if it detects a problem (e.g. overheating, component failure).
602           The action the kernel takes depends on the severity of the problem,
603           ranging from a warning message on the console, to halting the machine.
604           Your processor must be a Pentium or newer to support this - check the
605           flags in /proc/cpuinfo for mce.  Note that some older Pentium systems
606           have a design flaw which leads to false MCE events - hence MCE is
607           disabled on all P5 processors, unless explicitly enabled with "mce"
608           as a boot argument.  Similarly, if MCE is built in and creates a
609           problem on some new non-standard machine, you can boot with "nomce"
610           to disable it.  MCE support simply ignores non-MCE processors like
611           the 386 and 486, so nearly everyone can say Y here.
612
613 config X86_MCE_NONFATAL
614         tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
615         depends on X86_MCE
616         help
617           Enabling this feature starts a timer that triggers every 5 seconds which
618           will look at the machine check registers to see if anything happened.
619           Non-fatal problems automatically get corrected (but still logged).
620           Disable this if you don't want to see these messages.
621           Seeing the messages this option prints out may be indicative of dying hardware,
622           or out-of-spec (ie, overclocked) hardware.
623           This option only does something on certain CPUs.
624           (AMD Athlon/Duron and Intel Pentium 4)
625
626 config X86_MCE_P4THERMAL
627         bool "check for P4 thermal throttling interrupt."
628         depends on X86_MCE && (X86_UP_APIC || SMP)
629         help
630           Enabling this feature will cause a message to be printed when the P4
631           enters thermal throttling.
632
633 config TOSHIBA
634         tristate "Toshiba Laptop support"
635         ---help---
636           This adds a driver to safely access the System Management Mode of
637           the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
638           not work on models with a Phoenix BIOS. The System Management Mode
639           is used to set the BIOS and power saving options on Toshiba portables.
640
641           For information on utilities to make use of this driver see the
642           Toshiba Linux utilities web site at:
643           <http://www.buzzard.org.uk/toshiba/>.
644
645           Say Y if you intend to run this kernel on a Toshiba portable.
646           Say N otherwise.
647
648 config I8K
649         tristate "Dell laptop support"
650         ---help---
651           This adds a driver to safely access the System Management Mode
652           of the CPU on the Dell Inspiron 8000. The System Management Mode
653           is used to read cpu temperature and cooling fan status and to
654           control the fans on the I8K portables.
655
656           This driver has been tested only on the Inspiron 8000 but it may
657           also work with other Dell laptops. You can force loading on other
658           models by passing the parameter `force=1' to the module. Use at
659           your own risk.
660
661           For information on utilities to make use of this driver see the
662           I8K Linux utilities web site at:
663           <http://people.debian.org/~dz/i8k/>
664
665           Say Y if you intend to run this kernel on a Dell Inspiron 8000.
666           Say N otherwise.
667
668 config MICROCODE
669         tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support"
670         ---help---
671           If you say Y here and also to "/dev file system support" in the
672           'File systems' section, you will be able to update the microcode on
673           Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II,
674           Pentium III, Pentium 4, Xeon etc.  You will obviously need the
675           actual microcode binary data itself which is not shipped with the
676           Linux kernel.
677
678           For latest news and information on obtaining all the required
679           ingredients for this driver, check:
680           <http://www.urbanmyth.org/microcode/>.
681
682           To compile this driver as a module, choose M here: the
683           module will be called microcode.
684
685 config X86_MSR
686         tristate "/dev/cpu/*/msr - Model-specific register support"
687         help
688           This device gives privileged processes access to the x86
689           Model-Specific Registers (MSRs).  It is a character device with
690           major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
691           MSR accesses are directed to a specific CPU on multi-processor
692           systems.
693
694 config X86_CPUID
695         tristate "/dev/cpu/*/cpuid - CPU information support"
696         help
697           This device gives processes access to the x86 CPUID instruction to
698           be executed on a specific processor.  It is a character device
699           with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
700           /dev/cpu/31/cpuid.
701
702 source "drivers/firmware/Kconfig"
703
704 choice
705         prompt "High Memory Support"
706         default NOHIGHMEM
707
708 config NOHIGHMEM
709         bool "off"
710         ---help---
711           Linux can use up to 64 Gigabytes of physical memory on x86 systems.
712           However, the address space of 32-bit x86 processors is only 4
713           Gigabytes large. That means that, if you have a large amount of
714           physical memory, not all of it can be "permanently mapped" by the
715           kernel. The physical memory that's not permanently mapped is called
716           "high memory".
717
718           If you are compiling a kernel which will never run on a machine with
719           more than 1 Gigabyte total physical RAM, answer "off" here (default
720           choice and suitable for most users). This will result in a "3GB/1GB"
721           split: 3GB are mapped so that each process sees a 3GB virtual memory
722           space and the remaining part of the 4GB virtual memory space is used
723           by the kernel to permanently map as much physical memory as
724           possible.
725
726           If the machine has between 1 and 4 Gigabytes physical RAM, then
727           answer "4GB" here.
728
729           If more than 4 Gigabytes is used then answer "64GB" here. This
730           selection turns Intel PAE (Physical Address Extension) mode on.
731           PAE implements 3-level paging on IA32 processors. PAE is fully
732           supported by Linux, PAE mode is implemented on all recent Intel
733           processors (Pentium Pro and better). NOTE: If you say "64GB" here,
734           then the kernel will not boot on CPUs that don't support PAE!
735
736           The actual amount of total physical memory will either be
737           auto detected or can be forced by using a kernel command line option
738           such as "mem=256M". (Try "man bootparam" or see the documentation of
739           your boot loader (lilo or loadlin) about how to pass options to the
740           kernel at boot time.)
741
742           If unsure, say "off".
743
744 config HIGHMEM4G
745         bool "4GB"
746         help
747           Select this if you have a 32-bit processor and between 1 and 4
748           gigabytes of physical RAM.
749
750 config HIGHMEM64G
751         bool "64GB"
752         help
753           Select this if you have a 32-bit processor and more than 4
754           gigabytes of physical RAM.
755
756 endchoice
757
758 config HIGHMEM
759         bool
760         depends on HIGHMEM64G || HIGHMEM4G
761         default y
762
763 config X86_PAE
764         bool
765         depends on HIGHMEM64G
766         default y
767
768 # Common NUMA Features
769 config NUMA
770         bool "Numa Memory Allocation and Scheduler Support"
771         depends on SMP && HIGHMEM64G && (X86_NUMAQ || X86_GENERICARCH || (X86_SUMMIT && ACPI))
772         default n if X86_PC
773         default y if (X86_NUMAQ || X86_SUMMIT)
774
775 # Need comments to help the hapless user trying to turn on NUMA support
776 comment "NUMA (NUMA-Q) requires SMP, 64GB highmem support"
777         depends on X86_NUMAQ && (!HIGHMEM64G || !SMP)
778
779 comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
780         depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
781
782 config DISCONTIGMEM
783         bool
784         depends on NUMA
785         default y
786
787 config HAVE_ARCH_BOOTMEM_NODE
788         bool
789         depends on NUMA
790         default y
791
792 config HIGHPTE
793         bool "Allocate 3rd-level pagetables from highmem"
794         depends on HIGHMEM4G || HIGHMEM64G
795         help
796           The VM uses one page table entry for each page of physical memory.
797           For systems with a lot of RAM, this can be wasteful of precious
798           low memory.  Setting this option will put user-space page table
799           entries in high memory.
800
801 config MATH_EMULATION
802         bool "Math emulation"
803         ---help---
804           Linux can emulate a math coprocessor (used for floating point
805           operations) if you don't have one. 486DX and Pentium processors have
806           a math coprocessor built in, 486SX and 386 do not, unless you added
807           a 487DX or 387, respectively. (The messages during boot time can
808           give you some hints here ["man dmesg"].) Everyone needs either a
809           coprocessor or this emulation.
810
811           If you don't have a math coprocessor, you need to say Y here; if you
812           say Y here even though you have a coprocessor, the coprocessor will
813           be used nevertheless. (This behavior can be changed with the kernel
814           command line option "no387", which comes handy if your coprocessor
815           is broken. Try "man bootparam" or see the documentation of your boot
816           loader (lilo or loadlin) about how to pass options to the kernel at
817           boot time.) This means that it is a good idea to say Y here if you
818           intend to use this kernel on different machines.
819
820           More information about the internals of the Linux math coprocessor
821           emulation can be found in <file:arch/i386/math-emu/README>.
822
823           If you are not sure, say Y; apart from resulting in a 66 KB bigger
824           kernel, it won't hurt.
825
826 config MTRR
827         bool "MTRR (Memory Type Range Register) support"
828         ---help---
829           On Intel P6 family processors (Pentium Pro, Pentium II and later)
830           the Memory Type Range Registers (MTRRs) may be used to control
831           processor access to memory ranges. This is most useful if you have
832           a video (VGA) card on a PCI or AGP bus. Enabling write-combining
833           allows bus write transfers to be combined into a larger transfer
834           before bursting over the PCI/AGP bus. This can increase performance
835           of image write operations 2.5 times or more. Saying Y here creates a
836           /proc/mtrr file which may be used to manipulate your processor's
837           MTRRs. Typically the X server should use this.
838
839           This code has a reasonably generic interface so that similar
840           control registers on other processors can be easily supported
841           as well:
842
843           The Cyrix 6x86, 6x86MX and M II processors have Address Range
844           Registers (ARRs) which provide a similar functionality to MTRRs. For
845           these, the ARRs are used to emulate the MTRRs.
846           The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
847           MTRRs. The Centaur C6 (WinChip) has 8 MCRs, allowing
848           write-combining. All of these processors are supported by this code
849           and it makes sense to say Y here if you have one of them.
850
851           Saying Y here also fixes a problem with buggy SMP BIOSes which only
852           set the MTRRs for the boot CPU and not for the secondary CPUs. This
853           can lead to all sorts of problems, so it's good to say Y here.
854
855           You can safely say Y even if your machine doesn't have MTRRs, you'll
856           just add about 9 KB to your kernel.
857
858           See <file:Documentation/mtrr.txt> for more information.
859
860 config EFI
861         bool "Boot from EFI support (EXPERIMENTAL)"
862         depends on ACPI
863         default n
864         ---help---
865
866         This enables the the kernel to boot on EFI platforms using
867         system configuration information passed to it from the firmware.
868         This also enables the kernel to use any EFI runtime services that are
869         available (such as the EFI variable services).
870
871         This option is only useful on systems that have EFI firmware
872         and will result in a kernel image that is ~8k larger.  In addition,
873         you must use the latest ELILO loader available at
874         <ftp://ftp.hpl.hp.com/pub/linux-ia64/> in order to take advantage of
875         kernel initialization using EFI information (neither GRUB nor LILO know
876         anything about EFI).  However, even with this option, the resultant
877         kernel should continue to boot on existing non-EFI platforms.
878
879 config IRQBALANCE
880         bool "Enable kernel irq balancing"
881         depends on SMP && X86_IO_APIC
882         default y
883         help
884           The default yes will allow the kernel to do irq load balancing.
885           Saying no will keep the kernel from doing irq load balancing.
886
887 config HAVE_DEC_LOCK
888         bool
889         depends on (SMP || PREEMPT) && X86_CMPXCHG
890         default y
891
892 # turning this on wastes a bunch of space.
893 # Summit needs it only when NUMA is on
894 config BOOT_IOREMAP
895         bool
896         depends on (((X86_SUMMIT || X86_GENERICARCH) && NUMA) || (X86 && EFI))
897         default y
898
899 config REGPARM
900         bool "Use register arguments (EXPERIMENTAL)"
901         depends on EXPERIMENTAL
902         default n
903         help
904         Compile the kernel with -mregparm=3. This uses an different ABI
905         and passes the first three arguments of a function call in registers.
906         This will probably break binary only modules.
907
908         This feature is only enabled for gcc-3.0 and later - earlier compilers
909         generate incorrect output with certain kernel constructs when
910         -mregparm=3 is used.
911
912 endmenu
913
914
915 menu "Power management options (ACPI, APM)"
916         depends on !X86_VOYAGER
917
918 source kernel/power/Kconfig
919
920 source "drivers/acpi/Kconfig"
921
922 menu "APM (Advanced Power Management) BIOS Support"
923 depends on PM
924
925 config APM
926         tristate "APM (Advanced Power Management) BIOS support"
927         depends on PM
928         ---help---
929           APM is a BIOS specification for saving power using several different
930           techniques. This is mostly useful for battery powered laptops with
931           APM compliant BIOSes. If you say Y here, the system time will be
932           reset after a RESUME operation, the /proc/apm device will provide
933           battery status information, and user-space programs will receive
934           notification of APM "events" (e.g. battery status change).
935
936           If you select "Y" here, you can disable actual use of the APM
937           BIOS by passing the "apm=off" option to the kernel at boot time.
938
939           Note that the APM support is almost completely disabled for
940           machines with more than one CPU.
941
942           In order to use APM, you will need supporting software. For location
943           and more information, read <file:Documentation/pm.txt> and the
944           Battery Powered Linux mini-HOWTO, available from
945           <http://www.tldp.org/docs.html#howto>.
946
947           This driver does not spin down disk drives (see the hdparm(8)
948           manpage ("man 8 hdparm") for that), and it doesn't turn off
949           VESA-compliant "green" monitors.
950
951           This driver does not support the TI 4000M TravelMate and the ACER
952           486/DX4/75 because they don't have compliant BIOSes. Many "green"
953           desktop machines also don't have compliant BIOSes, and this driver
954           may cause those machines to panic during the boot phase.
955
956           Generally, if you don't have a battery in your machine, there isn't
957           much point in using this driver and you should say N. If you get
958           random kernel OOPSes or reboots that don't seem to be related to
959           anything, try disabling/enabling this option (or disabling/enabling
960           APM in your BIOS).
961
962           Some other things you should try when experiencing seemingly random,
963           "weird" problems:
964
965           1) make sure that you have enough swap space and that it is
966           enabled.
967           2) pass the "no-hlt" option to the kernel
968           3) switch on floating point emulation in the kernel and pass
969           the "no387" option to the kernel
970           4) pass the "floppy=nodma" option to the kernel
971           5) pass the "mem=4M" option to the kernel (thereby disabling
972           all but the first 4 MB of RAM)
973           6) make sure that the CPU is not over clocked.
974           7) read the sig11 FAQ at <http://www.bitwizard.nl/sig11/>
975           8) disable the cache from your BIOS settings
976           9) install a fan for the video card or exchange video RAM
977           10) install a better fan for the CPU
978           11) exchange RAM chips
979           12) exchange the motherboard.
980
981           To compile this driver as a module, choose M here: the
982           module will be called apm.
983
984 config APM_IGNORE_USER_SUSPEND
985         bool "Ignore USER SUSPEND"
986         depends on APM
987         help
988           This option will ignore USER SUSPEND requests. On machines with a
989           compliant APM BIOS, you want to say N. However, on the NEC Versa M
990           series notebooks, it is necessary to say Y because of a BIOS bug.
991
992 config APM_DO_ENABLE
993         bool "Enable PM at boot time"
994         depends on APM
995         ---help---
996           Enable APM features at boot time. From page 36 of the APM BIOS
997           specification: "When disabled, the APM BIOS does not automatically
998           power manage devices, enter the Standby State, enter the Suspend
999           State, or take power saving steps in response to CPU Idle calls."
1000           This driver will make CPU Idle calls when Linux is idle (unless this
1001           feature is turned off -- see "Do CPU IDLE calls", below). This
1002           should always save battery power, but more complicated APM features
1003           will be dependent on your BIOS implementation. You may need to turn
1004           this option off if your computer hangs at boot time when using APM
1005           support, or if it beeps continuously instead of suspending. Turn
1006           this off if you have a NEC UltraLite Versa 33/C or a Toshiba
1007           T400CDT. This is off by default since most machines do fine without
1008           this feature.
1009
1010 config APM_CPU_IDLE
1011         bool "Make CPU Idle calls when idle"
1012         depends on APM
1013         help
1014           Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
1015           On some machines, this can activate improved power savings, such as
1016           a slowed CPU clock rate, when the machine is idle. These idle calls
1017           are made after the idle loop has run for some length of time (e.g.,
1018           333 mS). On some machines, this will cause a hang at boot time or
1019           whenever the CPU becomes idle. (On machines with more than one CPU,
1020           this option does nothing.)
1021
1022 config APM_DISPLAY_BLANK
1023         bool "Enable console blanking using APM"
1024         depends on APM
1025         help
1026           Enable console blanking using the APM. Some laptops can use this to
1027           turn off the LCD backlight when the screen blanker of the Linux
1028           virtual console blanks the screen. Note that this is only used by
1029           the virtual console screen blanker, and won't turn off the backlight
1030           when using the X Window system. This also doesn't have anything to
1031           do with your VESA-compliant power-saving monitor. Further, this
1032           option doesn't work for all laptops -- it might not turn off your
1033           backlight at all, or it might print a lot of errors to the console,
1034           especially if you are using gpm.
1035
1036 config APM_RTC_IS_GMT
1037         bool "RTC stores time in GMT"
1038         depends on APM
1039         help
1040           Say Y here if your RTC (Real Time Clock a.k.a. hardware clock)
1041           stores the time in GMT (Greenwich Mean Time). Say N if your RTC
1042           stores localtime.
1043
1044           It is in fact recommended to store GMT in your RTC, because then you
1045           don't have to worry about daylight savings time changes. The only
1046           reason not to use GMT in your RTC is if you also run a broken OS
1047           that doesn't understand GMT.
1048
1049 config APM_ALLOW_INTS
1050         bool "Allow interrupts during APM BIOS calls"
1051         depends on APM
1052         help
1053           Normally we disable external interrupts while we are making calls to
1054           the APM BIOS as a measure to lessen the effects of a badly behaving
1055           BIOS implementation.  The BIOS should reenable interrupts if it
1056           needs to.  Unfortunately, some BIOSes do not -- especially those in
1057           many of the newer IBM Thinkpads.  If you experience hangs when you
1058           suspend, try setting this to Y.  Otherwise, say N.
1059
1060 config APM_REAL_MODE_POWER_OFF
1061         bool "Use real mode APM BIOS call to power off"
1062         depends on APM
1063         help
1064           Use real mode APM BIOS calls to switch off the computer. This is
1065           a work-around for a number of buggy BIOSes. Switch this option on if
1066           your computer crashes instead of powering off properly.
1067
1068 endmenu
1069
1070 source "arch/i386/kernel/cpu/cpufreq/Kconfig"
1071
1072 endmenu
1073
1074
1075 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1076
1077 config X86_VISWS_APIC
1078         bool
1079         depends on X86_VISWS
1080         default y
1081
1082 config X86_LOCAL_APIC
1083         bool
1084         depends on (X86_VISWS || SMP) && !X86_VOYAGER
1085         default y
1086
1087 config X86_IO_APIC
1088         bool
1089         depends on SMP && !(X86_VISWS || X86_VOYAGER)
1090         default y
1091
1092 config PCI
1093         bool "PCI support" if !X86_VISWS
1094         depends on !X86_VOYAGER
1095         default y if X86_VISWS
1096         help
1097           Find out whether you have a PCI motherboard. PCI is the name of a
1098           bus system, i.e. the way the CPU talks to the other stuff inside
1099           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
1100           VESA. If you have PCI, say Y, otherwise N.
1101
1102           The PCI-HOWTO, available from
1103           <http://www.tldp.org/docs.html#howto>, contains valuable
1104           information about which PCI hardware does work under Linux and which
1105           doesn't.
1106
1107 choice
1108         prompt "PCI access mode"
1109         depends on PCI && !X86_VISWS
1110         default PCI_GOANY
1111         ---help---
1112           On PCI systems, the BIOS can be used to detect the PCI devices and
1113           determine their configuration. However, some old PCI motherboards
1114           have BIOS bugs and may crash if this is done. Also, some embedded
1115           PCI-based systems don't have any BIOS at all. Linux can also try to
1116           detect the PCI hardware directly without using the BIOS.
1117
1118           With this option, you can specify how Linux should detect the
1119           PCI devices. If you choose "BIOS", the BIOS will be used,
1120           if you choose "Direct", the BIOS won't be used, and if you
1121           choose "MMConfig", then PCI Express MMCONFIG will be used.
1122           If you choose "Any", the kernel will try MMCONFIG, then the
1123           direct access method and falls back to the BIOS if that doesn't
1124           work. If unsure, go with the default, which is "Any".
1125
1126 config PCI_GOBIOS
1127         bool "BIOS"
1128
1129 config PCI_GOMMCONFIG
1130         bool "MMConfig"
1131
1132 config PCI_GODIRECT
1133         bool "Direct"
1134
1135 config PCI_GOANY
1136         bool "Any"
1137
1138 endchoice
1139
1140 config PCI_BIOS
1141         bool
1142         depends on !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY)
1143         default y
1144
1145 config PCI_DIRECT
1146         bool
1147         depends on PCI && ((PCI_GODIRECT || PCI_GOANY) || X86_VISWS)
1148         default y
1149
1150 config PCI_MMCONFIG
1151         bool
1152         depends on PCI && (PCI_GOMMCONFIG || PCI_GOANY)
1153         select ACPI_BOOT
1154         default y
1155
1156 source "drivers/pci/Kconfig"
1157
1158 config ISA
1159         bool "ISA support"
1160         depends on !(X86_VOYAGER || X86_VISWS)
1161         help
1162           Find out whether you have ISA slots on your motherboard.  ISA is the
1163           name of a bus system, i.e. the way the CPU talks to the other stuff
1164           inside your box.  Other bus systems are PCI, EISA, MicroChannel
1165           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
1166           newer boards don't support it.  If you have ISA, say Y, otherwise N.
1167
1168 config EISA
1169         bool "EISA support"
1170         depends on ISA
1171         ---help---
1172           The Extended Industry Standard Architecture (EISA) bus was
1173           developed as an open alternative to the IBM MicroChannel bus.
1174
1175           The EISA bus provided some of the features of the IBM MicroChannel
1176           bus while maintaining backward compatibility with cards made for
1177           the older ISA bus.  The EISA bus saw limited use between 1988 and
1178           1995 when it was made obsolete by the PCI bus.
1179
1180           Say Y here if you are building a kernel for an EISA-based machine.
1181
1182           Otherwise, say N.
1183
1184 source "drivers/eisa/Kconfig"
1185
1186 config MCA
1187         bool "MCA support"
1188         depends on !(X86_VISWS || X86_VOYAGER)
1189         help
1190           MicroChannel Architecture is found in some IBM PS/2 machines and
1191           laptops.  It is a bus system similar to PCI or ISA. See
1192           <file:Documentation/mca.txt> (and especially the web page given
1193           there) before attempting to build an MCA bus kernel.
1194
1195 config MCA
1196         depends on X86_VOYAGER
1197         default y if X86_VOYAGER
1198
1199 source "drivers/mca/Kconfig"
1200
1201 config SCx200
1202         tristate "NatSemi SCx200 support"
1203         depends on !X86_VOYAGER
1204         help
1205           This provides basic support for the National Semiconductor SCx200 
1206           processor.  Right now this is just a driver for the GPIO pins.
1207
1208           If you don't know what to do here, say N.
1209
1210           This support is also available as a module.  If compiled as a
1211           module, it will be called scx200.
1212
1213 source "drivers/pcmcia/Kconfig"
1214
1215 source "drivers/pci/hotplug/Kconfig"
1216
1217 endmenu
1218
1219
1220 menu "Executable file formats"
1221
1222 source "fs/Kconfig.binfmt"
1223
1224 endmenu
1225
1226 source "drivers/Kconfig"
1227
1228 source "fs/Kconfig"
1229
1230 source "arch/i386/oprofile/Kconfig"
1231
1232
1233 menu "Kernel hacking"
1234
1235 config DEBUG_KERNEL
1236         bool "Kernel debugging"
1237         help
1238           Say Y here if you are developing drivers or trying to debug and
1239           identify kernel problems.
1240
1241 config EARLY_PRINTK
1242         bool "Early printk" if EMBEDDED
1243         default y
1244         help
1245           Write kernel log output directly into the VGA buffer or to a serial
1246           port.
1247
1248           This is useful for kernel debugging when your machine crashes very
1249           early before the console code is initialized. For normal operation
1250           it is not recommended because it looks ugly and doesn't cooperate
1251           with klogd/syslogd or the X server. You should normally N here,
1252           unless you want to debug such a crash.
1253
1254 config DEBUG_STACKOVERFLOW
1255         bool "Check for stack overflows"
1256         depends on DEBUG_KERNEL
1257
1258 config DEBUG_STACK_USAGE
1259         bool "Stack utilization instrumentation"
1260         depends on DEBUG_KERNEL
1261         help
1262           Enables the display of the minimum amount of free stack which each
1263           task has ever had available in the sysrq-T and sysrq-P debug output.
1264
1265           This option will slow down process creation somewhat.
1266
1267 config DEBUG_SLAB
1268         bool "Debug memory allocations"
1269         depends on DEBUG_KERNEL
1270         help
1271           Say Y here to have the kernel do limited verification on memory
1272           allocation as well as poisoning memory on free to catch use of freed
1273           memory.
1274
1275 config MAGIC_SYSRQ
1276         bool "Magic SysRq key"
1277         depends on DEBUG_KERNEL
1278         help
1279           If you say Y here, you will have some control over the system even
1280           if the system crashes for example during kernel debugging (e.g., you
1281           will be able to flush the buffer cache to disk, reboot the system
1282           immediately or dump some status information). This is accomplished
1283           by pressing various keys while holding SysRq (Alt+PrintScreen). It
1284           also works on a serial console (on PC hardware at least), if you
1285           send a BREAK and then within 5 seconds a command keypress. The
1286           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
1287           unless you really know what this hack does.
1288
1289 config DEBUG_SPINLOCK
1290         bool "Spinlock debugging"
1291         depends on DEBUG_KERNEL
1292         help
1293           Say Y here and build SMP to catch missing spinlock initialization
1294           and certain other kinds of spinlock errors commonly made.  This is
1295           best used in conjunction with the NMI watchdog so that spinlock
1296           deadlocks are also debuggable.
1297
1298 config DEBUG_PAGEALLOC
1299         bool "Page alloc debugging"
1300         depends on DEBUG_KERNEL
1301         help
1302           Unmap pages from the kernel linear mapping after free_pages().
1303           This results in a large slowdown, but helps to find certain types
1304           of memory corruptions.
1305
1306 config DEBUG_HIGHMEM
1307         bool "Highmem debugging"
1308         depends on DEBUG_KERNEL && HIGHMEM
1309         help
1310           This options enables addition error checking for high memory systems.
1311           Disable for production systems.
1312
1313 config DEBUG_INFO
1314         bool "Compile the kernel with debug info"
1315         depends on DEBUG_KERNEL
1316         help
1317           If you say Y here the resulting kernel image will include
1318           debugging info resulting in a larger kernel image.
1319           Say Y here only if you plan to use gdb to debug the kernel.
1320           If you don't debug the kernel, you can say N.
1321           
1322 config DEBUG_SPINLOCK_SLEEP
1323         bool "Sleep-inside-spinlock checking"
1324         help
1325           If you say Y here, various routines which may sleep will become very
1326           noisy if they are called with a spinlock held.        
1327
1328 config FRAME_POINTER
1329         bool "Compile the kernel with frame pointers"
1330         help
1331           If you say Y here the resulting kernel image will be slightly larger
1332           and slower, but it will give very useful debugging information.
1333           If you don't debug the kernel, you can say N, but we may not be able
1334           to solve problems without frame pointers.
1335
1336 config X86_FIND_SMP_CONFIG
1337         bool
1338         depends on X86_LOCAL_APIC || X86_VOYAGER
1339         default y
1340
1341 config X86_MPPARSE
1342         bool
1343         depends on X86_LOCAL_APIC && !X86_VISWS
1344         default y
1345
1346 endmenu
1347
1348 source "kernel/vserver/Kconfig"
1349
1350 source "security/Kconfig"
1351
1352 source "crypto/Kconfig"
1353
1354 source "lib/Kconfig"
1355
1356 config X86_SMP
1357         bool
1358         depends on SMP && !X86_VOYAGER
1359         default y
1360
1361 config X86_HT
1362         bool
1363         depends on SMP && !(X86_VISWS || X86_VOYAGER)
1364         default y
1365
1366 config X86_BIOS_REBOOT
1367         bool
1368         depends on !(X86_VISWS || X86_VOYAGER)
1369         default y
1370
1371 config X86_TRAMPOLINE
1372         bool
1373         depends on X86_SMP || (X86_VOYAGER && SMP)
1374         default y
1375
1376 # std_resources is overridden for pc9800, but that's not
1377 # a currently selectable arch choice
1378 config X86_STD_RESOURCES
1379         bool
1380         default y
1381
1382 config PC
1383         bool
1384         depends on X86 && !EMBEDDED
1385         default y