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