blob: d51f0f11f7f95169f424cd99768928635be92dd3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6mainmenu "IA-64 Linux Kernel Configuration"
7
8source "init/Kconfig"
9
10menu "Processor type and features"
11
12config IA64
13 bool
Len Brown06f87ad2007-01-26 00:38:53 -050014 select PCI if (!IA64_HP_SIM)
15 select ACPI if (!IA64_HP_SIM)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 default y
17 help
18 The Itanium Processor Family is Intel's 64-bit successor to
19 the 32-bit X86 line. The IA-64 Linux project has a home
20 page at <http://www.linuxia64.org/> and a mailing list at
21 <linux-ia64@vger.kernel.org>.
22
23config 64BIT
24 bool
Zhang, Yanmin9f271d52007-02-09 11:29:51 +080025 select ATA_NONSTANDARD if ATA
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 default y
27
Christoph Lameter66701b12007-02-10 01:43:09 -080028config ZONE_DMA
Christoph Lameter09ae1f52007-02-10 01:43:11 -080029 def_bool y
30 depends on !IA64_SGI_SN2
Christoph Lameter66701b12007-02-10 01:43:09 -080031
Linus Torvalds1da177e2005-04-16 15:20:36 -070032config MMU
33 bool
34 default y
35
John W. Linville6c654b52005-09-29 14:42:42 -070036config SWIOTLB
37 bool
John W. Linville6c654b52005-09-29 14:42:42 -070038
Linus Torvalds1da177e2005-04-16 15:20:36 -070039config RWSEM_XCHGADD_ALGORITHM
40 bool
41 default y
42
David Howellsf0d1b0b2006-12-08 02:37:49 -080043config ARCH_HAS_ILOG2_U32
44 bool
45 default n
46
47config ARCH_HAS_ILOG2_U64
48 bool
49 default n
50
Akinobu Mita2875aef2006-03-26 01:39:25 -080051config GENERIC_FIND_NEXT_BIT
52 bool
53 default y
54
Linus Torvalds1da177e2005-04-16 15:20:36 -070055config GENERIC_CALIBRATE_DELAY
56 bool
57 default y
58
59config TIME_INTERPOLATION
60 bool
61 default y
62
Matt Domsch3ed3bce2006-03-26 01:37:03 -080063config DMI
64 bool
65 default y
66
Linus Torvalds1da177e2005-04-16 15:20:36 -070067config EFI
68 bool
69 default y
70
71config GENERIC_IOMAP
72 bool
73 default y
74
Anton Blanchard7d12e522005-05-05 16:15:11 -070075config SCHED_NO_NO_OMIT_FRAME_POINTER
76 bool
77 default y
78
Jes Sorensenf14f75b2005-06-21 17:15:02 -070079config IA64_UNCACHED_ALLOCATOR
80 bool
81 select GENERIC_ALLOCATOR
82
Al Viroe65e1fc2006-09-12 03:04:40 -040083config AUDIT_ARCH
84 bool
85 default y
86
Linus Torvalds1da177e2005-04-16 15:20:36 -070087choice
88 prompt "System type"
89 default IA64_GENERIC
90
91config IA64_GENERIC
92 bool "generic"
93 select NUMA
94 select ACPI_NUMA
Jan Beulichd1598e02007-01-03 09:26:21 +000095 select SWIOTLB
Linus Torvalds1da177e2005-04-16 15:20:36 -070096 help
97 This selects the system type of your hardware. A "generic" kernel
98 will run on any supported IA-64 system. However, if you configure
99 a kernel for your specific system, it will be faster and smaller.
100
101 generic For any supported IA-64 system
102 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
103 HP-zx1/sx1000 For HP systems
104 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
105 SGI-SN2 For SGI Altix systems
106 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
107
108 If you don't know what to do, choose "generic".
109
110config IA64_DIG
111 bool "DIG-compliant"
Jan Beulichd1598e02007-01-03 09:26:21 +0000112 select SWIOTLB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113
114config IA64_HP_ZX1
115 bool "HP-zx1/sx1000"
116 help
117 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
118 support for the HP I/O MMU.
119
120config IA64_HP_ZX1_SWIOTLB
121 bool "HP-zx1/sx1000 with software I/O TLB"
Jan Beulichd1598e02007-01-03 09:26:21 +0000122 select SWIOTLB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123 help
124 Build a kernel that runs on HP zx1 and sx1000 systems even when they
125 have broken PCI devices which cannot DMA to full 32 bits. Apart
126 from support for the HP I/O MMU, this includes support for the software
127 I/O TLB, which allows supporting the broken devices at the expense of
128 wasting some kernel memory (about 2MB by default).
129
130config IA64_SGI_SN2
131 bool "SGI-SN2"
132 help
133 Selecting this option will optimize the kernel for use on sn2 based
134 systems, but the resulting kernel binary will not run on other
135 types of ia64 systems. If you have an SGI Altix system, it's safe
136 to select this option. If in doubt, select ia64 generic support
137 instead.
138
139config IA64_HP_SIM
140 bool "Ski-simulator"
Jan Beulichd1598e02007-01-03 09:26:21 +0000141 select SWIOTLB
Linus Torvalds1da177e2005-04-16 15:20:36 -0700142
143endchoice
144
145choice
146 prompt "Processor type"
147 default ITANIUM
148
149config ITANIUM
150 bool "Itanium"
151 help
152 Select your IA-64 processor type. The default is Itanium.
153 This choice is safe for all IA-64 systems, but may not perform
154 optimally on systems with, say, Itanium 2 or newer processors.
155
156config MCKINLEY
157 bool "Itanium 2"
158 help
159 Select this to configure for an Itanium 2 (McKinley) processor.
160
161endchoice
162
163choice
164 prompt "Kernel page size"
165 default IA64_PAGE_SIZE_16KB
166
167config IA64_PAGE_SIZE_4KB
168 bool "4KB"
169 help
170 This lets you select the page size of the kernel. For best IA-64
171 performance, a page size of 8KB or 16KB is recommended. For best
172 IA-32 compatibility, a page size of 4KB should be selected (the vast
173 majority of IA-32 binaries work perfectly fine with a larger page
174 size). For Itanium 2 or newer systems, a page size of 64KB can also
175 be selected.
176
177 4KB For best IA-32 compatibility
178 8KB For best IA-64 performance
179 16KB For best IA-64 performance
180 64KB Requires Itanium 2 or newer processor.
181
182 If you don't know what to do, choose 16KB.
183
184config IA64_PAGE_SIZE_8KB
185 bool "8KB"
186
187config IA64_PAGE_SIZE_16KB
188 bool "16KB"
189
190config IA64_PAGE_SIZE_64KB
191 depends on !ITANIUM
192 bool "64KB"
193
194endchoice
195
Robin Holt837cd0b2005-11-11 09:35:43 -0600196choice
197 prompt "Page Table Levels"
198 default PGTABLE_3
199
200config PGTABLE_3
201 bool "3 Levels"
202
203config PGTABLE_4
204 depends on !IA64_PAGE_SIZE_64KB
205 bool "4 Levels"
206
207endchoice
208
Christoph Lameterb5d23e52005-06-23 00:08:27 -0700209source kernel/Kconfig.hz
210
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211config IA64_BRL_EMU
212 bool
213 depends on ITANIUM
214 default y
215
216# align cache-sensitive data to 128 bytes
217config IA64_L1_CACHE_SHIFT
218 int
219 default "7" if MCKINLEY
220 default "6" if ITANIUM
221
Linus Torvalds1da177e2005-04-16 15:20:36 -0700222config IA64_CYCLONE
223 bool "Cyclone (EXA) Time Source support"
224 help
225 Say Y here to enable support for IBM EXA Cyclone time source.
226 If you're unsure, answer N.
227
228config IOSAPIC
229 bool
230 depends on !IA64_HP_SIM
231 default y
232
Dean Nelsonb0d82bd2005-03-23 19:46:00 -0700233config IA64_SGI_SN_XP
234 tristate "Support communication between SGI SSIs"
Dean Nelsonf79b3482005-11-01 10:21:51 -0600235 depends on IA64_GENERIC || IA64_SGI_SN2
Jes Sorensen65ed0b32005-06-21 17:15:03 -0700236 select IA64_UNCACHED_ALLOCATOR
Dean Nelsonb0d82bd2005-03-23 19:46:00 -0700237 help
238 An SGI machine can be divided into multiple Single System
239 Images which act independently of each other and have
240 hardware based memory protection from the others. Enabling
241 this feature will allow for direct communication between SSIs
242 based on a network adapter and DMA messaging.
243
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244config FORCE_MAX_ZONEORDER
Bob Piccoda9577c2005-10-04 15:13:37 -0400245 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
246 range 11 17 if !HUGETLB_PAGE
247 default "17" if HUGETLB_PAGE
248 default "11"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700249
250config SMP
251 bool "Symmetric multi-processing support"
252 help
253 This enables support for systems with more than one CPU. If you have
254 a system with only one CPU, say N. If you have a system with more
255 than one CPU, say Y.
256
257 If you say N here, the kernel will run on single and multiprocessor
258 systems, but will use only one CPU of a multiprocessor system. If
259 you say Y here, the kernel will run on many, but not all,
260 single processor systems. On a single processor system, the kernel
261 will run faster if you say N here.
262
263 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
264 available at <http://www.tldp.org/docs.html#howto>.
265
266 If you don't know what to do here, say N.
267
268config NR_CPUS
Jack Steiner54703d32005-09-14 10:33:40 -0500269 int "Maximum number of CPUs (2-1024)"
270 range 2 1024
Linus Torvalds1da177e2005-04-16 15:20:36 -0700271 depends on SMP
Christoph Lameterc57d68c2006-08-22 19:43:27 -0700272 default "1024"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700273 help
274 You should set this to the number of CPUs in your system, but
275 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
276 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
277 than 64 will cause the use of a CPU mask array, causing a small
278 performance hit.
279
280config HOTPLUG_CPU
281 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
282 depends on SMP && EXPERIMENTAL
283 select HOTPLUG
284 default n
285 ---help---
286 Say Y here to experiment with turning CPUs off and on. CPUs
287 can be controlled through /sys/devices/system/cpu/cpu#.
288 Say N if you want to disable CPU hotplug.
289
Yasunori Gotocc576372006-06-29 02:24:27 -0700290config ARCH_ENABLE_MEMORY_HOTPLUG
291 def_bool y
292
Suresh Siddha7a9bdd82005-04-05 18:05:00 -0700293config SCHED_SMT
294 bool "SMT scheduler support"
295 depends on SMP
Suresh Siddha7a9bdd82005-04-05 18:05:00 -0700296 help
297 Improves the CPU scheduler's decision making when dealing with
298 Intel IA64 chips with MultiThreading at a cost of slightly increased
299 overhead in some places. If unsure say N here.
300
Ashok Rajff741902005-11-11 14:32:40 -0800301config PERMIT_BSP_REMOVE
302 bool "Support removal of Bootstrap Processor"
303 depends on HOTPLUG_CPU
304 default n
305 ---help---
306 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
307 support.
308
309config FORCE_CPEI_RETARGET
310 bool "Force assumption that CPEI can be re-targetted"
311 depends on PERMIT_BSP_REMOVE
312 default n
313 ---help---
314 Say Y if you need to force the assumption that CPEI can be re-targetted to
315 any cpu in the system. This hint is available via ACPI 3.0 specifications.
316 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
317 This option it useful to enable this feature on older BIOS's as well.
318 You can also enable this by using boot command line option force_cpei=1.
319
Linus Torvalds1da177e2005-04-16 15:20:36 -0700320config PREEMPT
321 bool "Preemptible Kernel"
322 help
323 This option reduces the latency of the kernel when reacting to
324 real-time or interactive events by allowing a low priority process to
325 be preempted even if it is in kernel mode executing a system call.
326 This allows applications to run more reliably even when the system is
327 under load.
328
329 Say Y here if you are building a kernel for a desktop, embedded
330 or real-time system. Say N if you are unsure.
331
Dave Hansen3f22ab22005-06-23 00:07:43 -0700332source "mm/Kconfig"
333
Bob Piccoda9577c2005-10-04 15:13:37 -0400334config ARCH_SELECT_MEMORY_MODEL
335 def_bool y
336
337config ARCH_DISCONTIGMEM_ENABLE
338 def_bool y
339 help
340 Say Y to support efficient handling of discontiguous physical memory,
341 for architectures which are either NUMA (Non-Uniform Memory Access)
342 or have huge holes in the physical address space for other reasons.
343 See <file:Documentation/vm/numa> for more.
344
345config ARCH_FLATMEM_ENABLE
346 def_bool y
347
348config ARCH_SPARSEMEM_ENABLE
349 def_bool y
350 depends on ARCH_DISCONTIGMEM_ENABLE
351
352config ARCH_DISCONTIGMEM_DEFAULT
353 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
354 depends on ARCH_DISCONTIGMEM_ENABLE
355
356config NUMA
357 bool "NUMA support"
358 depends on !IA64_HP_SIM && !FLATMEM
359 default y if IA64_SGI_SN2
KAMEZAWA Hiroyuki6c33eb32006-11-08 17:44:50 -0800360 select ACPI_NUMA if ACPI
Bob Piccoda9577c2005-10-04 15:13:37 -0400361 help
362 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
363 Access). This option is for configuring high-end multiprocessor
364 server systems. If in doubt, say N.
365
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700366config NODES_SHIFT
367 int "Max num nodes shift(3-10)"
368 range 3 10
Christoph Lameterc57d68c2006-08-22 19:43:27 -0700369 default "10"
Yasunori Gotoc80d79d2006-04-10 22:53:53 -0700370 depends on NEED_MULTIPLE_NODES
371 help
372 This option specifies the maximum number of nodes in your SSI system.
373 MAX_NUMNODES will be 2^(This value).
374 If in doubt, use the default.
375
Mel Gorman05e0caa2006-09-27 01:49:54 -0700376config ARCH_POPULATES_NODE_MAP
377 def_bool y
378
Bob Piccoda9577c2005-10-04 15:13:37 -0400379# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
380# VIRTUAL_MEM_MAP has been retained for historical reasons.
381config VIRTUAL_MEM_MAP
382 bool "Virtual mem map"
383 depends on !SPARSEMEM
384 default y if !IA64_HP_SIM
385 help
386 Say Y to compile the kernel with support for a virtual mem map.
387 This code also only takes effect if a memory hole of greater than
388 1 Gb is found during boot. You must turn this option on if you
389 require the DISCONTIGMEM option for your machine. If you are
390 unsure, say Y.
391
392config HOLES_IN_ZONE
393 bool
394 default y if VIRTUAL_MEM_MAP
395
396config HAVE_ARCH_EARLY_PFN_TO_NID
397 def_bool y
398 depends on NEED_MULTIPLE_NODES
399
Yasunori Goto10ad4002006-06-27 02:53:33 -0700400config HAVE_ARCH_NODEDATA_EXTENSION
401 def_bool y
402 depends on NUMA
403
Linus Torvalds1da177e2005-04-16 15:20:36 -0700404config IA32_SUPPORT
405 bool "Support for Linux/x86 binaries"
406 help
407 IA-64 processors can execute IA-32 (X86) instructions. By
408 saying Y here, the kernel will include IA-32 system call
409 emulation support which makes it possible to transparently
410 run IA-32 Linux binaries on an IA-64 Linux system.
411 If in doubt, say Y.
412
413config COMPAT
414 bool
415 depends on IA32_SUPPORT
416 default y
417
418config IA64_MCA_RECOVERY
419 tristate "MCA recovery from errors other than TLB."
420
421config PERFMON
422 bool "Performance monitor support"
423 help
424 Selects whether support for the IA-64 performance monitor hardware
425 is included in the kernel. This makes some kernel data-structures a
426 little bigger and slows down execution a bit, but it is generally
427 a good idea to turn this on. If you're unsure, say Y.
428
429config IA64_PALINFO
430 tristate "/proc/pal support"
431 help
432 If you say Y here, you are able to get PAL (Processor Abstraction
433 Layer) information in /proc/pal. This contains useful information
434 about the processors in your systems, such as cache and TLB sizes
435 and the PAL firmware version in use.
436
437 To use this option, you have to ensure that the "/proc file system
438 support" (CONFIG_PROC_FS) is enabled, too.
439
Jes Sorensen466575f2006-01-19 04:54:00 -0500440config SGI_SN
441 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
442
David Mosberger-Tang2ab561a2006-06-21 11:19:22 -0700443config IA64_ESI
444 bool "ESI (Extensible SAL Interface) support"
445 help
446 If you say Y here, support is built into the kernel to
447 make ESI calls. ESI calls are used to support vendor-specific
448 firmware extensions, such as the ability to inject memory-errors
449 for test-purposes. If you're unsure, say N.
450
Brent Casavantc1311af2006-04-20 15:38:16 -0500451source "drivers/sn/Kconfig"
452
Zou Nan haia79561132006-12-07 09:51:35 -0800453config KEXEC
454 bool "kexec system call (EXPERIMENTAL)"
455 depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
456 help
457 kexec is a system call that implements the ability to shutdown your
458 current kernel, and to start another kernel. It is like a reboot
459 but it is indepedent of the system firmware. And like a reboot
460 you can start any kernel with it, not just Linux.
461
462 The name comes from the similiarity to the exec system call.
463
464 It is an ongoing process to be certain the hardware in a machine
465 is properly shutdown, so do not be surprised if this code does not
466 initially work for you. It may help to enable device hotplugging
467 support. As of this writing the exact hardware interface is
468 strongly in flux, so no good recommendation can be made.
469
470config CRASH_DUMP
471 bool "kernel crash dumps (EXPERIMENTAL)"
472 depends on EXPERIMENTAL && IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
473 help
474 Generate crash dump after being started by kexec.
475
Linus Torvalds1da177e2005-04-16 15:20:36 -0700476source "drivers/firmware/Kconfig"
477
478source "fs/Kconfig.binfmt"
479
480endmenu
481
482menu "Power management and ACPI"
483
Len Browneb7b6b32005-08-25 12:08:25 -0400484source "kernel/power/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700485
486source "drivers/acpi/Kconfig"
487
Venkatesh Pallipadi4db86992005-07-29 16:15:00 -0700488if PM
489
490source "arch/ia64/kernel/cpufreq/Kconfig"
491
492endif
493
Linus Torvalds1da177e2005-04-16 15:20:36 -0700494endmenu
495
496if !IA64_HP_SIM
497
498menu "Bus options (PCI, PCMCIA)"
499
500config PCI
501 bool "PCI support"
502 help
Christoph Hellwig85f265d2005-08-09 13:38:00 -0700503 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
504 here unless you are using a simulator without PCI support.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700505
506config PCI_DOMAINS
507 bool
508 default PCI
509
Kenji Kaneshigeb7bb5752006-04-28 11:50:43 +0900510source "drivers/pci/pcie/Kconfig"
511
Linus Torvalds1da177e2005-04-16 15:20:36 -0700512source "drivers/pci/Kconfig"
513
514source "drivers/pci/hotplug/Kconfig"
515
516source "drivers/pcmcia/Kconfig"
517
518endmenu
519
520endif
521
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700522source "net/Kconfig"
523
Linus Torvalds1da177e2005-04-16 15:20:36 -0700524source "drivers/Kconfig"
525
Jes Sorensen1a4b0fc2006-11-10 12:27:49 -0800526config MSPEC
527 tristate "Memory special operations driver"
528 depends on IA64
529 select IA64_UNCACHED_ALLOCATOR
530 help
531 If you have an ia64 and you want to enable memory special
532 operations support (formerly known as fetchop), say Y here,
533 otherwise say N.
534
Linus Torvalds1da177e2005-04-16 15:20:36 -0700535source "fs/Kconfig"
536
537source "lib/Kconfig"
538
539#
540# Use the generic interrupt handling code in kernel/irq/:
541#
542config GENERIC_HARDIRQS
543 bool
544 default y
545
546config GENERIC_IRQ_PROBE
547 bool
548 default y
549
Ashok Raj54d5d422005-09-06 15:16:15 -0700550config GENERIC_PENDING_IRQ
551 bool
552 depends on GENERIC_HARDIRQS && SMP
553 default y
554
Ingo Molnar0d7012a2006-06-29 02:24:43 -0700555config IRQ_PER_CPU
556 bool
557 default y
558
Linus Torvalds1da177e2005-04-16 15:20:36 -0700559source "arch/ia64/hp/sim/Kconfig"
560
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800561menu "Instrumentation Support"
562 depends on EXPERIMENTAL
563
Linus Torvalds1da177e2005-04-16 15:20:36 -0700564source "arch/ia64/oprofile/Kconfig"
565
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800566config KPROBES
567 bool "Kprobes (EXPERIMENTAL)"
Ananth N Mavinakayanahalli3a872d82006-10-02 02:17:30 -0700568 depends on KALLSYMS && EXPERIMENTAL && MODULES
Prasanna S Panchamukhicd6b0762005-11-07 00:59:14 -0800569 help
570 Kprobes allows you to trap at almost any kernel address and
571 execute a callback function. register_kprobe() establishes
572 a probepoint and specifies the callback. Kprobes is useful
573 for kernel debugging, non-intrusive instrumentation and testing.
574 If in doubt, say "N".
575endmenu
576
Linus Torvalds1da177e2005-04-16 15:20:36 -0700577source "arch/ia64/Kconfig.debug"
578
579source "security/Kconfig"
580
581source "crypto/Kconfig"