[PATCH] hugetlb: move stale pte check into huge_pte_alloc()
[linux-2.6] / arch / alpha / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
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/>.
13
14 config 64BIT
15         def_bool y
16
17 config MMU
18         bool
19         default y
20
21 config UID16
22         bool
23
24 config RWSEM_GENERIC_SPINLOCK
25         bool
26
27 config RWSEM_XCHGADD_ALGORITHM
28         bool
29         default y
30
31 config GENERIC_CALIBRATE_DELAY
32         bool
33         default y
34
35 config GENERIC_ISA_DMA
36         bool
37         default y
38
39 config GENERIC_IOMAP
40         bool
41         default n
42
43 source "init/Kconfig"
44
45
46 menu "System setup"
47
48 choice
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
92 config ALPHA_GENERIC
93         bool "Generic"
94         help
95           A generic kernel will run on all supported Alpha hardware.
96
97 config 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
107 config ALPHA_XL
108         bool "Alpha-XL"
109         help
110           XL-233 and XL-266-based Alpha systems.
111
112 config ALPHA_BOOK1
113         bool "AlphaBook1"
114         help
115           Dec AlphaBook1/Burns Alpha-based laptops.
116
117 config ALPHA_AVANTI_CH
118         bool "Avanti"
119
120 config 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
128 config 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
135 config 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
145 config ALPHA_EB64P_CH
146         bool "EB64+"
147
148 config 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
157 config ALPHA_EB66P
158         bool "EB66+"
159         help
160           Later variant of the EB66 board.
161
162 config 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
168 config 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
178 config 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
184 config ALPHA_LYNX
185         bool "Lynx"
186         help
187           AlphaServer 2100A-based systems.
188
189 config ALPHA_MARVEL
190         bool "Marvel"
191         help
192           AlphaServer ES47 / ES80 / GS1280 based on EV7.
193
194 config 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
201 config ALPHA_MIKASA
202         bool "Mikasa"
203         help
204           AlphaServer 1000-based Alpha systems.
205
206 config ALPHA_NAUTILUS
207         bool "Nautilus"
208         help
209           Alpha systems based on the AMD 751 & ALI 1543C chipsets.
210
211 config ALPHA_NONAME_CH
212         bool "Noname"
213
214 config ALPHA_NORITAKE
215         bool "Noritake"
216         help
217           AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based
218           systems.
219
220 config ALPHA_PC164
221         bool "PC164"
222
223 config ALPHA_P2K
224         bool "Platform2000"
225
226 config 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
233 config 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
239 config ALPHA_RX164
240         bool "RX164"
241
242 config ALPHA_SX164
243         bool "SX164"
244
245 config ALPHA_SABLE
246         bool "Sable"
247         help
248           Digital AlphaServer 2000 and 2100-based systems.
249
250 config ALPHA_SHARK
251         bool "Shark"
252
253 config ALPHA_TAKARA
254         bool "Takara"
255         help
256           Alpha 11164-based OEM single-board computer.
257
258 config ALPHA_TITAN
259         bool "Titan"
260         help
261           AlphaServer ES45/DS25 SMP based on EV68 and Titan chipset.
262
263 config ALPHA_WILDFIRE
264         bool "Wildfire"
265         help
266           AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
267
268 endchoice
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.
273 config 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
283 config ISA_DMA_API
284         bool
285         default y
286
287 config 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
302 config PCI_DOMAINS
303         bool
304         default y
305
306 config ALPHA_CORE_AGP
307         bool
308         depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
309         default y
310
311 config 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
324 config 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
329 config ALPHA_LCA
330         bool
331         depends on ALPHA_NONAME || ALPHA_EB66 || ALPHA_EB66P || ALPHA_P2K
332         default y
333
334 config 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
339 config 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
351 config 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
355 config ALPHA_EV4
356         bool
357         default y if ALPHA_LYNX && !ALPHA_EV5
358
359 config 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
364 config 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
368 config ALPHA_EV56
369         prompt "EV56 CPU (speed >= 333MHz)?"
370         depends on ALPHA_NORITAKE && ALPHA_PRIMO
371
372 config ALPHA_EV56
373         prompt "EV56 CPU (speed >= 400MHz)?"
374         depends on ALPHA_RAWHIDE
375
376 config 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
382 config 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
388 config ALPHA_GAMMA
389         bool
390         depends on ALPHA_LYNX
391         default y
392
393 config ALPHA_T2
394         bool
395         depends on ALPHA_SABLE || ALPHA_LYNX
396         default y
397
398 config ALPHA_PYXIS
399         bool
400         depends on ALPHA_MIATA || ALPHA_LX164 || ALPHA_SX164 || ALPHA_RUFFIAN
401         default y
402
403 config 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
408 config ALPHA_TSUNAMI
409         bool
410         depends on ALPHA_SHARK || ALPHA_DP264 || ALPHA_EIGER
411         default y
412
413 config 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
420 config ALPHA_EV7
421         bool
422         depends on ALPHA_MARVEL
423         default y
424
425 config ALPHA_MCPCIA
426         bool
427         depends on ALPHA_RAWHIDE
428         default y
429
430 config ALPHA_POLARIS
431         bool
432         depends on ALPHA_RX164
433         default y
434
435 config ALPHA_IRONGATE
436         bool
437         depends on ALPHA_NAUTILUS
438         default y
439
440 config 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
449 config ALPHA_BROKEN_IRQ_MASK
450         bool
451         depends on ALPHA_GENERIC || ALPHA_PC164
452         default y
453
454 config 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
477 config 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
482 config 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
501 config HAVE_DEC_LOCK
502         bool
503         depends on SMP
504         default y
505
506 config NR_CPUS
507         int "Maximum number of CPUs (2-64)"
508         range 2 64
509         depends on SMP
510         default "64"
511
512 config 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
521 source "mm/Kconfig"
522
523 config NUMA
524         bool "NUMA Support (EXPERIMENTAL)"
525         depends on DISCONTIGMEM && BROKEN
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
532 config 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
546 config VERBOSE_MCHECK
547         bool "Verbose Machine Checks"
548
549 config 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
567 source "drivers/pci/Kconfig"
568 source "drivers/eisa/Kconfig"
569
570 source "drivers/pcmcia/Kconfig"
571
572 config 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
595 source "fs/Kconfig.binfmt"
596
597 endmenu
598
599 source "net/Kconfig"
600
601 source "drivers/Kconfig"
602
603 source "fs/Kconfig"
604
605 source "arch/alpha/oprofile/Kconfig"
606
607 source "arch/alpha/Kconfig.debug"
608
609 source "security/Kconfig"
610
611 source "crypto/Kconfig"
612
613 source "lib/Kconfig"
614