2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "IA-64 Linux Kernel Configuration"
10 menu "Processor type and features"
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>.
29 config RWSEM_XCHGADD_ALGORITHM
33 config TIME_INTERPOLATION
47 select VIRTUAL_MEM_MAP
49 This selects the system type of your hardware. A "generic" kernel
50 will run on any supported IA-64 system. However, if you configure
51 a kernel for your specific system, it will be faster and smaller.
53 generic For any supported IA-64 system
54 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
55 HP-zx1/sx1000 For HP systems
56 SGI-SN2 For SGI Altix systems
57 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
59 If you don't know what to do, choose "generic".
67 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
68 support for the HP I/O MMU.
79 prompt "Processor type"
85 Select your IA-64 processor type. The default is Itanium.
86 This choice is safe for all IA-64 systems, but may not perform
87 optimally on systems with, say, Itanium 2 or newer processors.
92 Select this to configure for an Itanium 2 (McKinley) processor.
97 prompt "Kernel page size"
98 default IA64_PAGE_SIZE_16KB
100 config IA64_PAGE_SIZE_4KB
103 This lets you select the page size of the kernel. For best IA-64
104 performance, a page size of 8KB or 16KB is recommended. For best
105 IA-32 compatibility, a page size of 4KB should be selected (the vast
106 majority of IA-32 binaries work perfectly fine with a larger page
107 size). For Itanium 2 or newer systems, a page size of 64KB can also
110 4KB For best IA-32 compatibility
111 8KB For best IA-64 performance
112 16KB For best IA-64 performance
113 64KB Requires Itanium 2 or newer processor.
115 If you don't know what to do, choose 16KB.
117 config IA64_PAGE_SIZE_8KB
120 config IA64_PAGE_SIZE_16KB
123 config IA64_PAGE_SIZE_64KB
134 config ITANIUM_BSTEP_SPECIFIC
135 bool "Itanium B-step specific code"
138 Select this option to build a kernel for an Itanium prototype system
139 with a B-step CPU. You have a B-step CPU if the "revision" field in
140 /proc/cpuinfo has a value in the range from 1 to 4.
142 # align cache-sensitive data to 128 bytes
143 config IA64_L1_CACHE_SHIFT
145 default "7" if MCKINLEY
146 default "6" if ITANIUM
148 # align cache-sensitive data to 64 bytes
151 depends on !IA64_HP_SIM
152 default y if IA64_SGI_SN2
154 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
155 Access). This option is for configuring high-end multiprocessor
156 server systems. If in doubt, say N.
158 config VIRTUAL_MEM_MAP
159 bool "Virtual mem map"
160 default y if !IA64_HP_SIM
162 Say Y to compile the kernel with support for a virtual mem map.
163 This code also only takes effect if a memory hole of greater than
164 1 Gb is found during boot. You must turn this option on if you
165 require the DISCONTIGMEM option for your machine. If you are
169 bool "Discontiguous memory support"
170 depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC) && NUMA && VIRTUAL_MEM_MAP
171 default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
173 Say Y to support efficient handling of discontiguous physical memory,
174 for architectures which are either NUMA (Non-Uniform Memory Access)
175 or have huge holes in the physical address space for other reasons.
176 See <file:Documentation/vm/numa> for more.
179 bool "Support Cyclone(EXA) Time Source"
181 Say Y here to enable support for IBM EXA Cyclone time source.
182 If you're unsure, answer N.
186 depends on !IA64_HP_SIM
189 config IA64_SGI_SN_SIM
190 bool "SGI Medusa Simulator Support"
191 depends on IA64_SGI_SN2
193 If you are compiling a kernel that will run under SGI's IA-64
194 simulator (Medusa) then say Y, otherwise say N.
196 config FORCE_MAX_ZONEORDER
201 bool "Symmetric multi-processing support"
203 This enables support for systems with more than one CPU. If you have
204 a system with only one CPU, say N. If you have a system with more
207 If you say N here, the kernel will run on single and multiprocessor
208 systems, but will use only one CPU of a multiprocessor system. If
209 you say Y here, the kernel will run on many, but not all,
210 single processor systems. On a single processor system, the kernel
211 will run faster if you say N here.
213 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
214 available at <http://www.tldp.org/docs.html#howto>.
216 If you don't know what to do here, say N.
219 int "Maximum number of CPUs (2-512)"
224 You should set this to the number of CPUs in your system, but
225 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
226 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
227 than 64 will cause the use of a CPU mask array, causing a small
231 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
232 depends on SMP && HOTPLUG && EXPERIMENTAL
235 Say Y here to experiment with turning CPUs off and on. CPUs
236 can be controlled through /sys/devices/system/cpu/cpu#.
237 Say N if you want to disable CPU hotplug.
240 bool "Preemptible Kernel"
242 This option reduces the latency of the kernel when reacting to
243 real-time or interactive events by allowing a low priority process to
244 be preempted even if it is in kernel mode executing a system call.
245 This allows applications to run more reliably even when the system is
248 Say Y here if you are building a kernel for a desktop, embedded
249 or real-time system. Say N if you are unsure.
253 depends on (SMP || PREEMPT)
257 bool "Support for Linux/x86 binaries"
259 IA-64 processors can execute IA-32 (X86) instructions. By
260 saying Y here, the kernel will include IA-32 system call
261 emulation support which makes it possible to transparently
262 run IA-32 Linux binaries on an IA-64 Linux system.
267 depends on IA32_SUPPORT
271 bool "Performance monitor support"
273 Selects whether support for the IA-64 performance monitor hardware
274 is included in the kernel. This makes some kernel data-structures a
275 little bigger and slows down execution a bit, but it is generally
276 a good idea to turn this on. If you're unsure, say Y.
279 tristate "/proc/pal support"
281 If you say Y here, you are able to get PAL (Processor Abstraction
282 Layer) information in /proc/pal. This contains useful information
283 about the processors in your systems, such as cache and TLB sizes
284 and the PAL firmware version in use.
286 To use this option, you have to ensure that the "/proc file system
287 support" (CONFIG_PROC_FS) is enabled, too.
289 source "drivers/firmware/Kconfig"
291 source "fs/Kconfig.binfmt"
295 menu "Power management and ACPI"
298 bool "Power Management support"
299 depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1
302 "Power Management" means that parts of your computer are shut
303 off or put into a power conserving "sleep" mode if they are not
304 being used. There are two competing standards for doing this: APM
305 and ACPI. If you want to use either one, say Y here and then also
306 to the requisite support below.
308 Power Management is most important for battery powered laptop
309 computers; if you have a laptop, check out the Linux Laptop home
310 page on the WWW at <http://www.linux-on-laptops.com/> and the
311 Battery Powered Linux mini-HOWTO, available from
312 <http://www.tldp.org/docs.html#howto>.
314 Note that, even if you say N here, Linux on the x86 architecture
315 will issue the hlt instruction if nothing is to be done, thereby
316 sending the processor to sleep and saving power.
320 depends on !IA64_HP_SIM
325 source "drivers/acpi/Kconfig"
333 menu "Bus options (PCI, PCMCIA)"
338 Find out whether you have a PCI motherboard. PCI is the name of a
339 bus system, i.e. the way the CPU talks to the other stuff inside
340 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
341 VESA. If you have PCI, say Y, otherwise N.
343 The PCI-HOWTO, available from
344 <http://www.tldp.org/docs.html#howto>, contains valuable
345 information about which PCI hardware does work under Linux and which
352 source "drivers/pci/Kconfig"
354 source "drivers/pci/hotplug/Kconfig"
356 source "drivers/pcmcia/Kconfig"
362 source "drivers/Kconfig"
368 source "arch/ia64/hp/sim/Kconfig"
370 source "arch/ia64/oprofile/Kconfig"
372 menu "Kernel hacking"
375 prompt "Physical memory granularity"
376 default IA64_GRANULE_64MB
378 config IA64_GRANULE_16MB
381 IA-64 identity-mapped regions use a large page size called "granules".
383 Select "16MB" for a small granule size.
384 Select "64MB" for a large granule size. This is the current default.
386 config IA64_GRANULE_64MB
388 depends on !(IA64_GENERIC || IA64_HP_ZX1 || IA64_SGI_SN2)
393 bool "Kernel debugging"
395 Say Y here if you are developing drivers or trying to debug and
396 identify kernel problems.
398 config IA64_PRINT_HAZARDS
399 bool "Print possible IA-64 dependency violations to console"
400 depends on DEBUG_KERNEL
402 Selecting this option prints more information for Illegal Dependency
403 Faults, that is, for Read-after-Write (RAW), Write-after-Write (WAW),
404 or Write-after-Read (WAR) violations. This option is ignored if you
405 are compiling for an Itanium A step processor
406 (CONFIG_ITANIUM_ASTEP_SPECIFIC). If you're unsure, select Y.
410 depends on DEBUG_KERNEL
412 The Virtual Hash Page Table (VHPT) enhances virtual address
413 translation performance. Normally you want the VHPT active but you
414 can select this option to disable the VHPT for debugging. If you're
418 bool "Magic SysRq key"
419 depends on DEBUG_KERNEL
421 If you say Y here, you will have some control over the system even
422 if the system crashes for example during kernel debugging (e.g., you
423 will be able to flush the buffer cache to disk, reboot the system
424 immediately or dump some status information). This is accomplished
425 by pressing various keys while holding SysRq (Alt+PrintScreen). It
426 also works on a serial console (on PC hardware at least), if you
427 send a BREAK and then within 5 seconds a command keypress. The
428 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
429 unless you really know what this hack does.
432 bool "Debug memory allocations"
433 depends on DEBUG_KERNEL
435 Say Y here to have the kernel do limited verification on memory
436 allocation as well as poisoning memory on free to catch use of freed
439 config DEBUG_SPINLOCK
440 bool "Spinlock debugging"
441 depends on DEBUG_KERNEL
443 Say Y here and build SMP to catch missing spinlock initialization
444 and certain other kinds of spinlock errors commonly made. This is
445 best used in conjunction with the NMI watchdog so that spinlock
446 deadlocks are also debuggable.
448 config DEBUG_SPINLOCK_SLEEP
449 bool "Sleep-inside-spinlock checking"
451 If you say Y here, various routines which may sleep will become very
452 noisy if they are called with a spinlock held.
454 config IA64_DEBUG_CMPXCHG
455 bool "Turn on compare-and-exchange bug checking (slow!)"
456 depends on DEBUG_KERNEL
458 Selecting this option turns on bug checking for the IA-64
459 compare-and-exchange instructions. This is slow! Itaniums
460 from step B3 or later don't have this problem. If you're unsure,
463 config IA64_DEBUG_IRQ
464 bool "Turn on irq debug checks (slow!)"
465 depends on DEBUG_KERNEL
467 Selecting this option turns on bug checking for the IA-64 irq_save
468 and restore instructions. It's useful for tracking down spinlock
469 problems, but slow! If you're unsure, select N.
472 bool "Compile the kernel with debug info"
473 depends on DEBUG_KERNEL
475 If you say Y here the resulting kernel image will include
476 debugging info resulting in a larger kernel image.
477 Say Y here only if you plan to use gdb to debug the kernel.
478 If you don't debug the kernel, you can say N.
480 config SYSVIPC_COMPAT
482 depends on COMPAT && SYSVIPC
486 source "kernel/vserver/Kconfig"
488 source "security/Kconfig"
490 source "crypto/Kconfig"