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