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