Merge to Fedora kernel-2.6.7-1.441
[linux-2.6.git] / arch / ia64 / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "IA-64 Linux Kernel Configuration"
7
8 source "init/Kconfig"
9
10 menu "Processor type and features"
11
12 config IA64
13         bool
14         default y
15         help
16           The Itanium Processor Family is Intel's 64-bit successor to
17           the 32-bit X86 line.  The IA-64 Linux project has a home
18           page at <http://www.linuxia64.org/> and a mailing list at
19           <linux-ia64@vger.kernel.org>.
20
21 config 64BIT
22         bool
23         default y
24
25 config MMU
26         bool
27         default y
28
29 config RWSEM_XCHGADD_ALGORITHM
30         bool
31         default y
32
33 config TIME_INTERPOLATION
34         bool
35         default y
36
37 config EFI
38         bool
39         default y
40
41 choice
42         prompt "System type"
43         default IA64_GENERIC
44
45 config IA64_GENERIC
46         bool "generic"
47         select VIRTUAL_MEM_MAP
48         help
49           This selects the system type of your hardware.  A "generic" kernel
50           will run on any supported IA-64 system.  However, if you configure
51           a kernel for your specific system, it will be faster and smaller.
52
53           generic        For any supported IA-64 system
54           DIG-compliant  For DIG ("Developer's Interface Guide") compliant systems
55           HP-zx1/sx1000  For HP systems
56           SGI-SN2        For SGI Altix systems
57           Ski-simulator  For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
58
59           If you don't know what to do, choose "generic".
60
61 config IA64_DIG
62         bool "DIG-compliant"
63
64 config IA64_HP_ZX1
65         bool "HP-zx1/sx1000"
66         help
67           Build a kernel that runs on HP zx1 and sx1000 systems.  This adds
68           support for the HP I/O MMU.
69
70 config IA64_SGI_SN2
71         bool "SGI-SN2"
72
73 config IA64_HP_SIM
74         bool "Ski-simulator"
75
76 endchoice
77
78 choice
79         prompt "Processor type"
80         default ITANIUM
81
82 config ITANIUM
83         bool "Itanium"
84         help
85           Select your IA-64 processor type.  The default is Itanium.
86           This choice is safe for all IA-64 systems, but may not perform
87           optimally on systems with, say, Itanium 2 or newer processors.
88
89 config MCKINLEY
90         bool "Itanium 2"
91         help
92           Select this to configure for an Itanium 2 (McKinley) processor.
93
94 endchoice
95
96 choice
97         prompt "Kernel page size"
98         default IA64_PAGE_SIZE_16KB
99
100 config IA64_PAGE_SIZE_4KB
101         bool "4KB"
102         help
103           This lets you select the page size of the kernel.  For best IA-64
104           performance, a page size of 8KB or 16KB is recommended.  For best
105           IA-32 compatibility, a page size of 4KB should be selected (the vast
106           majority of IA-32 binaries work perfectly fine with a larger page
107           size).  For Itanium 2 or newer systems, a page size of 64KB can also
108           be selected.
109
110           4KB                For best IA-32 compatibility
111           8KB                For best IA-64 performance
112           16KB               For best IA-64 performance
113           64KB               Requires Itanium 2 or newer processor.
114
115           If you don't know what to do, choose 16KB.
116
117 config IA64_PAGE_SIZE_8KB
118         bool "8KB"
119
120 config IA64_PAGE_SIZE_16KB
121         bool "16KB"
122
123 config IA64_PAGE_SIZE_64KB
124         depends on !ITANIUM
125         bool "64KB"
126
127 endchoice
128
129 config IA64_BRL_EMU
130         bool
131         depends on ITANIUM
132         default y
133
134 config ITANIUM_BSTEP_SPECIFIC
135         bool "Itanium B-step specific code"
136         depends on ITANIUM
137         help
138           Select this option to build a kernel for an Itanium prototype system
139           with a B-step CPU.  You have a B-step CPU if the "revision" field in
140           /proc/cpuinfo has a value in the range from 1 to 4.
141
142 # align cache-sensitive data to 128 bytes
143 config IA64_L1_CACHE_SHIFT
144         int
145         default "7" if MCKINLEY
146         default "6" if ITANIUM
147
148 # align cache-sensitive data to 64 bytes
149 config MCKINLEY_ASTEP_SPECIFIC
150         bool "McKinley A-step specific code"
151         depends on MCKINLEY
152         help
153           Select this option to build a kernel for an IA-64 McKinley prototype
154           system with any A-stepping CPU.
155
156 config MCKINLEY_A0_SPECIFIC
157         bool "McKinley A0/A1-step specific code"
158         depends on MCKINLEY_ASTEP_SPECIFIC
159         help
160           Select this option to build a kernel for an IA-64 McKinley prototype
161           system with an A0 or A1 stepping CPU.
162
163 config NUMA
164         bool "NUMA support"
165         depends on !IA64_HP_SIM
166         default y if IA64_SGI_SN2
167         help
168           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
169           Access).  This option is for configuring high-end multiprocessor
170           server systems.  If in doubt, say N.
171
172 config VIRTUAL_MEM_MAP
173         bool "Virtual mem map"
174         default y if !IA64_HP_SIM
175         help
176           Say Y to compile the kernel with support for a virtual mem map.
177           This code also only takes effect if a memory hole of greater than
178           1 Gb is found during boot.  You must turn this option on if you
179           require the DISCONTIGMEM option for your machine. If you are
180           unsure, say Y.
181
182 config DISCONTIGMEM
183         bool "Discontiguous memory support"
184         depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC) && NUMA && VIRTUAL_MEM_MAP
185         default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
186         help
187           Say Y to support efficient handling of discontiguous physical memory,
188           for architectures which are either NUMA (Non-Uniform Memory Access)
189           or have huge holes in the physical address space for other reasons.
190           See <file:Documentation/vm/numa> for more.
191
192 config IA64_CYCLONE
193         bool "Support Cyclone(EXA) Time Source"
194         help
195                 Say Y here to enable support for IBM EXA Cyclone time source.
196                 If you're unsure, answer N.
197
198 config IOSAPIC
199         bool
200         depends on !IA64_HP_SIM
201         default y
202
203 config IA64_SGI_SN_SIM
204         bool "SGI Medusa Simulator Support"
205         depends on IA64_SGI_SN2
206         help
207           If you are compiling a kernel that will run under SGI's IA-64
208           simulator (Medusa) then say Y, otherwise say N.
209
210 config FORCE_MAX_ZONEORDER
211         int
212         default "18"
213
214 config SMP
215         bool "Symmetric multi-processing support"
216         help
217           This enables support for systems with more than one CPU. If you have
218           a system with only one CPU, say N.  If you have a system with more
219           than one CPU, say Y.
220
221           If you say N here, the kernel will run on single and multiprocessor
222           systems, but will use only one CPU of a multiprocessor system.  If
223           you say Y here, the kernel will run on many, but not all,
224           single processor systems.  On a single processor system, the kernel
225           will run faster if you say N here.
226
227           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
228           available at <http://www.tldp.org/docs.html#howto>.
229
230           If you don't know what to do here, say N.
231
232 config NR_CPUS
233         int "Maximum number of CPUs (2-512)"
234         range 2 512
235         depends on SMP
236         default "64"
237         help
238           You should set this to the number of CPUs in your system, but
239           keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
240           only use 2 CPUs on a >2 CPU system.  Setting this to a value larger
241           than 64 will cause the use of a CPU mask array, causing a small
242           performance hit.
243
244 config HOTPLUG_CPU
245     bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
246     depends on SMP && HOTPLUG && EXPERIMENTAL
247         default n
248     ---help---
249       Say Y here to experiment with turning CPUs off and on.  CPUs
250       can be controlled through /sys/devices/system/cpu/cpu#.
251       Say N if you want to disable CPU hotplug.
252
253 config PREEMPT
254         bool "Preemptible Kernel"
255         help
256           This option reduces the latency of the kernel when reacting to
257           real-time or interactive events by allowing a low priority process to
258           be preempted even if it is in kernel mode executing a system call.
259           This allows applications to run more reliably even when the system is
260           under load.
261
262           Say Y here if you are building a kernel for a desktop, embedded
263           or real-time system.  Say N if you are unsure.
264
265 config HAVE_DEC_LOCK
266         bool
267         depends on (SMP || PREEMPT)
268         default y
269
270 config IA32_SUPPORT
271         bool "Support for Linux/x86 binaries"
272         help
273           IA-64 processors can execute IA-32 (X86) instructions.  By
274           saying Y here, the kernel will include IA-32 system call
275           emulation support which makes it possible to transparently
276           run IA-32 Linux binaries on an IA-64 Linux system.
277           If in doubt, say Y.
278
279 config COMPAT
280         bool
281         depends on IA32_SUPPORT
282         default y
283
284 config PERFMON
285         bool "Performance monitor support"
286         help
287           Selects whether support for the IA-64 performance monitor hardware
288           is included in the kernel.  This makes some kernel data-structures a
289           little bigger and slows down execution a bit, but it is generally
290           a good idea to turn this on.  If you're unsure, say Y.
291
292 config IA64_PALINFO
293         tristate "/proc/pal support"
294         help
295           If you say Y here, you are able to get PAL (Processor Abstraction
296           Layer) information in /proc/pal.  This contains useful information
297           about the processors in your systems, such as cache and TLB sizes
298           and the PAL firmware version in use.
299
300           To use this option, you have to ensure that the "/proc file system
301           support" (CONFIG_PROC_FS) is enabled, too.
302
303 source "drivers/firmware/Kconfig"
304
305 source "fs/Kconfig.binfmt"
306
307 endmenu
308
309 menu "Power management and ACPI"
310
311 config PM
312         bool "Power Management support"
313         depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1
314         default y
315         help
316           "Power Management" means that parts of your computer are shut
317           off or put into a power conserving "sleep" mode if they are not
318           being used.  There are two competing standards for doing this: APM
319           and ACPI.  If you want to use either one, say Y here and then also
320           to the requisite support below.
321
322           Power Management is most important for battery powered laptop
323           computers; if you have a laptop, check out the Linux Laptop home
324           page on the WWW at <http://www.linux-on-laptops.com/> and the
325           Battery Powered Linux mini-HOWTO, available from
326           <http://www.tldp.org/docs.html#howto>.
327
328           Note that, even if you say N here, Linux on the x86 architecture
329           will issue the hlt instruction if nothing is to be done, thereby
330           sending the processor to sleep and saving power.
331
332 config ACPI
333         bool
334         depends on !IA64_HP_SIM
335         default y
336
337 if !IA64_HP_SIM
338
339 source "drivers/acpi/Kconfig"
340
341 endif
342
343 endmenu
344
345 if !IA64_HP_SIM
346
347 menu "Bus options (PCI, PCMCIA)"
348
349 config PCI
350         bool "PCI support"
351         help
352           Find out whether you have a PCI motherboard. PCI is the name of a
353           bus system, i.e. the way the CPU talks to the other stuff inside
354           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
355           VESA. If you have PCI, say Y, otherwise N.
356
357           The PCI-HOWTO, available from
358           <http://www.tldp.org/docs.html#howto>, contains valuable
359           information about which PCI hardware does work under Linux and which
360           doesn't.
361
362 config PCI_DOMAINS
363         bool
364         default PCI
365
366 source "drivers/pci/Kconfig"
367
368 source "drivers/pci/hotplug/Kconfig"
369
370 source "drivers/pcmcia/Kconfig"
371
372 endmenu
373
374 endif
375
376 source "drivers/Kconfig"
377
378 source "fs/Kconfig"
379
380 source "lib/Kconfig"
381
382 source "arch/ia64/hp/sim/Kconfig"
383
384 source "arch/ia64/oprofile/Kconfig"
385
386 menu "Kernel hacking"
387
388 choice
389         prompt "Physical memory granularity"
390         default IA64_GRANULE_64MB
391
392 config IA64_GRANULE_16MB
393         bool "16MB"
394         help
395           IA-64 identity-mapped regions use a large page size called "granules".
396
397           Select "16MB" for a small granule size.
398           Select "64MB" for a large granule size.  This is the current default.
399
400 config IA64_GRANULE_64MB
401         bool "64MB"
402         depends on !(IA64_GENERIC || IA64_HP_ZX1)
403
404 endchoice
405
406 config DEBUG_KERNEL
407         bool "Kernel debugging"
408         help
409           Say Y here if you are developing drivers or trying to debug and
410           identify kernel problems.
411
412 config IA64_PRINT_HAZARDS
413         bool "Print possible IA-64 dependency violations to console"
414         depends on DEBUG_KERNEL
415         help
416           Selecting this option prints more information for Illegal Dependency
417           Faults, that is, for Read-after-Write (RAW), Write-after-Write (WAW),
418           or Write-after-Read (WAR) violations.  This option is ignored if you
419           are compiling for an Itanium A step processor
420           (CONFIG_ITANIUM_ASTEP_SPECIFIC).  If you're unsure, select Y.
421
422 config DISABLE_VHPT
423         bool "Disable VHPT"
424         depends on DEBUG_KERNEL
425         help
426           The Virtual Hash Page Table (VHPT) enhances virtual address
427           translation performance.  Normally you want the VHPT active but you
428           can select this option to disable the VHPT for debugging.  If you're
429           unsure, answer N.
430
431 config MAGIC_SYSRQ
432         bool "Magic SysRq key"
433         depends on DEBUG_KERNEL
434         help
435           If you say Y here, you will have some control over the system even
436           if the system crashes for example during kernel debugging (e.g., you
437           will be able to flush the buffer cache to disk, reboot the system
438           immediately or dump some status information). This is accomplished
439           by pressing various keys while holding SysRq (Alt+PrintScreen). It
440           also works on a serial console (on PC hardware at least), if you
441           send a BREAK and then within 5 seconds a command keypress. The
442           keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
443           unless you really know what this hack does.
444
445 config DEBUG_SLAB
446         bool "Debug memory allocations"
447         depends on DEBUG_KERNEL
448         help
449           Say Y here to have the kernel do limited verification on memory
450           allocation as well as poisoning memory on free to catch use of freed
451           memory.
452
453 config DEBUG_SPINLOCK
454         bool "Spinlock debugging"
455         depends on DEBUG_KERNEL
456         help
457           Say Y here and build SMP to catch missing spinlock initialization
458           and certain other kinds of spinlock errors commonly made.  This is
459           best used in conjunction with the NMI watchdog so that spinlock
460           deadlocks are also debuggable.
461
462 config DEBUG_SPINLOCK_SLEEP
463           bool "Sleep-inside-spinlock checking"
464           help
465             If you say Y here, various routines which may sleep will become very
466             noisy if they are called with a spinlock held.
467
468 config IA64_DEBUG_CMPXCHG
469         bool "Turn on compare-and-exchange bug checking (slow!)"
470         depends on DEBUG_KERNEL
471         help
472           Selecting this option turns on bug checking for the IA-64
473           compare-and-exchange instructions.  This is slow!  Itaniums
474           from step B3 or later don't have this problem. If you're unsure,
475           select N.
476
477 config IA64_DEBUG_IRQ
478         bool "Turn on irq debug checks (slow!)"
479         depends on DEBUG_KERNEL
480         help
481           Selecting this option turns on bug checking for the IA-64 irq_save
482           and restore instructions.  It's useful for tracking down spinlock
483           problems, but slow!  If you're unsure, select N.
484
485 config DEBUG_INFO
486         bool "Compile the kernel with debug info"
487         depends on DEBUG_KERNEL
488         help
489           If you say Y here the resulting kernel image will include
490           debugging info resulting in a larger kernel image.
491           Say Y here only if you plan to use gdb to debug the kernel.
492           If you don't debug the kernel, you can say N.
493
494 config SYSVIPC_COMPAT
495         bool
496         depends on COMPAT && SYSVIPC
497         default y
498 endmenu
499
500 source "kernel/vserver/Kconfig"
501
502 source "security/Kconfig"
503
504 source "crypto/Kconfig"