xref: /openbmc/linux/arch/alpha/Kconfig (revision 1da177e4)
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 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
298config PCI_DOMAINS
299	bool
300	default y
301
302config ALPHA_CORE_AGP
303	bool
304	depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
305	default y
306
307config 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
320config 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
325config ALPHA_LCA
326	bool
327	depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
328	default y
329
330config 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
335config 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
347config 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
351config ALPHA_EV4
352	bool
353	default y if ALPHA_LYNX && !ALPHA_EV5
354
355config 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
360config 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
364config ALPHA_EV56
365	prompt "EV56 CPU (speed >= 333MHz)?"
366	depends on ALPHA_NORITAKE && ALPHA_PRIMO
367
368config ALPHA_EV56
369	prompt "EV56 CPU (speed >= 400MHz)?"
370	depends on ALPHA_RAWHIDE
371
372config 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
378config 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
384config ALPHA_GAMMA
385	bool
386	depends on ALPHA_LYNX
387	default y
388
389config ALPHA_T2
390	bool
391	depends on ALPHA_SABLE || ALPHA_LYNX
392	default y
393
394config ALPHA_PYXIS
395	bool
396	depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
397	default y
398
399config 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
404config ALPHA_TSUNAMI
405	bool
406	depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
407	default y
408
409config 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
416config ALPHA_EV7
417	bool
418	depends on ALPHA_MARVEL
419	default y
420
421config ALPHA_MCPCIA
422	bool
423	depends on ALPHA_RAWHIDE
424	default y
425
426config ALPHA_POLARIS
427	bool
428	depends on ALPHA_RX164
429	default y
430
431config ALPHA_IRONGATE
432	bool
433	depends on ALPHA_NAUTILUS
434	default y
435
436config 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
445config ALPHA_BROKEN_IRQ_MASK
446	bool
447	depends on ALPHA_GENERIC || ALPHA_PC164
448	default y
449
450config 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
473config EISA
474	bool
475	depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE
476	default y
477
478config SMP
479	bool "Symmetric multi-processing support"
480	depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL
481	---help---
482	  This enables support for systems with more than one CPU. If you have
483	  a system with only one CPU, like most personal computers, say N. If
484	  you have a system with more than one CPU, say Y.
485
486	  If you say N here, the kernel will run on single and multiprocessor
487	  machines, but will use only one CPU of a multiprocessor machine. If
488	  you say Y here, the kernel will run on many, but not all,
489	  singleprocessor machines. On a singleprocessor machine, the kernel
490	  will run faster if you say N here.
491
492	  See also the <file:Documentation/smp.txt>, and the SMP-HOWTO
493	  available at <http://www.tldp.org/docs.html#howto>.
494
495	  If you don't know what to do here, say N.
496
497config HAVE_DEC_LOCK
498	bool
499	depends on SMP
500	default y
501
502config NR_CPUS
503	int "Maximum number of CPUs (2-64)"
504	range 2 64
505	depends on SMP
506	default "64"
507
508config DISCONTIGMEM
509	bool "Discontiguous Memory Support (EXPERIMENTAL)"
510	depends on EXPERIMENTAL
511	help
512	  Say Y to upport efficient handling of discontiguous physical memory,
513	  for architectures which are either NUMA (Non-Uniform Memory Access)
514	  or have huge holes in the physical address space for other reasons.
515	  See <file:Documentation/vm/numa> for more.
516
517config NUMA
518	bool "NUMA Support (EXPERIMENTAL)"
519	depends on DISCONTIGMEM
520	help
521	  Say Y to compile the kernel to support NUMA (Non-Uniform Memory
522	  Access).  This option is for configuring high-end multiprocessor
523	  server machines.  If in doubt, say N.
524
525# LARGE_VMALLOC is racy, if you *really* need it then fix it first
526config ALPHA_LARGE_VMALLOC
527	bool
528	---help---
529	  Process creation and other aspects of virtual memory management can
530	  be streamlined if we restrict the kernel to one PGD for all vmalloc
531	  allocations.  This equates to about 8GB.
532
533	  Under normal circumstances, this is so far and above what is needed
534	  as to be laughable.  However, there are certain applications (such
535	  as benchmark-grade in-kernel web serving) that can make use of as
536	  much vmalloc space as is available.
537
538	  Say N unless you know you need gobs and gobs of vmalloc space.
539
540config VERBOSE_MCHECK
541	bool "Verbose Machine Checks"
542
543config VERBOSE_MCHECK_ON
544	int "Verbose Printing Mode (0=off, 1=on, 2=all)"
545	depends on VERBOSE_MCHECK
546	default 1
547	---help---
548	  This option allows the default printing mode to be set, and then
549	  possibly overridden by a boot command argument.
550
551	  For example, if one wanted the option of printing verbose
552	  machine checks, but wanted the default to be as if verbose
553	  machine check printing was turned off, then one would choose
554	  the printing mode to be 0. Then, upon reboot, one could add
555	  the boot command line "verbose_mcheck=1" to get the normal
556	  verbose machine check printing, or "verbose_mcheck=2" to get
557	  the maximum information available.
558
559	  Take the default (1) unless you want more control or more info.
560
561source "drivers/pci/Kconfig"
562source "drivers/eisa/Kconfig"
563
564source "drivers/pcmcia/Kconfig"
565
566config SRM_ENV
567	tristate "SRM environment through procfs"
568	depends on PROC_FS
569	---help---
570	  If you enable this option, a subdirectory inside /proc called
571	  /proc/srm_environment will give you access to the all important
572	  SRM environment variables (those which have a name) and also
573	  to all others (by their internal number).
574
575	  SRM is something like a BIOS for Alpha machines. There are some
576	  other such BIOSes, like AlphaBIOS, which this driver cannot
577	  support (hey, that's not SRM!).
578
579	  Despite the fact that this driver doesn't work on all Alphas (but
580	  only on those which have SRM as their firmware), it's save to
581	  build it even if your particular machine doesn't know about SRM
582	  (or if you intend to compile a generic kernel). It will simply
583	  not create those subdirectory in /proc (and give you some warning,
584	  of course).
585
586	  This driver is also available as a module and will be called
587	  srm_env then.
588
589source "fs/Kconfig.binfmt"
590
591endmenu
592
593source "drivers/Kconfig"
594
595source "fs/Kconfig"
596
597source "arch/alpha/oprofile/Kconfig"
598
599source "arch/alpha/Kconfig.debug"
600
601source "security/Kconfig"
602
603source "crypto/Kconfig"
604
605source "lib/Kconfig"
606
607