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