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