2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
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/>.
24 config RWSEM_GENERIC_SPINLOCK
27 config RWSEM_XCHGADD_ALGORITHM
31 config GENERIC_ISA_DMA
41 prompt "Alpha system type"
44 This is the system type of your hardware. A "generic" kernel will
45 run on any supported Alpha system. However, if you configure a
46 kernel for your specific system, it will be faster and smaller.
48 To find out what type of Alpha system you have, you may want to
49 check out the Linux/Alpha FAQ, accessible on the WWW from
50 <http://www.alphalinux.org/>. In summary:
52 Alcor/Alpha-XLT AS 600
53 Alpha-XL XL-233, XL-266
54 AlphaBook1 Alpha laptop
55 Avanti AS 200, AS 205, AS 250, AS 255, AS 300, AS 400
56 Cabriolet AlphaPC64, AlphaPCI64
58 EB164 EB164 21164 evaluation board
59 EB64+ EB64+ 21064 evaluation board
60 EB66 EB66 21066 evaluation board
61 EB66+ EB66+ 21066 evaluation board
62 Jensen DECpc 150, DEC 2000 model 300,
66 Miata Personal Workstation 433a, 433au, 500a,
68 Marvel AlphaServer ES47 / ES80 / GS1280
70 Noname AXPpci33, UDB (Multia)
71 Noritake AS 1000A, AS 600A, AS 800
73 Rawhide AS 1200, AS 4000, AS 4100
74 Ruffian RPX164-2, AlphaPC164-UX, AlphaPC164-BX
76 Sable AS 2000, AS 2100
79 Titan AlphaServer ES45 / DS25
80 Wildfire AlphaServer GS 40/80/160/320
82 If you don't know what to do, choose "generic".
87 A generic kernel will run on all supported Alpha hardware.
90 bool "Alcor/Alpha-XLT"
92 For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data
93 slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O
94 Address, CIA) - a 383 pin plastic PGA). It provides a DRAM
95 controller (256-bit memory bus) and a PCI interface. It also does
96 all the work required to support an external Bcache and to maintain
97 memory coherence when a PCI device DMAs into (or out of) memory.
102 XL-233 and XL-266-based Alpha systems.
107 Dec AlphaBook1/Burns Alpha-based laptops.
109 config ALPHA_AVANTI_CH
112 config ALPHA_CABRIOLET
115 Cabriolet AlphaPC64, AlphaPCI64 systems. Derived from EB64+ but now
116 baby-AT with Flash boot ROM, no on-board SCSI or Ethernet. 3 ISA
117 slots, 4 PCI slots (one pair are on a shared slot), uses plug-in
118 Bcache SIMMs. Requires power supply with 3.3V output.
123 Various 21264 systems with the tsunami core logic chipset.
124 API Networks: 264DP, UP2000(+), CS20;
125 Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40.
130 EB164 21164 evaluation board from DEC. Uses 21164 and ALCOR. Has
131 ISA and PCI expansion (3 ISA slots, 2 64-bit PCI slots (one is
132 shared with an ISA slot) and 2 32-bit PCI slots. Uses plus-in
133 Bcache SIMMs. I/O sub-system provides SuperI/O (2S, 1P, FD), KBD,
134 MOUSE (PS2 style), RTC/NVRAM. Boot ROM is Flash. PC-AT-sized
135 motherboard. Requires power supply with 3.3V output.
137 config ALPHA_EB64P_CH
143 A Digital DS group board. Uses 21066 or 21066A. I/O sub-system is
144 identical to EB64+. Baby PC-AT size. Runs from standard PC power
145 supply. The EB66 schematic was published as a marketing poster
146 advertising the 21066 as "the first microprocessor in the world with
152 Later variant of the EB66 board.
157 Apparently an obscure OEM single-board computer based on the
158 Typhoon/Tsunami chipset family. Information on it is scanty.
163 DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
164 of the first-generation Alpha systems. A number of these systems
165 seem to be available on the second- hand market. The Jensen is a
166 floor-standing tower system which originally used a 150MHz 21064 It
167 used programmable logic to interface a 486 EISA I/O bridge to the
173 A technical overview of this board is available at
174 <http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html>.
179 AlphaServer 2100A-based systems.
184 AlphaServer ES47 / ES80 / GS1280 based on EV7.
189 The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a,
190 or 600au). There is an Installation HOWTO for this hardware at
191 <http://eijk.homelinux.org/~stefan/miata.html>.
196 AlphaServer 1000-based Alpha systems.
198 config ALPHA_NAUTILUS
201 Alpha systems based on the AMD 751 & ALI 1543C chipsets.
203 config ALPHA_NONAME_CH
206 config ALPHA_NORITAKE
209 AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based
221 AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines.
223 <http://www.alphalinux.org/docs/rawhide/4100_install.shtml>.
228 Samsung APC164UX. There is a page on known problems and workarounds
229 at <http://www.alphalinux.org/faq/FAQ-11.html>.
240 Digital AlphaServer 2000 and 2100-based systems.
248 Alpha 11164-based OEM single-board computer.
253 AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset.
255 config ALPHA_WILDFIRE
258 AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
262 # clear all implied options (don't want default values for those):
263 # Most of these machines have ISA slots; not exactly sure which don't,
264 # and this doesn't activate hordes of code, so do it always.
269 Find out whether you have ISA slots on your motherboard. ISA is the
270 name of a bus system, i.e. the way the CPU talks to the other stuff
271 inside your box. Other bus systems are PCI, EISA, MicroChannel
272 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
273 newer boards don't support it. If you have ISA, say Y, otherwise N.
277 depends on !ALPHA_JENSEN
280 Find out whether you have a PCI motherboard. PCI is the name of a
281 bus system, i.e. the way the CPU talks to the other stuff inside
282 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
283 VESA. If you have PCI, say Y, otherwise N.
285 The PCI-HOWTO, available from
286 <http://www.tldp.org/docs.html#howto>, contains valuable
287 information about which PCI hardware does work under Linux and which
294 config ALPHA_CORE_AGP
296 depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
301 depends on ALPHA_BOOK1 || ALPHA_NONAME_CH
304 The AXPpci33 (aka NoName), is based on the EB66 (includes the Multia
305 UDB). This design was produced by Digital's Technical OEM (TOEM)
306 group. It uses the 21066 processor running at 166MHz or 233MHz. It
307 is a baby-AT size, and runs from a standard PC power supply. It has
308 5 ISA slots and 3 PCI slots (one pair are a shared slot). There are
309 2 versions, with either PS/2 or large DIN connectors for the
314 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
315 default y if !ALPHA_LYNX
319 depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
324 depends on !ALPHA_PRIMO && (ALPHA_NORITAKE || ALPHA_MIKASA) || ALPHA_CABRIOLET || ALPHA_AVANTI_CH || ALPHA_EB64P_CH || ALPHA_XL
329 depends on ALPHA_CABRIOLET || ALPHA_EB64P_CH
332 Uses 21064 or 21064A and APECs. Has ISA and PCI expansion (3 ISA,
333 2 PCI, one pair are on a shared slot). Supports 36-bit DRAM SIMs.
334 ISA bus generated by Intel SaturnI/O PCI-ISA bridge. On-board SCSI
335 (NCR 810 on PCI) Ethernet (Digital 21040), KBD, MOUSE (PS2 style),
336 SuperI/O (2S, 1P, FD), RTC/NVRAM. Boot ROM is EPROM. PC-AT size.
337 Runs from standard PC power supply.
340 bool "EV5 CPU(s) (model 5/xxx)?" if ALPHA_LYNX
341 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
345 default y if ALPHA_LYNX && !ALPHA_EV5
349 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
353 bool "EV56 CPU (speed >= 366MHz)?" if ALPHA_ALCOR
354 default y if ALPHA_RX164 || ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN || ALPHA_PC164 || ALPHA_TAKARA
357 prompt "EV56 CPU (speed >= 333MHz)?"
358 depends on ALPHA_NORITAKE && ALPHA_PRIMO
361 prompt "EV56 CPU (speed >= 400MHz)?"
362 depends on ALPHA_RAWHIDE
365 bool "EV5 CPU daughtercard (model 5/xxx)?"
366 depends on ALPHA_NORITAKE || ALPHA_MIKASA
368 Say Y if you have an AS 1000 5/xxx or an AS 1000A 5/xxx.
371 bool "EV5 CPU(s) (model 5/xxx)?"
372 depends on ALPHA_SABLE
374 Say Y if you have an AS 2000 5/xxx or an AS 2100 5/xxx.
378 depends on ALPHA_LYNX
383 depends on ALPHA_SABLE || ALPHA_LYNX
388 depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
393 depends on ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER || ALPHA_MARVEL
398 depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
402 bool "EV67 (or later) CPU (speed > 600MHz)?" if ALPHA_DP264 || ALPHA_EIGER
403 default y if ALPHA_NAUTILUS || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_SHARK || ALPHA_MARVEL
405 Is this a machine based on the EV67 core? If in doubt, select N here
406 and the machine will be treated as an EV6.
410 depends on ALPHA_MARVEL
415 depends on ALPHA_RAWHIDE
420 depends on ALPHA_RX164
423 config ALPHA_IRONGATE
425 depends on ALPHA_NAUTILUS
430 depends on ALPHA_XL || ALPHA_AVANTI_CH
433 Avanti AS 200, AS 205, AS 250, AS 255, AS 300, and AS 400-based
435 <http://www.unix-ag.org/Linux-Alpha/Architectures/Avanti.html>.
437 config ALPHA_BROKEN_IRQ_MASK
439 depends on ALPHA_GENERIC || ALPHA_PC164
443 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
444 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
446 There are two different types of booting firmware on Alphas: SRM,
447 which is command line driven, and ARC, which uses menus and arrow
448 keys. Details about the Linux/Alpha booting process are contained in
449 the Linux/Alpha FAQ, accessible on the WWW from
450 <http://www.alphalinux.org/>.
452 The usual way to load Linux on an Alpha machine is to use MILO
453 (a bootloader that lets you pass command line parameters to the
454 kernel just like lilo does for the x86 architecture) which can be
455 loaded either from ARC or can be installed directly as a permanent
456 firmware replacement from floppy (which requires changing a certain
457 jumper on the motherboard). If you want to do either of these, say N
458 here. If MILO doesn't work on your system (true for Jensen
459 motherboards), you can bypass it altogether and boot Linux directly
460 from an SRM console; say Y here in order to do that. Note that you
461 won't be able to boot from an IDE disk using SRM.
467 depends on ALPHA_GENERIC || ALPHA_SRM
472 depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE
476 bool "Symmetric multi-processing support"
477 depends on ALPHA_SABLE || ALPHA_LYNX || ALPHA_RAWHIDE || ALPHA_DP264 || ALPHA_WILDFIRE || ALPHA_TITAN || ALPHA_GENERIC || ALPHA_SHARK || ALPHA_MARVEL
479 This enables support for systems with more than one CPU. If you have
480 a system with only one CPU, like most personal computers, say N. If
481 you have a system with more than one CPU, say Y.
483 If you say N here, the kernel will run on single and multiprocessor
484 machines, but will use only one CPU of a multiprocessor machine. If
485 you say Y here, the kernel will run on many, but not all,
486 singleprocessor machines. On a singleprocessor machine, the kernel
487 will run faster if you say N here.
489 See also the <file:Documentation/smp.tex>, and the SMP-HOWTO
490 available at <http://www.tldp.org/docs.html#howto>.
492 If you don't know what to do here, say N.
500 int "Maximum number of CPUs (2-64)"
506 bool "Discontiguous Memory Support (EXPERIMENTAL)"
507 depends on EXPERIMENTAL
509 Say Y to upport efficient handling of discontiguous physical memory,
510 for architectures which are either NUMA (Non-Uniform Memory Access)
511 or have huge holes in the physical address space for other reasons.
512 See <file:Documentation/vm/numa> for more.
515 bool "NUMA Support (EXPERIMENTAL)"
516 depends on DISCONTIGMEM
518 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
519 Access). This option is for configuring high-end multiprocessor
520 server machines. If in doubt, say N.
522 # LARGE_VMALLOC is racy, if you *really* need it then fix it first
523 config ALPHA_LARGE_VMALLOC
526 Process creation and other aspects of virtual memory management can
527 be streamlined if we restrict the kernel to one PGD for all vmalloc
528 allocations. This equates to about 8GB.
530 Under normal circumstances, this is so far and above what is needed
531 as to be laughable. However, there are certain applications (such
532 as benchmark-grade in-kernel web serving) that can make use of as
533 much vmalloc space as is available.
535 Say N unless you know you need gobs and gobs of vmalloc space.
537 config VERBOSE_MCHECK
538 bool "Verbose Machine Checks"
540 config VERBOSE_MCHECK_ON
541 int "Verbose Printing Mode (0=off, 1=on, 2=all)"
542 depends on VERBOSE_MCHECK
545 This option allows the default printing mode to be set, and then
546 possibly overridden by a boot command argument.
548 For example, if one wanted the option of printing verbose
549 machine checks, but wanted the default to be as if verbose
550 machine check printing was turned off, then one would choose
551 the printing mode to be 0. Then, upon reboot, one could add
552 the boot command line "verbose_mcheck=1" to get the normal
553 verbose machine check printing, or "verbose_mcheck=2" to get
554 the maximum information available.
556 Take the default (1) unless you want more control or more info.
558 source "drivers/pci/Kconfig"
559 source "drivers/eisa/Kconfig"
561 source "drivers/pcmcia/Kconfig"
564 tristate "SRM environment through procfs"
567 If you enable this option, a subdirectory inside /proc called
568 /proc/srm_environment will give you access to the all important
569 SRM environment variables (those which have a name) and also
570 to all others (by their internal number).
572 SRM is something like a BIOS for Alpha machines. There are some
573 other such BIOSes, like AlphaBIOS, which this driver cannot
574 support (hey, that's not SRM!).
576 Despite the fact that this driver doesn't work on all Alphas (but
577 only on those which have SRM as their firmware), it's save to
578 build it even if your particular machine doesn't know about SRM
579 (or if you intend to compile a generic kernel). It will simply
580 not create those subdirectory in /proc (and give you some warning,
583 This driver is also available as a module and will be called
586 source "fs/Kconfig.binfmt"
590 source "drivers/Kconfig"
594 source "arch/alpha/oprofile/Kconfig"
596 menu "Kernel hacking"
598 config ALPHA_LEGACY_START_ADDRESS
599 bool "Legacy kernel start address"
600 depends on ALPHA_GENERIC
603 The 2.4 kernel changed the kernel start address from 0x310000
604 to 0x810000 to make room for the Wildfire's larger SRM console.
605 Recent consoles on Titan and Marvel machines also require the
608 If you're using aboot 0.7 or later, the bootloader will examine the
609 ELF headers to determine where to transfer control. Unfortunately,
610 most older bootloaders -- APB or MILO -- hardcoded the kernel start
611 address rather than examining the ELF headers, and the result is a
614 Say Y if you have a broken bootloader. Say N if you do not, or if
615 you wish to run on Wildfire, Titan, or Marvel.
617 config ALPHA_LEGACY_START_ADDRESS
619 depends on !ALPHA_GENERIC && !ALPHA_TITAN && !ALPHA_MARVEL && !ALPHA_WILDFIRE
623 bool "Kernel debugging"
625 Say Y here if you are developing drivers or trying to debug and
626 identify kernel problems.
629 tristate "Kernel FP software completion" if DEBUG_KERNEL && !SMP
630 default y if !DEBUG_KERNEL || SMP
632 This option is required for IEEE compliant floating point arithmetic
633 on the Alpha. The only time you would ever not say Y is to say M in
634 order to debug the code. Say Y unless you know what you are doing.
637 bool "Debug memory allocations"
638 depends on DEBUG_KERNEL
640 Say Y here to have the kernel do limited verification on memory
641 allocation as well as poisoning memory on free to catch use of freed
645 bool "Magic SysRq key"
646 depends on DEBUG_KERNEL
648 If you say Y here, you will have some control over the system even
649 if the system crashes for example during kernel debugging (e.g., you
650 will be able to flush the buffer cache to disk, reboot the system
651 immediately or dump some status information). This is accomplished
652 by pressing various keys while holding SysRq (Alt+PrintScreen). It
653 also works on a serial console (on PC hardware at least), if you
654 send a BREAK and then within 5 seconds a command keypress. The
655 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
656 unless you really know what this hack does.
658 config DEBUG_SPINLOCK
659 bool "Spinlock debugging"
660 depends on DEBUG_KERNEL
662 Say Y here and build SMP to catch missing spinlock initialization
663 and certain other kinds of spinlock errors commonly made. This is
664 best used in conjunction with the NMI watchdog so that spinlock
665 deadlocks are also debuggable.
668 bool "Read-write spinlock debugging"
669 depends on DEBUG_KERNEL
671 If you say Y here then read-write lock processing will count how many
672 times it has tried to get the lock and issue an error message after
673 too many attempts. If you suspect a rwlock problem or a kernel
674 hacker asks for this option then say Y. Otherwise say N.
676 config DEBUG_SEMAPHORE
677 bool "Semaphore debugging"
678 depends on DEBUG_KERNEL
680 If you say Y here then semaphore processing will issue lots of
681 verbose debugging messages. If you suspect a semaphore problem or a
682 kernel hacker asks for this option then say Y. Otherwise say N.
685 bool "Compile the kernel with debug info"
686 depends on DEBUG_KERNEL
688 If you say Y here the resulting kernel image will include
689 debugging info resulting in a larger kernel image.
690 Say Y here only if you plan to use gdb to debug the kernel.
691 If you don't debug the kernel, you can say N.
695 source "kernel/vserver/Kconfig"
697 source "security/Kconfig"
699 source "crypto/Kconfig"