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