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