Merge bk://linux-sam.bkbits.net/kbuild
[linux-flexiantxendom0-3.2.10.git] / arch / alpha / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5 config ALPHA
6         bool
7         default y
8         help
9           The Alpha is a 64-bit general-purpose processor designed and
10           marketed by the Digital Equipment Corporation of blessed memory,
11           now Hewlett-Packard.  The Alpha Linux project has a home page at
12           <http://www.alphalinux.org/>.
13
14 config MMU
15         bool
16         default y
17
18 config UID16
19         bool
20
21 config RWSEM_GENERIC_SPINLOCK
22         bool
23
24 config RWSEM_XCHGADD_ALGORITHM
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 "System setup"
36
37 choice
38         prompt "Alpha system type"
39         default ALPHA_GENERIC
40         ---help---
41           This is the system type of your hardware.  A "generic" kernel will
42           run on any supported Alpha system. However, if you configure a
43           kernel for your specific system, it will be faster and smaller.
44
45           To find out what type of Alpha system you have, you may want to
46           check out the Linux/Alpha FAQ, accessible on the WWW from
47           <http://www.alphalinux.org/>. In summary:
48
49           Alcor/Alpha-XLT     AS 600
50           Alpha-XL            XL-233, XL-266
51           AlphaBook1          Alpha laptop
52           Avanti              AS 200, AS 205, AS 250, AS 255, AS 300, AS 400
53           Cabriolet           AlphaPC64, AlphaPCI64
54           DP264               DP264
55           EB164               EB164 21164 evaluation board
56           EB64+               EB64+ 21064 evaluation board
57           EB66                EB66 21066 evaluation board
58           EB66+               EB66+ 21066 evaluation board
59           Jensen              DECpc 150, DEC 2000 model 300,
60           DEC 2000 model 500
61           LX164               AlphaPC164-LX
62           Lynx                AS 2100A
63           Miata               Personal Workstation 433a, 433au, 500a,
64           500au, 600a, or 600au
65           Marvel              AlphaServer ES47 / ES80 / GS1280
66           Mikasa              AS 1000
67           Noname              AXPpci33, UDB (Multia)
68           Noritake            AS 1000A, AS 600A, AS 800
69           PC164               AlphaPC164
70           Rawhide             AS 1200, AS 4000, AS 4100
71           Ruffian             RPX164-2, AlphaPC164-UX, AlphaPC164-BX
72           SX164               AlphaPC164-SX
73           Sable               AS 2000, AS 2100
74           Shark               DS 20L
75           Takara              Takara
76           Titan               AlphaServer ES45 / DS25
77           Wildfire            AlphaServer GS 40/80/160/320
78
79           If you don't know what to do, choose "generic".
80
81 config ALPHA_GENERIC
82         bool "Generic"
83         help
84           A generic kernel will run on all supported Alpha hardware.
85
86 config ALPHA_ALCOR
87         bool "Alcor/Alpha-XLT"
88         help
89           For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data
90           slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O
91           Address, CIA) - a 383 pin plastic PGA).  It provides a DRAM
92           controller (256-bit memory bus) and a PCI interface.  It also does
93           all the work required to support an external Bcache and to maintain
94           memory coherence when a PCI device DMAs into (or out of) memory.
95
96 config ALPHA_XL
97         bool "Alpha-XL"
98         help
99           XL-233 and XL-266-based Alpha systems.
100
101 config ALPHA_BOOK1
102         bool "AlphaBook1"
103         help
104           Dec AlphaBook1/Burns Alpha-based laptops.
105
106 config ALPHA_AVANTI_CH
107         bool "Avanti"
108
109 config ALPHA_CABRIOLET
110         bool "Cabriolet"
111         help
112           Cabriolet AlphaPC64, AlphaPCI64 systems.  Derived from EB64+ but now
113           baby-AT with Flash boot ROM, no on-board SCSI or Ethernet. 3 ISA
114           slots, 4 PCI slots (one pair are on a shared slot), uses plug-in
115           Bcache SIMMs.  Requires power supply with 3.3V output.
116
117 config ALPHA_DP264
118         bool "DP264"
119         help
120           Various 21264 systems with the tsunami core logic chipset.
121           API Networks: 264DP, UP2000(+), CS20;
122           Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40.
123
124 config ALPHA_EB164
125         bool "EB164"
126         help
127           EB164 21164 evaluation board from DEC.  Uses 21164 and ALCOR.  Has
128           ISA and PCI expansion (3 ISA slots, 2 64-bit PCI slots (one is
129           shared with an ISA slot) and 2 32-bit PCI slots.  Uses plus-in
130           Bcache SIMMs. I/O sub-system provides SuperI/O (2S, 1P, FD), KBD,
131           MOUSE (PS2 style), RTC/NVRAM.  Boot ROM is Flash.  PC-AT-sized
132           motherboard.  Requires power supply with 3.3V output.
133
134 config ALPHA_EB64P_CH
135         bool "EB64+"
136
137 config ALPHA_EB66
138         bool "EB66"
139         help
140           A Digital DS group board.  Uses 21066 or 21066A.  I/O sub-system is
141           identical to EB64+.  Baby PC-AT size.  Runs from standard PC power
142           supply.  The EB66 schematic was published as a marketing poster
143           advertising the 21066 as "the first microprocessor in the world with
144           embedded PCI".
145
146 config ALPHA_EB66P
147         bool "EB66+"
148         help
149           Later variant of the EB66 board.
150
151 config ALPHA_EIGER
152         bool "Eiger"
153         help
154           Apparently an obscure OEM single-board computer based on the
155           Typhoon/Tsunami chipset family. Information on it is scanty.
156
157 config ALPHA_JENSEN
158         bool "Jensen"
159         help
160           DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
161           of the first-generation Alpha systems. A number of these systems
162           seem to be available on the second- hand market. The Jensen is a
163           floor-standing tower system which originally used a 150MHz 21064 It
164           used programmable logic to interface a 486 EISA I/O bridge to the
165           CPU.
166
167 config ALPHA_LX164
168         bool "LX164"
169         help
170           A technical overview of this board is available at
171           <http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html>.
172
173 config ALPHA_LYNX
174         bool "Lynx"
175         help
176           AlphaServer 2100A-based systems.
177
178 config ALPHA_MARVEL
179         bool "Marvel"
180         help
181           AlphaServer ES47 / ES80 / GS1280 based on EV7.
182
183 config ALPHA_MIATA
184         bool "Miata"
185         help
186           The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a,
187           or 600au).  There is an Installation HOWTO for this hardware at
188           <http://members.brabant.chello.nl/~s.vandereijk/miata.html>.
189
190 config ALPHA_MIKASA
191         bool "Mikasa"
192         help
193           AlphaServer 1000-based Alpha systems.
194
195 config ALPHA_NAUTILUS
196         bool "Nautilus"
197         help
198           Alpha systems based on the AMD 751 & ALI 1543C chipsets.
199
200 config ALPHA_NONAME_CH
201         bool "Noname"
202
203 config ALPHA_NORITAKE
204         bool "Noritake"
205         help
206           AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based
207           systems.
208
209 config ALPHA_PC164
210         bool "PC164"
211
212 config ALPHA_P2K
213         bool "Platform2000"
214
215 config ALPHA_RAWHIDE
216         bool "Rawhide"
217         help
218           AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines.
219           See HOWTO at
220           <http://www.alphalinux.org/docs/rawhide/4100_install.shtml>.
221
222 config ALPHA_RUFFIAN
223         bool "Ruffian"
224         help
225           Samsung APC164UX.  There is a page on known problems and workarounds
226           at <http://www.alphalinux.org/faq/FAQ-11.html>.
227
228 config ALPHA_RX164
229         bool "RX164"
230
231 config ALPHA_SX164
232         bool "SX164"
233
234 config ALPHA_SABLE
235         bool "Sable"
236         help
237           Digital AlphaServer 2000 and 2100-based systems.
238
239 config ALPHA_SHARK
240         bool "Shark"
241
242 config ALPHA_TAKARA
243         bool "Takara"
244         help
245           Alpha 11164-based OEM single-board computer.
246
247 config ALPHA_TITAN
248         bool "Titan"
249         help
250           AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset.
251
252 config ALPHA_WILDFIRE
253         bool "Wildfire"
254         help
255           AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
256
257 endchoice
258
259 # clear all implied options (don't want default values for those):
260 # Most of these machines have ISA slots; not exactly sure which don't,
261 # and this doesn't activate hordes of code, so do it always.
262 config ISA
263         bool
264         default y
265         help
266           Find out whether you have ISA slots on your motherboard.  ISA is the
267           name of a bus system, i.e. the way the CPU talks to the other stuff
268           inside your box.  Other bus systems are PCI, EISA, MicroChannel
269           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
270           newer boards don't support it.  If you have ISA, say Y, otherwise N.
271
272 config SBUS
273         bool
274
275 config MCA
276         bool
277         help
278           MicroChannel Architecture is found in some IBM PS/2 machines and
279           laptops.  It is a bus system similar to PCI or ISA. See
280           <file:Documentation/mca.txt> (and especially the web page given
281           there) before attempting to build an MCA bus kernel.
282
283 config PCI
284         bool
285         depends on !ALPHA_JENSEN
286         default y
287         help
288           Find out whether you have a PCI motherboard. PCI is the name of a
289           bus system, i.e. the way the CPU talks to the other stuff inside
290           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
291           VESA. If you have PCI, say Y, otherwise N.
292
293           The PCI-HOWTO, available from
294           <http://www.tldp.org/docs.html#howto>, contains valuable
295           information about which PCI hardware does work under Linux and which
296           doesn't.
297
298 config PCI_DOMAINS
299         bool
300         default y
301
302 config ALPHA_CORE_AGP
303         bool
304         depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
305         default y
306
307 config ALPHA_NONAME
308         bool
309         depends on ALPHA_BOOK1 || ALPHA_NONAME_CH
310         default y
311         help
312           The AXPpci33 (aka NoName), is based on the EB66 (includes the Multia
313           UDB).  This design was produced by Digital's Technical OEM (TOEM)
314           group. It uses the 21066 processor running at 166MHz or 233MHz. It
315           is a baby-AT size, and runs from a standard PC power supply. It has
316           5 ISA slots and 3 PCI slots (one pair are a shared slot). There are
317           2 versions, with either PS/2 or large DIN connectors for the
318           keyboard.
319
320 config ALPHA_EV4
321         bool
322         depends on ALPHA_JENSEN || (ALPHA_SABLE && !ALPHA_GAMMA) || ALPHA_LYNX || ALPHA_NORITAKE && !ALPHA_PRIMO || ALPHA_MIKASA && !ALPHA_PRIMO || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL || ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
323         default y if !ALPHA_LYNX
324
325 config ALPHA_LCA
326         bool
327         depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
328         default y
329
330 config ALPHA_APECS
331         bool
332         depends on !ALPHA_PRIMO && (ALPHA_NORITAKE || ALPHA_MIKASA) || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL
333         default y
334
335 config ALPHA_EB64P
336         bool
337         depends on ALPHA_CABRIOLET || ALPHA_EB64P_CH
338         default y
339         help
340           Uses 21064 or 21064A and APECs.  Has ISA and PCI expansion (3 ISA,
341           2 PCI, one pair are on a shared slot). Supports 36-bit DRAM SIMs.
342           ISA bus generated by Intel SaturnI/O PCI-ISA bridge. On-board SCSI
343           (NCR 810 on PCI) Ethernet (Digital 21040), KBD, MOUSE (PS2 style),
344           SuperI/O (2S, 1P, FD), RTC/NVRAM. Boot ROM is EPROM.  PC-AT size.
345           Runs from standard PC power supply.
346
347 config ALPHA_EV5
348         bool "EV5 CPU(s) (model 5/xxx)?" if ALPHA_LYNX
349         default y if ALPHA_RX164 || ALPHA_RAWHIDE || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_SABLE && ALPHA_GAMMA || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR
350
351 config ALPHA_EV4
352         bool
353         default y if ALPHA_LYNX && !ALPHA_EV5
354
355 config ALPHA_CIA
356         bool
357         depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_NORITAKE && ALPHA_PRIMO || ALPHA_MIKASA && ALPHA_PRIMO || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR
358         default y
359
360 config ALPHA_EV56
361         bool "EV56 CPU (speed >= 366MHz)?" if ALPHA_ALCOR
362         default y if ALPHA_RX164 || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_PC164 || ALPHA_TAKARA
363
364 config ALPHA_EV56
365         prompt "EV56 CPU (speed >= 333MHz)?"
366         depends on ALPHA_NORITAKE && ALPHA_PRIMO
367
368 config ALPHA_EV56
369         prompt "EV56 CPU (speed >= 400MHz)?"
370         depends on ALPHA_RAWHIDE
371
372 config ALPHA_PRIMO
373         bool "EV5 CPU daughtercard (model 5/xxx)?"
374         depends on ALPHA_NORITAKE || ALPHA_MIKASA
375         help
376           Say Y if you have an AS 1000 5/xxx or an AS 1000A 5/xxx.
377
378 config ALPHA_GAMMA
379         bool "EV5 CPU(s) (model 5/xxx)?"
380         depends on ALPHA_SABLE
381         help
382           Say Y if you have an AS 2000 5/xxx or an AS 2100 5/xxx.
383
384 config ALPHA_GAMMA
385         bool
386         depends on ALPHA_LYNX
387         default y
388
389 config ALPHA_T2
390         bool
391         depends on ALPHA_SABLE || ALPHA_LYNX
392         default y
393
394 config ALPHA_PYXIS
395         bool
396         depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
397         default y
398
399 config ALPHA_EV6
400         bool
401         depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL
402         default y
403
404 config ALPHA_TSUNAMI
405         bool
406         depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
407         default y
408
409 config ALPHA_EV67
410         bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER
411         default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
412         help
413           Is this a machine based on the EV67 core?  If in doubt, select N here
414           and the machine will be treated as an EV6.
415
416 config ALPHA_EV7
417         bool
418         depends on ALPHA_MARVEL
419         default y
420
421 config ALPHA_MCPCIA
422         bool
423         depends on ALPHA_RAWHIDE
424         default y
425
426 config ALPHA_POLARIS
427         bool
428         depends on ALPHA_RX164
429         default y
430
431 config ALPHA_IRONGATE
432         bool
433         depends on ALPHA_NAUTILUS
434         default y
435
436 config ALPHA_AVANTI
437         bool
438         depends on ALPHA_XL || ALPHA_AVANTI_CH
439         default y
440         help
441           Avanti AS 200, AS 205, AS 250, AS 255, AS 300, and AS 400-based
442           Alphas. Info at
443           <http://www.unix-ag.org/Linux-Alpha/Architectures/Avanti.html>.
444
445 config ALPHA_BROKEN_IRQ_MASK
446         bool
447         depends on ALPHA_GENERIC || ALPHA_PC164
448         default y
449
450 config ALPHA_SRM
451         bool "Use SRM as bootloader" if ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P || ALPHA_PC164 || ALPHA_TAKARA || ALPHA_EB164 || ALPHA_ALCOR || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_NAUTILUS || ALPHA_NONAME
452         default y if ALPHA_JENSEN || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_DP264 || ALPHA_RAWHIDE || ALPHA_EIGER || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
453         ---help---
454           There are two different types of booting firmware on Alphas: SRM,
455           which is command line driven, and ARC, which uses menus and arrow
456           keys. Details about the Linux/Alpha booting process are contained in
457           the Linux/Alpha FAQ, accessible on the WWW from
458           <http://www.alphalinux.org/>.
459
460           The usual way to load Linux on an Alpha machine is to use MILO
461           (a bootloader that lets you pass command line parameters to the
462           kernel just like lilo does for the x86 architecture) which can be
463           loaded either from ARC or can be installed directly as a permanent
464           firmware replacement from floppy (which requires changing a certain
465           jumper on the motherboard). If you want to do either of these, say N
466           here. If MILO doesn't work on your system (true for Jensen
467           motherboards), you can bypass it altogether and boot Linux directly
468           from an SRM console; say Y here in order to do that. Note that you
469           won't be able to boot from an IDE disk using SRM.
470
471           If unsure, say N.
472
473 config EARLY_PRINTK
474         bool
475         depends on ALPHA_GENERIC || ALPHA_SRM
476         default y
477
478 config EISA
479         bool
480         depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE
481         default y
482         ---help---
483           The Extended Industry Standard Architecture (EISA) bus was
484           developed as an open alternative to the IBM MicroChannel bus.
485
486           The EISA bus provided some of the features of the IBM MicroChannel
487           bus while maintaining backward compatibility with cards made for
488           the older ISA bus.  The EISA bus saw limited use between 1988 and
489           1995 when it was made obsolete by the PCI bus.
490
491           Say Y here if you are building a kernel for an EISA-based machine.
492
493           Otherwise, say N.
494
495 config SMP
496         bool "Symmetric multi-processing support"
497         depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL
498         ---help---
499           This enables support for systems with more than one CPU. If you have
500           a system with only one CPU, like most personal computers, say N. If
501           you have a system with more than one CPU, say Y.
502
503           If you say N here, the kernel will run on single and multiprocessor
504           machines, but will use only one CPU of a multiprocessor machine. If
505           you say Y here, the kernel will run on many, but not all,
506           singleprocessor machines. On a singleprocessor machine, the kernel
507           will run faster if you say N here.
508
509           Note that if you say Y here and choose architecture "586" or
510           "Pentium" under "Processor family", the kernel will not work on 486
511           architectures. Similarly, multiprocessor kernels for the "PPro"
512           architecture may not work on all Pentium based boards.
513
514           People using multiprocessor machines who say Y here should also say
515           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
516           Management" code will be disabled if you say Y here.
517
518           See also the <file:Documentation/smp.tex>,
519           <file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
520           <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
521           <http://www.tldp.org/docs.html#howto>.
522
523           If you don't know what to do here, say N.
524
525 config HAVE_DEC_LOCK
526         bool
527         depends on SMP
528         default y
529
530 config NR_CPUS
531         int "Maximum number of CPUs (2-64)"
532         depends on SMP
533         default "64"
534
535 config DISCONTIGMEM
536         bool "Discontiguous Memory Support (EXPERIMENTAL)"
537         depends on EXPERIMENTAL
538         help
539           Say Y to upport efficient handling of discontiguous physical memory,
540           for architectures which are either NUMA (Non-Uniform Memory Access)
541           or have huge holes in the physical address space for other reasons.
542           See <file:Documentation/vm/numa> for more.
543
544 config NUMA
545         bool "NUMA Support (EXPERIMENTAL)"
546         depends on DISCONTIGMEM
547         help
548           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
549           Access).  This option is for configuring high-end multiprocessor
550           server machines.  If in doubt, say N.
551
552 # LARGE_VMALLOC is racy, if you *really* need it then fix it first
553 config ALPHA_LARGE_VMALLOC
554         bool
555         ---help---
556           Process creation and other aspects of virtual memory management can
557           be streamlined if we restrict the kernel to one PGD for all vmalloc
558           allocations.  This equates to about 8GB.
559
560           Under normal circumstances, this is so far and above what is needed
561           as to be laughable.  However, there are certain applications (such
562           as benchmark-grade in-kernel web serving) that can make use of as
563           much vmalloc space as is available.
564
565           Say N unless you know you need gobs and gobs of vmalloc space.
566
567 config VERBOSE_MCHECK
568         bool "Verbose Machine Checks"
569
570 source "drivers/pci/Kconfig"
571 source "drivers/eisa/Kconfig"
572
573 config HOTPLUG
574         bool "Support for hot-pluggable devices"
575         ---help---
576           Say Y here if you want to plug devices into your computer while
577           the system is running, and be able to use them quickly.  In many
578           cases, the devices can likewise be unplugged at any time too.
579
580           One well known example of this is PCMCIA- or PC-cards, credit-card
581           size devices such as network cards, modems or hard drives which are
582           plugged into slots found on all modern laptop computers.  Another
583           example, used on modern desktops as well as laptops, is USB.
584
585           Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
586           software (at <http://linux-hotplug.sourceforge.net/>) and install it.
587           Then your kernel will automatically call out to a user mode "policy
588           agent" (/sbin/hotplug) to load modules and set up software needed
589           to use devices as you hotplug them.
590
591 source "drivers/pcmcia/Kconfig"
592
593 choice
594         prompt "Kernel core (/proc/kcore) format"
595         depends on PROC_FS
596         default KCORE_ELF
597
598 config KCORE_ELF
599         bool "ELF"
600         ---help---
601           If you enabled support for /proc file system then the file
602           /proc/kcore will contain the kernel core image. This can be used
603           in gdb:
604
605           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
606
607           You have two choices here: ELF and A.OUT. Selecting ELF will make
608           /proc/kcore appear in ELF core format as defined by the Executable
609           and Linking Format specification. Selecting A.OUT will choose the
610           old "a.out" format which may be necessary for some old versions
611           of binutils or on some architectures.
612
613           This is especially useful if you have compiled the kernel with the
614           "-g" option to preserve debugging information. It is mainly used
615           for examining kernel data structures on the live kernel so if you
616           don't understand what this means or are not a kernel hacker, just
617           leave it at its default value ELF.
618
619 config KCORE_AOUT
620         bool "A.OUT"
621         help
622           Not necessary unless you're using a very out-of-date binutils
623           version.  You probably want KCORE_ELF.
624
625 endchoice
626
627 config SRM_ENV
628         tristate "SRM environment through procfs"
629         depends on PROC_FS
630         ---help---
631           If you enable this option, a subdirectory inside /proc called
632           /proc/srm_environment will give you access to the all important
633           SRM environment variables (those which have a name) and also
634           to all others (by their internal number).
635
636           SRM is something like a BIOS for Alpha machines. There are some
637           other such BIOSes, like AlphaBIOS, which this driver cannot
638           support (hey, that's not SRM!).
639
640           Despite the fact that this driver doesn't work on all Alphas (but
641           only on those which have SRM as their firmware), it's save to
642           build it even if your particular machine doesn't know about SRM
643           (or if you intend to compile a generic kernel). It will simply
644           not create those subdirectory in /proc (and give you some warning,
645           of course).
646
647           This driver is also available as a module and will be called
648           srm_env then.
649
650 source "fs/Kconfig.binfmt"
651
652 source "drivers/parport/Kconfig"
653
654 endmenu
655
656 source "drivers/base/Kconfig"
657
658 source "drivers/mtd/Kconfig"
659
660 source "drivers/pnp/Kconfig"
661
662 source "drivers/block/Kconfig"
663
664 source "drivers/md/Kconfig"
665
666 source "drivers/ide/Kconfig"
667
668
669 menu "SCSI support"
670
671 config SCSI
672         tristate "SCSI support"
673         ---help---
674           If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or
675           any other SCSI device under Linux, say Y and make sure that you know
676           the name of your SCSI host adapter (the card inside your computer
677           that "speaks" the SCSI protocol, also called SCSI controller),
678           because you will be asked for it.
679
680           You also need to say Y here if you want support for the parallel
681           port version of the 100 MB IOMEGA ZIP drive.
682
683           This driver is also available as a module ( = code which can be
684           inserted in and removed from the running kernel whenever you want).
685           The module will be called scsi_mod.  If you want to compile it as
686           a module, say M here and read <file:Documentation/modules.txt> and
687           <file:Documentation/scsi/scsi.txt>.  However, do not compile this as a
688           module if your root file system (the one containing the directory /)
689           is located on a SCSI device.
690
691 source "drivers/scsi/Kconfig"
692
693 endmenu
694
695 if PCI
696 source "drivers/message/fusion/Kconfig"
697 endif
698
699 source "drivers/ieee1394/Kconfig"
700
701 source "net/Kconfig"
702
703 source "net/ax25/Kconfig"
704
705 source "drivers/isdn/Kconfig"
706
707
708 menu "Old CD-ROM drivers (not SCSI, not IDE)"
709
710 config CD_NO_IDESCSI
711         bool "Support non-SCSI/IDE/ATAPI CDROM drives"
712         ---help---
713           If you have a CD-ROM drive that is neither SCSI nor IDE/ATAPI, say Y
714           here, otherwise N. Read the CD-ROM-HOWTO, available from
715           <http://www.tldp.org/docs.html#howto>.
716
717           Note that the answer to this question doesn't directly affect the
718           kernel: saying N will just cause the configurator to skip all
719           the questions about these CD-ROM drives. If you are unsure what you
720           have, say Y and find out whether you have one of the following
721           drives.
722
723           For each of these drivers, a file Documentation/cdrom/{driver_name}
724           exists. Especially in cases where you do not know exactly which kind
725           of drive you have you should read there. Most of these drivers use a
726           file drivers/cdrom/{driver_name}.h where you can define your
727           interface parameters and switch some internal goodies.
728
729           All these CD-ROM drivers are also usable as a module ( = code which
730           can be inserted in and removed from the running kernel whenever you
731           want). If you want to compile them as module, say M instead of Y and
732           read <file:Documentation/modules.txt>.
733
734           If you want to use any of these CD-ROM drivers, you also have to
735           answer Y or M to "ISO 9660 CD-ROM file system support" below (this
736           answer will get "defaulted" for you if you enable any of the Linux
737           CD-ROM drivers).
738
739 source "drivers/cdrom/Kconfig"
740
741 endmenu
742
743 source "drivers/input/Kconfig"
744
745 source "drivers/char/Kconfig"
746
747 #source drivers/misc/Config.in
748 source "drivers/media/Kconfig"
749
750 source "fs/Kconfig"
751
752 source "drivers/video/Kconfig"
753
754 menu "Sound"
755
756 config SOUND
757         tristate "Sound card support"
758         ---help---
759           If you have a sound card in your computer, i.e. if it can say more
760           than an occasional beep, say Y.  Be sure to have all the information
761           about your sound card and its configuration down (I/O port,
762           interrupt and DMA channel), because you will be asked for it.
763
764           You want to read the Sound-HOWTO, available from
765           <http://www.tldp.org/docs.html#howto>. General information about
766           the modular sound system is contained in the files
767           <file:Documentation/sound/Introduction>.  The file
768           <file:Documentation/sound/README.OSS> contains some slightly
769           outdated but still useful information as well.
770
771           If you have a PnP sound card and you want to configure it at boot
772           time using the ISA PnP tools (read
773           <http://www.roestock.demon.co.uk/isapnptools/>), then you need to
774           compile the sound card support as a module ( = code which can be
775           inserted in and removed from the running kernel whenever you want)
776           and load that module after the PnP configuration is finished.  To do
777           this, say M here and read <file:Documentation/modules.txt> as well
778           as <file:Documentation/sound/README.modules>; the module will be
779           called soundcore.
780
781           I'm told that even without a sound card, you can make your computer
782           say more than an occasional beep, by programming the PC speaker.
783           Kernel patches and supporting utilities to do that are in the pcsp
784           package, available at <ftp://ftp.infradead.org/pub/pcsp/>.
785
786 source "sound/Kconfig"
787
788 endmenu
789
790 source "drivers/usb/Kconfig"
791
792 source "net/bluetooth/Kconfig"
793
794 source "arch/alpha/oprofile/Kconfig"
795
796 menu "Kernel hacking"
797
798 config ALPHA_LEGACY_START_ADDRESS
799         bool "Legacy kernel start address"
800         ---help---
801           The 2.4 kernel changed the kernel start address from 0x310000
802           to 0x810000 to make room for the Wildfire's larger SRM console.
803
804           If you're using aboot 0.7 or later, the bootloader will examine the
805           ELF headers to determine where to transfer control. Unfortunately,
806           most older bootloaders -- APB or MILO -- hardcoded the kernel start
807           address rather than examining the ELF headers, and the result is a
808           hard lockup.
809
810           Say Y if you have a broken bootloader.  Say N if you do not, or if
811           you wish to run on Wildfire.
812
813 config DEBUG_KERNEL
814         bool "Kernel debugging"
815         help
816           Say Y here if you are developing drivers or trying to debug and
817           identify kernel problems.
818
819 config MATHEMU
820         tristate "Kernel FP software completion" if DEBUG_KERNEL
821         default y if !DEBUG_KERNEL
822         help
823           This option is required for IEEE compliant floating point arithmetic
824           on the Alpha. The only time you would ever not say Y is to say M in
825           order to debug the code. Say Y unless you know what you are doing.
826
827 config DEBUG_SLAB
828         bool "Debug memory allocations"
829         depends on DEBUG_KERNEL
830         help
831           Say Y here to have the kernel do limited verification on memory
832           allocation as well as poisoning memory on free to catch use of freed
833           memory.
834
835 config MAGIC_SYSRQ
836         bool "Magic SysRq key"
837         depends on DEBUG_KERNEL
838         help
839           If you say Y here, you will have some control over the system even
840           if the system crashes for example during kernel debugging (e.g., you
841           will be able to flush the buffer cache to disk, reboot the system
842           immediately or dump some status information). This is accomplished
843           by pressing various keys while holding SysRq (Alt+PrintScreen). It
844           also works on a serial console (on PC hardware at least), if you
845           send a BREAK and then within 5 seconds a command keypress. The
846           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
847           unless you really know what this hack does.
848
849 config DEBUG_SPINLOCK
850         bool "Spinlock debugging"
851         depends on DEBUG_KERNEL
852         help
853           Say Y here and build SMP to catch missing spinlock initialization
854           and certain other kinds of spinlock errors commonly made.  This is
855           best used in conjunction with the NMI watchdog so that spinlock
856           deadlocks are also debuggable.
857
858 config DEBUG_RWLOCK
859         bool "Read-write spinlock debugging"
860         depends on DEBUG_KERNEL
861         help
862           If you say Y here then read-write lock processing will count how many
863           times it has tried to get the lock and issue an error message after
864           too many attempts.  If you suspect a rwlock problem or a kernel
865           hacker asks for this option then say Y.  Otherwise say N.
866
867 config DEBUG_SEMAPHORE
868         bool "Semaphore debugging"
869         depends on DEBUG_KERNEL
870         help
871           If you say Y here then semaphore processing will issue lots of
872           verbose debugging messages.  If you suspect a semaphore problem or a
873           kernel hacker asks for this option then say Y.  Otherwise say N.
874
875 config DEBUG_INFO
876         bool "Compile the kernel with debug info"
877         depends on DEBUG_KERNEL
878         help
879           If you say Y here the resulting kernel image will include
880           debugging info resulting in a larger kernel image.
881           Say Y here only if you plan to use gdb to debug the kernel.
882           If you don't debug the kernel, you can say N.
883
884 endmenu
885
886 source "security/Kconfig"
887
888 source "crypto/Kconfig"
889
890 source "lib/Kconfig"
891