Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
[linux-2.6] / 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 64BIT
15         def_bool y
16
17 config MMU
18         bool
19         default y
20
21 config RWSEM_GENERIC_SPINLOCK
22         bool
23
24 config RWSEM_XCHGADD_ALGORITHM
25         bool
26         default y
27
28 config GENERIC_CALIBRATE_DELAY
29         bool
30         default y
31
32 config GENERIC_ISA_DMA
33         bool
34         default y
35
36 config GENERIC_IOMAP
37         bool
38         default n
39
40 config GENERIC_HARDIRQS
41         bool
42         default y
43
44 config GENERIC_IRQ_PROBE
45         bool
46         default y
47
48 config AUTO_IRQ_AFFINITY
49         bool
50         depends on SMP
51         default y
52
53 source "init/Kconfig"
54
55
56 menu "System setup"
57
58 choice
59         prompt "Alpha system type"
60         default ALPHA_GENERIC
61         ---help---
62           This is the system type of your hardware.  A "generic" kernel will
63           run on any supported Alpha system. However, if you configure a
64           kernel for your specific system, it will be faster and smaller.
65
66           To find out what type of Alpha system you have, you may want to
67           check out the Linux/Alpha FAQ, accessible on the WWW from
68           <http://www.alphalinux.org/>. In summary:
69
70           Alcor/Alpha-XLT     AS 600
71           Alpha-XL            XL-233, XL-266
72           AlphaBook1          Alpha laptop
73           Avanti              AS 200, AS 205, AS 250, AS 255, AS 300, AS 400
74           Cabriolet           AlphaPC64, AlphaPCI64
75           DP264               DP264
76           EB164               EB164 21164 evaluation board
77           EB64+               EB64+ 21064 evaluation board
78           EB66                EB66 21066 evaluation board
79           EB66+               EB66+ 21066 evaluation board
80           Jensen              DECpc 150, DEC 2000 model 300,
81           DEC 2000 model 500
82           LX164               AlphaPC164-LX
83           Lynx                AS 2100A
84           Miata               Personal Workstation 433a, 433au, 500a,
85           500au, 600a, or 600au
86           Marvel              AlphaServer ES47 / ES80 / GS1280
87           Mikasa              AS 1000
88           Noname              AXPpci33, UDB (Multia)
89           Noritake            AS 1000A, AS 600A, AS 800
90           PC164               AlphaPC164
91           Rawhide             AS 1200, AS 4000, AS 4100
92           Ruffian             RPX164-2, AlphaPC164-UX, AlphaPC164-BX
93           SX164               AlphaPC164-SX
94           Sable               AS 2000, AS 2100
95           Shark               DS 20L
96           Takara              Takara
97           Titan               AlphaServer ES45 / DS25
98           Wildfire            AlphaServer GS 40/80/160/320
99
100           If you don't know what to do, choose "generic".
101
102 config ALPHA_GENERIC
103         bool "Generic"
104         help
105           A generic kernel will run on all supported Alpha hardware.
106
107 config ALPHA_ALCOR
108         bool "Alcor/Alpha-XLT"
109         help
110           For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data
111           slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O
112           Address, CIA) - a 383 pin plastic PGA).  It provides a DRAM
113           controller (256-bit memory bus) and a PCI interface.  It also does
114           all the work required to support an external Bcache and to maintain
115           memory coherence when a PCI device DMAs into (or out of) memory.
116
117 config ALPHA_XL
118         bool "Alpha-XL"
119         help
120           XL-233 and XL-266-based Alpha systems.
121
122 config ALPHA_BOOK1
123         bool "AlphaBook1"
124         help
125           Dec AlphaBook1/Burns Alpha-based laptops.
126
127 config ALPHA_AVANTI_CH
128         bool "Avanti"
129
130 config ALPHA_CABRIOLET
131         bool "Cabriolet"
132         help
133           Cabriolet AlphaPC64, AlphaPCI64 systems.  Derived from EB64+ but now
134           baby-AT with Flash boot ROM, no on-board SCSI or Ethernet. 3 ISA
135           slots, 4 PCI slots (one pair are on a shared slot), uses plug-in
136           Bcache SIMMs.  Requires power supply with 3.3V output.
137
138 config ALPHA_DP264
139         bool "DP264"
140         help
141           Various 21264 systems with the tsunami core logic chipset.
142           API Networks: 264DP, UP2000(+), CS20;
143           Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40.
144
145 config ALPHA_EB164
146         bool "EB164"
147         help
148           EB164 21164 evaluation board from DEC.  Uses 21164 and ALCOR.  Has
149           ISA and PCI expansion (3 ISA slots, 2 64-bit PCI slots (one is
150           shared with an ISA slot) and 2 32-bit PCI slots.  Uses plus-in
151           Bcache SIMMs. I/O sub-system provides SuperI/O (2S, 1P, FD), KBD,
152           MOUSE (PS2 style), RTC/NVRAM.  Boot ROM is Flash.  PC-AT-sized
153           motherboard.  Requires power supply with 3.3V output.
154
155 config ALPHA_EB64P_CH
156         bool "EB64+"
157
158 config ALPHA_EB66
159         bool "EB66"
160         help
161           A Digital DS group board.  Uses 21066 or 21066A.  I/O sub-system is
162           identical to EB64+.  Baby PC-AT size.  Runs from standard PC power
163           supply.  The EB66 schematic was published as a marketing poster
164           advertising the 21066 as "the first microprocessor in the world with
165           embedded PCI".
166
167 config ALPHA_EB66P
168         bool "EB66+"
169         help
170           Later variant of the EB66 board.
171
172 config ALPHA_EIGER
173         bool "Eiger"
174         help
175           Apparently an obscure OEM single-board computer based on the
176           Typhoon/Tsunami chipset family. Information on it is scanty.
177
178 config ALPHA_JENSEN
179         bool "Jensen"
180         help
181           DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
182           of the first-generation Alpha systems. A number of these systems
183           seem to be available on the second- hand market. The Jensen is a
184           floor-standing tower system which originally used a 150MHz 21064 It
185           used programmable logic to interface a 486 EISA I/O bridge to the
186           CPU.
187
188 config ALPHA_LX164
189         bool "LX164"
190         help
191           A technical overview of this board is available at
192           <http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html>.
193
194 config ALPHA_LYNX
195         bool "Lynx"
196         help
197           AlphaServer 2100A-based systems.
198
199 config ALPHA_MARVEL
200         bool "Marvel"
201         help
202           AlphaServer ES47 / ES80 / GS1280 based on EV7.
203
204 config ALPHA_MIATA
205         bool "Miata"
206         help
207           The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a,
208           or 600au).  There is an Installation HOWTO for this hardware at
209           <http://eijk.homelinux.org/~stefan/miata.html>.
210
211 config ALPHA_MIKASA
212         bool "Mikasa"
213         help
214           AlphaServer 1000-based Alpha systems.
215
216 config ALPHA_NAUTILUS
217         bool "Nautilus"
218         help
219           Alpha systems based on the AMD 751 & ALI 1543C chipsets.
220
221 config ALPHA_NONAME_CH
222         bool "Noname"
223
224 config ALPHA_NORITAKE
225         bool "Noritake"
226         help
227           AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based
228           systems.
229
230 config ALPHA_PC164
231         bool "PC164"
232
233 config ALPHA_P2K
234         bool "Platform2000"
235
236 config ALPHA_RAWHIDE
237         bool "Rawhide"
238         help
239           AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines.
240           See HOWTO at
241           <http://www.alphalinux.org/docs/rawhide/4100_install.shtml>.
242
243 config ALPHA_RUFFIAN
244         bool "Ruffian"
245         help
246           Samsung APC164UX.  There is a page on known problems and workarounds
247           at <http://www.alphalinux.org/faq/FAQ-11.html>.
248
249 config ALPHA_RX164
250         bool "RX164"
251
252 config ALPHA_SX164
253         bool "SX164"
254
255 config ALPHA_SABLE
256         bool "Sable"
257         help
258           Digital AlphaServer 2000 and 2100-based systems.
259
260 config ALPHA_SHARK
261         bool "Shark"
262
263 config ALPHA_TAKARA
264         bool "Takara"
265         help
266           Alpha 11164-based OEM single-board computer.
267
268 config ALPHA_TITAN
269         bool "Titan"
270         help
271           AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset.
272
273 config ALPHA_WILDFIRE
274         bool "Wildfire"
275         help
276           AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
277
278 endchoice
279
280 # clear all implied options (don't want default values for those):
281 # Most of these machines have ISA slots; not exactly sure which don't,
282 # and this doesn't activate hordes of code, so do it always.
283 config ISA
284         bool
285         default y
286         help
287           Find out whether you have ISA slots on your motherboard.  ISA is the
288           name of a bus system, i.e. the way the CPU talks to the other stuff
289           inside your box.  Other bus systems are PCI, EISA, MicroChannel
290           (MCA) or VESA.  ISA is an older system, now being displaced by PCI;
291           newer boards don't support it.  If you have ISA, say Y, otherwise N.
292
293 config ISA_DMA_API
294         bool
295         default y
296
297 config PCI
298         bool
299         depends on !ALPHA_JENSEN
300         default y
301         help
302           Find out whether you have a PCI motherboard. PCI is the name of a
303           bus system, i.e. the way the CPU talks to the other stuff inside
304           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
305           VESA. If you have PCI, say Y, otherwise N.
306
307           The PCI-HOWTO, available from
308           <http://www.tldp.org/docs.html#howto>, contains valuable
309           information about which PCI hardware does work under Linux and which
310           doesn't.
311
312 config PCI_DOMAINS
313         bool
314         default y
315
316 config ALPHA_CORE_AGP
317         bool
318         depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
319         default y
320
321 config ALPHA_NONAME
322         bool
323         depends on ALPHA_BOOK1 || ALPHA_NONAME_CH
324         default y
325         help
326           The AXPpci33 (aka NoName), is based on the EB66 (includes the Multia
327           UDB).  This design was produced by Digital's Technical OEM (TOEM)
328           group. It uses the 21066 processor running at 166MHz or 233MHz. It
329           is a baby-AT size, and runs from a standard PC power supply. It has
330           5 ISA slots and 3 PCI slots (one pair are a shared slot). There are
331           2 versions, with either PS/2 or large DIN connectors for the
332           keyboard.
333
334 config ALPHA_EV4
335         bool
336         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
337         default y if !ALPHA_LYNX
338
339 config ALPHA_LCA
340         bool
341         depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
342         default y
343
344 config ALPHA_APECS
345         bool
346         depends on !ALPHA_PRIMO && (ALPHA_NORITAKE || ALPHA_MIKASA) || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL
347         default y
348
349 config ALPHA_EB64P
350         bool
351         depends on ALPHA_CABRIOLET || ALPHA_EB64P_CH
352         default y
353         help
354           Uses 21064 or 21064A and APECs.  Has ISA and PCI expansion (3 ISA,
355           2 PCI, one pair are on a shared slot). Supports 36-bit DRAM SIMs.
356           ISA bus generated by Intel SaturnI/O PCI-ISA bridge. On-board SCSI
357           (NCR 810 on PCI) Ethernet (Digital 21040), KBD, MOUSE (PS2 style),
358           SuperI/O (2S, 1P, FD), RTC/NVRAM. Boot ROM is EPROM.  PC-AT size.
359           Runs from standard PC power supply.
360
361 config ALPHA_EV5
362         bool "EV5 CPU(s) (model 5/xxx)?" if ALPHA_LYNX
363         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
364
365 config ALPHA_EV4
366         bool
367         default y if ALPHA_LYNX && !ALPHA_EV5
368
369 config ALPHA_CIA
370         bool
371         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
372         default y
373
374 config ALPHA_EV56
375         bool "EV56 CPU (speed >= 366MHz)?" if ALPHA_ALCOR
376         default y if ALPHA_RX164 || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_PC164 || ALPHA_TAKARA
377
378 config ALPHA_EV56
379         prompt "EV56 CPU (speed >= 333MHz)?"
380         depends on ALPHA_NORITAKE && ALPHA_PRIMO
381
382 config ALPHA_EV56
383         prompt "EV56 CPU (speed >= 400MHz)?"
384         depends on ALPHA_RAWHIDE
385
386 config ALPHA_PRIMO
387         bool "EV5 CPU daughtercard (model 5/xxx)?"
388         depends on ALPHA_NORITAKE || ALPHA_MIKASA
389         help
390           Say Y if you have an AS 1000 5/xxx or an AS 1000A 5/xxx.
391
392 config ALPHA_GAMMA
393         bool "EV5 CPU(s) (model 5/xxx)?"
394         depends on ALPHA_SABLE
395         help
396           Say Y if you have an AS 2000 5/xxx or an AS 2100 5/xxx.
397
398 config ALPHA_GAMMA
399         bool
400         depends on ALPHA_LYNX
401         default y
402
403 config ALPHA_T2
404         bool
405         depends on ALPHA_SABLE || ALPHA_LYNX
406         default y
407
408 config ALPHA_PYXIS
409         bool
410         depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
411         default y
412
413 config ALPHA_EV6
414         bool
415         depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL
416         default y
417
418 config ALPHA_TSUNAMI
419         bool
420         depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
421         default y
422
423 config ALPHA_EV67
424         bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER
425         default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
426         help
427           Is this a machine based on the EV67 core?  If in doubt, select N here
428           and the machine will be treated as an EV6.
429
430 config ALPHA_EV7
431         bool
432         depends on ALPHA_MARVEL
433         default y
434
435 config ALPHA_MCPCIA
436         bool
437         depends on ALPHA_RAWHIDE
438         default y
439
440 config ALPHA_POLARIS
441         bool
442         depends on ALPHA_RX164
443         default y
444
445 config ALPHA_IRONGATE
446         bool
447         depends on ALPHA_NAUTILUS
448         default y
449
450 config ALPHA_AVANTI
451         bool
452         depends on ALPHA_XL || ALPHA_AVANTI_CH
453         default y
454         help
455           Avanti AS 200, AS 205, AS 250, AS 255, AS 300, and AS 400-based
456           Alphas. Info at
457           <http://www.unix-ag.org/Linux-Alpha/Architectures/Avanti.html>.
458
459 config ALPHA_BROKEN_IRQ_MASK
460         bool
461         depends on ALPHA_GENERIC || ALPHA_PC164
462         default y
463
464 config ALPHA_SRM
465         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
466         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
467         ---help---
468           There are two different types of booting firmware on Alphas: SRM,
469           which is command line driven, and ARC, which uses menus and arrow
470           keys. Details about the Linux/Alpha booting process are contained in
471           the Linux/Alpha FAQ, accessible on the WWW from
472           <http://www.alphalinux.org/>.
473
474           The usual way to load Linux on an Alpha machine is to use MILO
475           (a bootloader that lets you pass command line parameters to the
476           kernel just like lilo does for the x86 architecture) which can be
477           loaded either from ARC or can be installed directly as a permanent
478           firmware replacement from floppy (which requires changing a certain
479           jumper on the motherboard). If you want to do either of these, say N
480           here. If MILO doesn't work on your system (true for Jensen
481           motherboards), you can bypass it altogether and boot Linux directly
482           from an SRM console; say Y here in order to do that. Note that you
483           won't be able to boot from an IDE disk using SRM.
484
485           If unsure, say N.
486
487 config EISA
488         bool
489         depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE
490         default y
491
492 config ARCH_MAY_HAVE_PC_FDC
493         def_bool y
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           See also the <file:Documentation/smp.txt>, and the SMP-HOWTO
510           available at <http://www.tldp.org/docs.html#howto>.
511
512           If you don't know what to do here, say N.
513
514 config HAVE_DEC_LOCK
515         bool
516         depends on SMP
517         default y
518
519 config NR_CPUS
520         int "Maximum number of CPUs (2-64)"
521         range 2 64
522         depends on SMP
523         default "64"
524
525 config ARCH_DISCONTIGMEM_ENABLE
526         bool "Discontiguous Memory Support (EXPERIMENTAL)"
527         depends on EXPERIMENTAL
528         help
529           Say Y to upport efficient handling of discontiguous physical memory,
530           for architectures which are either NUMA (Non-Uniform Memory Access)
531           or have huge holes in the physical address space for other reasons.
532           See <file:Documentation/vm/numa> for more.
533
534 source "mm/Kconfig"
535
536 config NUMA
537         bool "NUMA Support (EXPERIMENTAL)"
538         depends on DISCONTIGMEM && BROKEN
539         help
540           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
541           Access).  This option is for configuring high-end multiprocessor
542           server machines.  If in doubt, say N.
543
544 # LARGE_VMALLOC is racy, if you *really* need it then fix it first
545 config ALPHA_LARGE_VMALLOC
546         bool
547         ---help---
548           Process creation and other aspects of virtual memory management can
549           be streamlined if we restrict the kernel to one PGD for all vmalloc
550           allocations.  This equates to about 8GB.
551
552           Under normal circumstances, this is so far and above what is needed
553           as to be laughable.  However, there are certain applications (such
554           as benchmark-grade in-kernel web serving) that can make use of as
555           much vmalloc space as is available.
556
557           Say N unless you know you need gobs and gobs of vmalloc space.
558
559 config VERBOSE_MCHECK
560         bool "Verbose Machine Checks"
561
562 config VERBOSE_MCHECK_ON
563         int "Verbose Printing Mode (0=off, 1=on, 2=all)"
564         depends on VERBOSE_MCHECK
565         default 1
566         ---help---
567           This option allows the default printing mode to be set, and then
568           possibly overridden by a boot command argument.
569
570           For example, if one wanted the option of printing verbose
571           machine checks, but wanted the default to be as if verbose
572           machine check printing was turned off, then one would choose
573           the printing mode to be 0. Then, upon reboot, one could add
574           the boot command line "verbose_mcheck=1" to get the normal
575           verbose machine check printing, or "verbose_mcheck=2" to get
576           the maximum information available.
577
578           Take the default (1) unless you want more control or more info.
579
580 source "drivers/pci/Kconfig"
581 source "drivers/eisa/Kconfig"
582
583 source "drivers/pcmcia/Kconfig"
584
585 config SRM_ENV
586         tristate "SRM environment through procfs"
587         depends on PROC_FS
588         ---help---
589           If you enable this option, a subdirectory inside /proc called
590           /proc/srm_environment will give you access to the all important
591           SRM environment variables (those which have a name) and also
592           to all others (by their internal number).
593
594           SRM is something like a BIOS for Alpha machines. There are some
595           other such BIOSes, like AlphaBIOS, which this driver cannot
596           support (hey, that's not SRM!).
597
598           Despite the fact that this driver doesn't work on all Alphas (but
599           only on those which have SRM as their firmware), it's save to
600           build it even if your particular machine doesn't know about SRM
601           (or if you intend to compile a generic kernel). It will simply
602           not create those subdirectory in /proc (and give you some warning,
603           of course).
604
605           This driver is also available as a module and will be called
606           srm_env then.
607
608 source "fs/Kconfig.binfmt"
609
610 endmenu
611
612 source "net/Kconfig"
613
614 source "drivers/Kconfig"
615
616 source "fs/Kconfig"
617
618 source "arch/alpha/oprofile/Kconfig"
619
620 source "arch/alpha/Kconfig.debug"
621
622 source "security/Kconfig"
623
624 source "crypto/Kconfig"
625
626 source "lib/Kconfig"
627