xref: /openbmc/linux/arch/alpha/Kconfig (revision 87c2ce3b)
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 RWSEM_GENERIC_SPINLOCK
22	bool
23
24config RWSEM_XCHGADD_ALGORITHM
25	bool
26	default y
27
28config GENERIC_CALIBRATE_DELAY
29	bool
30	default y
31
32config GENERIC_ISA_DMA
33	bool
34	default y
35
36config GENERIC_IOMAP
37	bool
38	default n
39
40config GENERIC_HARDIRQS
41	bool
42	default y
43
44config GENERIC_IRQ_PROBE
45	bool
46	default y
47
48config AUTO_IRQ_AFFINITY
49	bool
50	depends on SMP
51	default y
52
53source "init/Kconfig"
54
55
56menu "System setup"
57
58choice
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
102config ALPHA_GENERIC
103	bool "Generic"
104	help
105	  A generic kernel will run on all supported Alpha hardware.
106
107config 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
117config ALPHA_XL
118	bool "Alpha-XL"
119	help
120	  XL-233 and XL-266-based Alpha systems.
121
122config ALPHA_BOOK1
123	bool "AlphaBook1"
124	help
125	  Dec AlphaBook1/Burns Alpha-based laptops.
126
127config ALPHA_AVANTI_CH
128	bool "Avanti"
129
130config 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
138config 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
145config 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
155config ALPHA_EB64P_CH
156	bool "EB64+"
157
158config 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
167config ALPHA_EB66P
168	bool "EB66+"
169	help
170	  Later variant of the EB66 board.
171
172config 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
178config 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
188config 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
194config ALPHA_LYNX
195	bool "Lynx"
196	help
197	  AlphaServer 2100A-based systems.
198
199config ALPHA_MARVEL
200	bool "Marvel"
201	help
202	  AlphaServer ES47 / ES80 / GS1280 based on EV7.
203
204config 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
211config ALPHA_MIKASA
212	bool "Mikasa"
213	help
214	  AlphaServer 1000-based Alpha systems.
215
216config ALPHA_NAUTILUS
217	bool "Nautilus"
218	help
219	  Alpha systems based on the AMD 751 & ALI 1543C chipsets.
220
221config ALPHA_NONAME_CH
222	bool "Noname"
223
224config ALPHA_NORITAKE
225	bool "Noritake"
226	help
227	  AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based
228	  systems.
229
230config ALPHA_PC164
231	bool "PC164"
232
233config ALPHA_P2K
234	bool "Platform2000"
235
236config 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
243config 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
249config ALPHA_RX164
250	bool "RX164"
251
252config ALPHA_SX164
253	bool "SX164"
254
255config ALPHA_SABLE
256	bool "Sable"
257	help
258	  Digital AlphaServer 2000 and 2100-based systems.
259
260config ALPHA_SHARK
261	bool "Shark"
262
263config ALPHA_TAKARA
264	bool "Takara"
265	help
266	  Alpha 11164-based OEM single-board computer.
267
268config ALPHA_TITAN
269	bool "Titan"
270	help
271	  AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset.
272
273config ALPHA_WILDFIRE
274	bool "Wildfire"
275	help
276	  AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
277
278endchoice
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.
283config 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
293config ISA_DMA_API
294	bool
295	default y
296
297config 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
312config PCI_DOMAINS
313	bool
314	default y
315
316config ALPHA_CORE_AGP
317	bool
318	depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
319	default y
320
321config 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
334config 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
339config ALPHA_LCA
340	bool
341	depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
342	default y
343
344config 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
349config 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
361config 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
365config ALPHA_EV4
366	bool
367	default y if ALPHA_LYNX && !ALPHA_EV5
368
369config 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
374config 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
378config ALPHA_EV56
379	prompt "EV56 CPU (speed >= 333MHz)?"
380	depends on ALPHA_NORITAKE && ALPHA_PRIMO
381
382config ALPHA_EV56
383	prompt "EV56 CPU (speed >= 400MHz)?"
384	depends on ALPHA_RAWHIDE
385
386config 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
392config 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
398config ALPHA_GAMMA
399	bool
400	depends on ALPHA_LYNX
401	default y
402
403config ALPHA_T2
404	bool
405	depends on ALPHA_SABLE || ALPHA_LYNX
406	default y
407
408config ALPHA_PYXIS
409	bool
410	depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
411	default y
412
413config 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
418config ALPHA_TSUNAMI
419	bool
420	depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
421	default y
422
423config 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
430config ALPHA_EV7
431	bool
432	depends on ALPHA_MARVEL
433	default y
434
435config ALPHA_MCPCIA
436	bool
437	depends on ALPHA_RAWHIDE
438	default y
439
440config ALPHA_POLARIS
441	bool
442	depends on ALPHA_RX164
443	default y
444
445config ALPHA_IRONGATE
446	bool
447	depends on ALPHA_NAUTILUS
448	default y
449
450config 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
459config ALPHA_BROKEN_IRQ_MASK
460	bool
461	depends on ALPHA_GENERIC || ALPHA_PC164
462	default y
463
464config 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
487config 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
492config ARCH_MAY_HAVE_PC_FDC
493	def_bool y
494
495config 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
514config HAVE_DEC_LOCK
515	bool
516	depends on SMP
517	default y
518
519config NR_CPUS
520	int "Maximum number of CPUs (2-64)"
521	range 2 64
522	depends on SMP
523	default "64"
524
525config 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
534source "mm/Kconfig"
535
536config 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
545config 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
559config VERBOSE_MCHECK
560	bool "Verbose Machine Checks"
561
562config 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
580source "drivers/pci/Kconfig"
581source "drivers/eisa/Kconfig"
582
583source "drivers/pcmcia/Kconfig"
584
585config 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
608source "fs/Kconfig.binfmt"
609
610endmenu
611
612source "net/Kconfig"
613
614source "drivers/Kconfig"
615
616source "fs/Kconfig"
617
618source "arch/alpha/oprofile/Kconfig"
619
620source "arch/alpha/Kconfig.debug"
621
622source "security/Kconfig"
623
624source "crypto/Kconfig"
625
626source "lib/Kconfig"
627
628