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