[IA64] multi-core/multi-thread identification
[linux-2.6] / 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         select ACPI_NUMA
173         help
174           Say Y to compile the kernel to support NUMA (Non-Uniform Memory
175           Access).  This option is for configuring high-end multiprocessor
176           server systems.  If in doubt, say N.
177
178 config VIRTUAL_MEM_MAP
179         bool "Virtual mem map"
180         default y if !IA64_HP_SIM
181         help
182           Say Y to compile the kernel with support for a virtual mem map.
183           This code also only takes effect if a memory hole of greater than
184           1 Gb is found during boot.  You must turn this option on if you
185           require the DISCONTIGMEM option for your machine. If you are
186           unsure, say Y.
187
188 config HOLES_IN_ZONE
189         bool
190         default y if VIRTUAL_MEM_MAP
191
192 config DISCONTIGMEM
193         bool "Discontiguous memory support"
194         depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) && NUMA && VIRTUAL_MEM_MAP
195         default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
196         help
197           Say Y to support efficient handling of discontiguous physical memory,
198           for architectures which are either NUMA (Non-Uniform Memory Access)
199           or have huge holes in the physical address space for other reasons.
200           See <file:Documentation/vm/numa> for more.
201
202 config IA64_CYCLONE
203         bool "Cyclone (EXA) Time Source support"
204         help
205           Say Y here to enable support for IBM EXA Cyclone time source.
206           If you're unsure, answer N.
207
208 config IOSAPIC
209         bool
210         depends on !IA64_HP_SIM
211         default y
212
213 config IA64_SGI_SN_SIM
214         bool "SGI Medusa Simulator Support"
215         depends on IA64_SGI_SN2
216         help
217           If you are compiling a kernel that will run under SGI's IA-64
218           simulator (Medusa) then say Y, otherwise say N.
219
220 config FORCE_MAX_ZONEORDER
221         int
222         default "18"
223
224 config SMP
225         bool "Symmetric multi-processing support"
226         help
227           This enables support for systems with more than one CPU. If you have
228           a system with only one CPU, say N.  If you have a system with more
229           than one CPU, say Y.
230
231           If you say N here, the kernel will run on single and multiprocessor
232           systems, but will use only one CPU of a multiprocessor system.  If
233           you say Y here, the kernel will run on many, but not all,
234           single processor systems.  On a single processor system, the kernel
235           will run faster if you say N here.
236
237           See also the <file:Documentation/smp.txt> and the SMP-HOWTO
238           available at <http://www.tldp.org/docs.html#howto>.
239
240           If you don't know what to do here, say N.
241
242 config NR_CPUS
243         int "Maximum number of CPUs (2-512)"
244         range 2 512
245         depends on SMP
246         default "64"
247         help
248           You should set this to the number of CPUs in your system, but
249           keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
250           only use 2 CPUs on a >2 CPU system.  Setting this to a value larger
251           than 64 will cause the use of a CPU mask array, causing a small
252           performance hit.
253
254 config HOTPLUG_CPU
255         bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
256         depends on SMP && EXPERIMENTAL
257         select HOTPLUG
258         default n
259         ---help---
260           Say Y here to experiment with turning CPUs off and on.  CPUs
261           can be controlled through /sys/devices/system/cpu/cpu#.
262           Say N if you want to disable CPU hotplug.
263
264 config PREEMPT
265         bool "Preemptible Kernel"
266         help
267           This option reduces the latency of the kernel when reacting to
268           real-time or interactive events by allowing a low priority process to
269           be preempted even if it is in kernel mode executing a system call.
270           This allows applications to run more reliably even when the system is
271           under load.
272
273           Say Y here if you are building a kernel for a desktop, embedded
274           or real-time system.  Say N if you are unsure.
275
276 config HAVE_DEC_LOCK
277         bool
278         depends on (SMP || PREEMPT)
279         default y
280
281 config IA32_SUPPORT
282         bool "Support for Linux/x86 binaries"
283         help
284           IA-64 processors can execute IA-32 (X86) instructions.  By
285           saying Y here, the kernel will include IA-32 system call
286           emulation support which makes it possible to transparently
287           run IA-32 Linux binaries on an IA-64 Linux system.
288           If in doubt, say Y.
289
290 config COMPAT
291         bool
292         depends on IA32_SUPPORT
293         default y
294
295 config IA64_MCA_RECOVERY
296         tristate "MCA recovery from errors other than TLB."
297
298 config PERFMON
299         bool "Performance monitor support"
300         help
301           Selects whether support for the IA-64 performance monitor hardware
302           is included in the kernel.  This makes some kernel data-structures a
303           little bigger and slows down execution a bit, but it is generally
304           a good idea to turn this on.  If you're unsure, say Y.
305
306 config IA64_PALINFO
307         tristate "/proc/pal support"
308         help
309           If you say Y here, you are able to get PAL (Processor Abstraction
310           Layer) information in /proc/pal.  This contains useful information
311           about the processors in your systems, such as cache and TLB sizes
312           and the PAL firmware version in use.
313
314           To use this option, you have to ensure that the "/proc file system
315           support" (CONFIG_PROC_FS) is enabled, too.
316
317 config ACPI_DEALLOCATE_IRQ
318         bool
319         depends on IOSAPIC && EXPERIMENTAL
320         default y
321
322 source "drivers/firmware/Kconfig"
323
324 source "fs/Kconfig.binfmt"
325
326 endmenu
327
328 menu "Power management and ACPI"
329
330 config PM
331         bool "Power Management support"
332         depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB
333         default y
334         help
335           "Power Management" means that parts of your computer are shut
336           off or put into a power conserving "sleep" mode if they are not
337           being used.  There are two competing standards for doing this: APM
338           and ACPI.  If you want to use either one, say Y here and then also
339           to the requisite support below.
340
341           Power Management is most important for battery powered laptop
342           computers; if you have a laptop, check out the Linux Laptop home
343           page on the WWW at <http://www.linux-on-laptops.com/> and the
344           Battery Powered Linux mini-HOWTO, available from
345           <http://www.tldp.org/docs.html#howto>.
346
347           Note that, even if you say N here, Linux on the x86 architecture
348           will issue the hlt instruction if nothing is to be done, thereby
349           sending the processor to sleep and saving power.
350
351 config ACPI
352         bool
353         depends on !IA64_HP_SIM
354         default y
355
356 if !IA64_HP_SIM
357
358 source "drivers/acpi/Kconfig"
359
360 endif
361
362 endmenu
363
364 if !IA64_HP_SIM
365
366 menu "Bus options (PCI, PCMCIA)"
367
368 config PCI
369         bool "PCI support"
370         help
371           Find out whether you have a PCI motherboard. PCI is the name of a
372           bus system, i.e. the way the CPU talks to the other stuff inside
373           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
374           VESA. If you have PCI, say Y, otherwise N.
375
376           The PCI-HOWTO, available from
377           <http://www.tldp.org/docs.html#howto>, contains valuable
378           information about which PCI hardware does work under Linux and which
379           doesn't.
380
381 config PCI_DOMAINS
382         bool
383         default PCI
384
385 source "drivers/pci/Kconfig"
386
387 source "drivers/pci/hotplug/Kconfig"
388
389 source "drivers/pcmcia/Kconfig"
390
391 endmenu
392
393 endif
394
395 source "drivers/Kconfig"
396
397 source "fs/Kconfig"
398
399 source "lib/Kconfig"
400
401 #
402 # Use the generic interrupt handling code in kernel/irq/:
403 #
404 config GENERIC_HARDIRQS
405         bool
406         default y
407
408 config GENERIC_IRQ_PROBE
409         bool
410         default y
411
412 source "arch/ia64/hp/sim/Kconfig"
413
414 source "arch/ia64/oprofile/Kconfig"
415
416 source "arch/ia64/Kconfig.debug"
417
418 source "security/Kconfig"
419
420 source "crypto/Kconfig"