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