upgrade to fedora-2.6.12-1.1398.FC4 + vserver 2.0.rc7
[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 GENERIC_CALIBRATE_DELAY
34         bool
35         default y
36
37 config TIME_INTERPOLATION
38         bool
39         default y
40
41 config EFI
42         bool
43         default y
44
45 config GENERIC_IOMAP
46         bool
47         default y
48
49 config SCHED_NO_NO_OMIT_FRAME_POINTER
50         bool
51         default y
52
53 choice
54         prompt "System type"
55         default IA64_GENERIC
56
57 config IA64_GENERIC
58         bool "generic"
59         select VIRTUAL_MEM_MAP
60         help
61           This selects the system type of your hardware.  A "generic" kernel
62           will run on any supported IA-64 system.  However, if you configure
63           a kernel for your specific system, it will be faster and smaller.
64
65           generic               For any supported IA-64 system
66           DIG-compliant         For DIG ("Developer's Interface Guide") compliant systems
67           HP-zx1/sx1000         For HP systems
68           HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
69           SGI-SN2               For SGI Altix systems
70           Ski-simulator         For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
71
72           If you don't know what to do, choose "generic".
73
74 config IA64_DIG
75         bool "DIG-compliant"
76
77 config IA64_HP_ZX1
78         bool "HP-zx1/sx1000"
79         help
80           Build a kernel that runs on HP zx1 and sx1000 systems.  This adds
81           support for the HP I/O MMU.
82
83 config IA64_HP_ZX1_SWIOTLB
84         bool "HP-zx1/sx1000 with software I/O TLB"
85         help
86           Build a kernel that runs on HP zx1 and sx1000 systems even when they
87           have broken PCI devices which cannot DMA to full 32 bits.  Apart
88           from support for the HP I/O MMU, this includes support for the software
89           I/O TLB, which allows supporting the broken devices at the expense of
90           wasting some kernel memory (about 2MB by default).
91
92 config IA64_SGI_SN2
93         bool "SGI-SN2"
94         help
95           Selecting this option will optimize the kernel for use on sn2 based
96           systems, but the resulting kernel binary will not run on other
97           types of ia64 systems.  If you have an SGI Altix system, it's safe
98           to select this option.  If in doubt, select ia64 generic support
99           instead.
100
101 config IA64_HP_SIM
102         bool "Ski-simulator"
103
104 endchoice
105
106 choice
107         prompt "Processor type"
108         default ITANIUM
109
110 config ITANIUM
111         bool "Itanium"
112         help
113           Select your IA-64 processor type.  The default is Itanium.
114           This choice is safe for all IA-64 systems, but may not perform
115           optimally on systems with, say, Itanium 2 or newer processors.
116
117 config MCKINLEY
118         bool "Itanium 2"
119         help
120           Select this to configure for an Itanium 2 (McKinley) processor.
121
122 endchoice
123
124 choice
125         prompt "Kernel page size"
126         default IA64_PAGE_SIZE_16KB
127
128 config IA64_PAGE_SIZE_4KB
129         bool "4KB"
130         help
131           This lets you select the page size of the kernel.  For best IA-64
132           performance, a page size of 8KB or 16KB is recommended.  For best
133           IA-32 compatibility, a page size of 4KB should be selected (the vast
134           majority of IA-32 binaries work perfectly fine with a larger page
135           size).  For Itanium 2 or newer systems, a page size of 64KB can also
136           be selected.
137
138           4KB                For best IA-32 compatibility
139           8KB                For best IA-64 performance
140           16KB               For best IA-64 performance
141           64KB               Requires Itanium 2 or newer processor.
142
143           If you don't know what to do, choose 16KB.
144
145 config IA64_PAGE_SIZE_8KB
146         bool "8KB"
147
148 config IA64_PAGE_SIZE_16KB
149         bool "16KB"
150
151 config IA64_PAGE_SIZE_64KB
152         depends on !ITANIUM
153         bool "64KB"
154
155 endchoice
156
157 config IA64_BRL_EMU
158         bool
159         depends on ITANIUM
160         default y
161
162 # align cache-sensitive data to 128 bytes
163 config IA64_L1_CACHE_SHIFT
164         int
165         default "7" if MCKINLEY
166         default "6" if ITANIUM
167
168 # align cache-sensitive data to 64 bytes
169 config NUMA
170         bool "NUMA support"
171         depends on !IA64_HP_SIM
172         default y if IA64_SGI_SN2
173         select ACPI_NUMA
174         help
175           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
176           Access).  This option is for configuring high-end multiprocessor
177           server systems.  If in doubt, say N.
178
179 config VIRTUAL_MEM_MAP
180         bool "Virtual mem map"
181         default y if !IA64_HP_SIM
182         help
183           Say Y to compile the kernel with support for a virtual mem map.
184           This code also only takes effect if a memory hole of greater than
185           1 Gb is found during boot.  You must turn this option on if you
186           require the DISCONTIGMEM option for your machine. If you are
187           unsure, say Y.
188
189 config HOLES_IN_ZONE
190         bool
191         default y if VIRTUAL_MEM_MAP
192
193 config DISCONTIGMEM
194         bool "Discontiguous memory support"
195         depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) && NUMA && VIRTUAL_MEM_MAP
196         default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
197         help
198           Say Y to support efficient handling of discontiguous physical memory,
199           for architectures which are either NUMA (Non-Uniform Memory Access)
200           or have huge holes in the physical address space for other reasons.
201           See <file:Documentation/vm/numa> for more.
202
203 config IA64_CYCLONE
204         bool "Cyclone (EXA) Time Source support"
205         help
206           Say Y here to enable support for IBM EXA Cyclone time source.
207           If you're unsure, answer N.
208
209 config IOSAPIC
210         bool
211         depends on !IA64_HP_SIM
212         default y
213
214 config IA64_SGI_SN_SIM
215         bool "SGI Medusa Simulator Support"
216         depends on IA64_SGI_SN2
217         help
218           If you are compiling a kernel that will run under SGI's IA-64
219           simulator (Medusa) then say Y, otherwise say N.
220
221 config IA64_SGI_SN_XP
222         tristate "Support communication between SGI SSIs"
223         depends on MSPEC
224         help
225           An SGI machine can be divided into multiple Single System
226           Images which act independently of each other and have
227           hardware based memory protection from the others.  Enabling
228           this feature will allow for direct communication between SSIs
229           based on a network adapter and DMA messaging.
230
231 config FORCE_MAX_ZONEORDER
232         int
233         default "18"
234
235 config SMP
236         bool "Symmetric multi-processing support"
237         help
238           This enables support for systems with more than one CPU. If you have
239           a system with only one CPU, say N.  If you have a system with more
240           than one CPU, say Y.
241
242           If you say N here, the kernel will run on single and multiprocessor
243           systems, but will use only one CPU of a multiprocessor system.  If
244           you say Y here, the kernel will run on many, but not all,
245           single processor systems.  On a single processor system, the kernel
246           will run faster if you say N here.
247
248           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
249           available at <http://www.tldp.org/docs.html#howto>.
250
251           If you don't know what to do here, say N.
252
253 config NR_CPUS
254         int "Maximum number of CPUs (2-512)"
255         range 2 512
256         depends on SMP
257         default "64"
258         help
259           You should set this to the number of CPUs in your system, but
260           keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
261           only use 2 CPUs on a >2 CPU system.  Setting this to a value larger
262           than 64 will cause the use of a CPU mask array, causing a small
263           performance hit.
264
265 config HOTPLUG_CPU
266         bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
267         depends on SMP && EXPERIMENTAL
268         select HOTPLUG
269         default n
270         ---help---
271           Say Y here to experiment with turning CPUs off and on.  CPUs
272           can be controlled through /sys/devices/system/cpu/cpu#.
273           Say N if you want to disable CPU hotplug.
274
275 config SCHED_SMT
276         bool "SMT scheduler support"
277         depends on SMP
278         default off
279         help
280           Improves the CPU scheduler's decision making when dealing with
281           Intel IA64 chips with MultiThreading at a cost of slightly increased
282           overhead in some places. If unsure say N here.
283
284 config PREEMPT
285         bool "Preemptible Kernel"
286         help
287           This option reduces the latency of the kernel when reacting to
288           real-time or interactive events by allowing a low priority process to
289           be preempted even if it is in kernel mode executing a system call.
290           This allows applications to run more reliably even when the system is
291           under load.
292
293           Say Y here if you are building a kernel for a desktop, embedded
294           or real-time system.  Say N if you are unsure.
295
296 config HAVE_DEC_LOCK
297         bool
298         depends on (SMP || PREEMPT)
299         default y
300
301 config IA32_SUPPORT
302         bool "Support for Linux/x86 binaries"
303         help
304           IA-64 processors can execute IA-32 (X86) instructions.  By
305           saying Y here, the kernel will include IA-32 system call
306           emulation support which makes it possible to transparently
307           run IA-32 Linux binaries on an IA-64 Linux system.
308           If in doubt, say Y.
309
310 config COMPAT
311         bool
312         depends on IA32_SUPPORT
313         default y
314
315 config IA64_MCA_RECOVERY
316         tristate "MCA recovery from errors other than TLB."
317
318 config PERFMON
319         bool "Performance monitor support"
320         help
321           Selects whether support for the IA-64 performance monitor hardware
322           is included in the kernel.  This makes some kernel data-structures a
323           little bigger and slows down execution a bit, but it is generally
324           a good idea to turn this on.  If you're unsure, say Y.
325
326 config IA64_PALINFO
327         tristate "/proc/pal support"
328         help
329           If you say Y here, you are able to get PAL (Processor Abstraction
330           Layer) information in /proc/pal.  This contains useful information
331           about the processors in your systems, such as cache and TLB sizes
332           and the PAL firmware version in use.
333
334           To use this option, you have to ensure that the "/proc file system
335           support" (CONFIG_PROC_FS) is enabled, too.
336
337 config ACPI_DEALLOCATE_IRQ
338         bool
339         depends on IOSAPIC && EXPERIMENTAL
340         default y
341
342 source "drivers/firmware/Kconfig"
343
344 source "fs/Kconfig.binfmt"
345
346 endmenu
347
348 menu "Power management and ACPI"
349
350 config PM
351         bool "Power Management support"
352         depends on !IA64_HP_SIM
353         default y
354         help
355           "Power Management" means that parts of your computer are shut
356           off or put into a power conserving "sleep" mode if they are not
357           being used.  There are two competing standards for doing this: APM
358           and ACPI.  If you want to use either one, say Y here and then also
359           to the requisite support below.
360
361           Power Management is most important for battery powered laptop
362           computers; if you have a laptop, check out the Linux Laptop home
363           page on the WWW at <http://www.linux-on-laptops.com/> and the
364           Battery Powered Linux mini-HOWTO, available from
365           <http://www.tldp.org/docs.html#howto>.
366
367           Note that, even if you say N here, Linux on the x86 architecture
368           will issue the hlt instruction if nothing is to be done, thereby
369           sending the processor to sleep and saving power.
370
371 config ACPI
372         bool
373         depends on !IA64_HP_SIM
374         default y
375
376 if !IA64_HP_SIM
377
378 source "drivers/acpi/Kconfig"
379
380 endif
381
382 endmenu
383
384 if !IA64_HP_SIM
385
386 menu "Bus options (PCI, PCMCIA)"
387
388 config PCI
389         bool "PCI support"
390         help
391           Find out whether you have a PCI motherboard. PCI is the name of a
392           bus system, i.e. the way the CPU talks to the other stuff inside
393           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
394           VESA. If you have PCI, say Y, otherwise N.
395
396           The PCI-HOWTO, available from
397           <http://www.tldp.org/docs.html#howto>, contains valuable
398           information about which PCI hardware does work under Linux and which
399           doesn't.
400
401 config PCI_DOMAINS
402         bool
403         default PCI
404
405 source "drivers/pci/Kconfig"
406
407 source "drivers/pci/hotplug/Kconfig"
408
409 source "drivers/pcmcia/Kconfig"
410
411 endmenu
412
413 endif
414
415 source "drivers/Kconfig"
416
417 source "fs/Kconfig"
418
419 source "lib/Kconfig"
420
421 #
422 # Use the generic interrupt handling code in kernel/irq/:
423 #
424 config GENERIC_HARDIRQS
425         bool
426         default y
427
428 config GENERIC_IRQ_PROBE
429         bool
430         default y
431
432 source "arch/ia64/hp/sim/Kconfig"
433
434 source "arch/ia64/oprofile/Kconfig"
435
436 source "arch/ia64/Kconfig.debug"
437
438 source "kernel/vserver/Kconfig"
439
440 source "security/Kconfig"
441
442 source "crypto/Kconfig"