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
49 select VIRTUAL_MEM_MAP
52 This selects the system type of your hardware. A "generic" kernel
53 will run on any supported IA-64 system. However, if you configure
54 a kernel for your specific system, it will be faster and smaller.
56 generic For any supported IA-64 system
57 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
58 HP-zx1/sx1000 For HP systems
59 SGI-SN2 For SGI Altix systems
60 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
62 If you don't know what to do, choose "generic".
70 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
71 support for the HP I/O MMU.
82 prompt "Processor type"
88 Select your IA-64 processor type. The default is Itanium.
89 This choice is safe for all IA-64 systems, but may not perform
90 optimally on systems with, say, Itanium 2 or newer processors.
95 Select this to configure for an Itanium 2 (McKinley) processor.
100 prompt "Kernel page size"
101 default IA64_PAGE_SIZE_16KB
103 config IA64_PAGE_SIZE_4KB
106 This lets you select the page size of the kernel. For best IA-64
107 performance, a page size of 8KB or 16KB is recommended. For best
108 IA-32 compatibility, a page size of 4KB should be selected (the vast
109 majority of IA-32 binaries work perfectly fine with a larger page
110 size). For Itanium 2 or newer systems, a page size of 64KB can also
113 4KB For best IA-32 compatibility
114 8KB For best IA-64 performance
115 16KB For best IA-64 performance
116 64KB Requires Itanium 2 or newer processor.
118 If you don't know what to do, choose 16KB.
120 config IA64_PAGE_SIZE_8KB
123 config IA64_PAGE_SIZE_16KB
126 config IA64_PAGE_SIZE_64KB
137 config ITANIUM_BSTEP_SPECIFIC
138 bool "Itanium B-step specific code"
141 Select this option to build a kernel for an Itanium prototype system
142 with a B-step CPU. You have a B-step CPU if the "revision" field in
143 /proc/cpuinfo has a value in the range from 1 to 4.
145 # align cache-sensitive data to 128 bytes
146 config IA64_L1_CACHE_SHIFT
148 default "7" if MCKINLEY
149 default "6" if ITANIUM
151 # align cache-sensitive data to 64 bytes
154 depends on !IA64_HP_SIM
155 default y if IA64_SGI_SN2
157 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
158 Access). This option is for configuring high-end multiprocessor
159 server systems. If in doubt, say N.
161 config VIRTUAL_MEM_MAP
162 bool "Virtual mem map"
163 default y if !IA64_HP_SIM
165 Say Y to compile the kernel with support for a virtual mem map.
166 This code also only takes effect if a memory hole of greater than
167 1 Gb is found during boot. You must turn this option on if you
168 require the DISCONTIGMEM option for your machine. If you are
172 bool "Discontiguous memory support"
173 depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1) && NUMA && VIRTUAL_MEM_MAP
174 default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
176 Say Y to support efficient handling of discontiguous physical memory,
177 for architectures which are either NUMA (Non-Uniform Memory Access)
178 or have huge holes in the physical address space for other reasons.
179 See <file:Documentation/vm/numa> for more.
182 bool "Cyclone (EXA) Time Source support"
184 Say Y here to enable support for IBM EXA Cyclone time source.
185 If you're unsure, answer N.
189 depends on !IA64_HP_SIM
192 config IA64_SGI_SN_SIM
193 bool "SGI Medusa Simulator Support"
194 depends on IA64_SGI_SN2
196 If you are compiling a kernel that will run under SGI's IA-64
197 simulator (Medusa) then say Y, otherwise say N.
199 config FORCE_MAX_ZONEORDER
204 bool "Symmetric multi-processing support"
206 This enables support for systems with more than one CPU. If you have
207 a system with only one CPU, say N. If you have a system with more
210 If you say N here, the kernel will run on single and multiprocessor
211 systems, but will use only one CPU of a multiprocessor system. If
212 you say Y here, the kernel will run on many, but not all,
213 single processor systems. On a single processor system, the kernel
214 will run faster if you say N here.
216 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
217 available at <http://www.tldp.org/docs.html#howto>.
219 If you don't know what to do here, say N.
222 int "Maximum number of CPUs (2-512)"
227 You should set this to the number of CPUs in your system, but
228 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
229 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
230 than 64 will cause the use of a CPU mask array, causing a small
234 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
235 depends on SMP && HOTPLUG && EXPERIMENTAL
238 Say Y here to experiment with turning CPUs off and on. CPUs
239 can be controlled through /sys/devices/system/cpu/cpu#.
240 Say N if you want to disable CPU hotplug.
243 bool "Preemptible Kernel"
245 This option reduces the latency of the kernel when reacting to
246 real-time or interactive events by allowing a low priority process to
247 be preempted even if it is in kernel mode executing a system call.
248 This allows applications to run more reliably even when the system is
251 Say Y here if you are building a kernel for a desktop, embedded
252 or real-time system. Say N if you are unsure.
256 depends on (SMP || PREEMPT)
260 bool "Support for Linux/x86 binaries"
262 IA-64 processors can execute IA-32 (X86) instructions. By
263 saying Y here, the kernel will include IA-32 system call
264 emulation support which makes it possible to transparently
265 run IA-32 Linux binaries on an IA-64 Linux system.
270 depends on IA32_SUPPORT
274 bool "Performance monitor support"
276 Selects whether support for the IA-64 performance monitor hardware
277 is included in the kernel. This makes some kernel data-structures a
278 little bigger and slows down execution a bit, but it is generally
279 a good idea to turn this on. If you're unsure, say Y.
282 tristate "/proc/pal support"
284 If you say Y here, you are able to get PAL (Processor Abstraction
285 Layer) information in /proc/pal. This contains useful information
286 about the processors in your systems, such as cache and TLB sizes
287 and the PAL firmware version in use.
289 To use this option, you have to ensure that the "/proc file system
290 support" (CONFIG_PROC_FS) is enabled, too.
292 source "drivers/firmware/Kconfig"
294 source "fs/Kconfig.binfmt"
298 menu "Power management and ACPI"
301 bool "Power Management support"
302 depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1
305 "Power Management" means that parts of your computer are shut
306 off or put into a power conserving "sleep" mode if they are not
307 being used. There are two competing standards for doing this: APM
308 and ACPI. If you want to use either one, say Y here and then also
309 to the requisite support below.
311 Power Management is most important for battery powered laptop
312 computers; if you have a laptop, check out the Linux Laptop home
313 page on the WWW at <http://www.linux-on-laptops.com/> and the
314 Battery Powered Linux mini-HOWTO, available from
315 <http://www.tldp.org/docs.html#howto>.
317 Note that, even if you say N here, Linux on the x86 architecture
318 will issue the hlt instruction if nothing is to be done, thereby
319 sending the processor to sleep and saving power.
323 depends on !IA64_HP_SIM
328 source "drivers/acpi/Kconfig"
336 menu "Bus options (PCI, PCMCIA)"
341 Find out whether you have a PCI motherboard. PCI is the name of a
342 bus system, i.e. the way the CPU talks to the other stuff inside
343 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
344 VESA. If you have PCI, say Y, otherwise N.
346 The PCI-HOWTO, available from
347 <http://www.tldp.org/docs.html#howto>, contains valuable
348 information about which PCI hardware does work under Linux and which
355 source "drivers/pci/Kconfig"
357 source "drivers/pci/hotplug/Kconfig"
359 source "drivers/pcmcia/Kconfig"
365 source "drivers/Kconfig"
371 source "arch/ia64/hp/sim/Kconfig"
373 source "arch/ia64/oprofile/Kconfig"
375 menu "Kernel hacking"
378 prompt "Physical memory granularity"
379 default IA64_GRANULE_64MB
381 config IA64_GRANULE_16MB
384 IA-64 identity-mapped regions use a large page size called "granules".
386 Select "16MB" for a small granule size.
387 Select "64MB" for a large granule size. This is the current default.
389 config IA64_GRANULE_64MB
391 depends on !(IA64_GENERIC || IA64_HP_ZX1 || IA64_SGI_SN2)
396 bool "Kernel debugging"
398 Say Y here if you are developing drivers or trying to debug and
399 identify kernel problems.
401 config IA64_PRINT_HAZARDS
402 bool "Print possible IA-64 dependency violations to console"
403 depends on DEBUG_KERNEL
405 Selecting this option prints more information for Illegal Dependency
406 Faults, that is, for Read-after-Write (RAW), Write-after-Write (WAW),
407 or Write-after-Read (WAR) violations. This option is ignored if you
408 are compiling for an Itanium A step processor
409 (CONFIG_ITANIUM_ASTEP_SPECIFIC). If you're unsure, select Y.
413 depends on DEBUG_KERNEL
415 The Virtual Hash Page Table (VHPT) enhances virtual address
416 translation performance. Normally you want the VHPT active but you
417 can select this option to disable the VHPT for debugging. If you're
421 bool "Magic SysRq key"
422 depends on DEBUG_KERNEL
424 If you say Y here, you will have some control over the system even
425 if the system crashes for example during kernel debugging (e.g., you
426 will be able to flush the buffer cache to disk, reboot the system
427 immediately or dump some status information). This is accomplished
428 by pressing various keys while holding SysRq (Alt+PrintScreen). It
429 also works on a serial console (on PC hardware at least), if you
430 send a BREAK and then within 5 seconds a command keypress. The
431 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
432 unless you really know what this hack does.
435 bool "Debug memory allocations"
436 depends on DEBUG_KERNEL
438 Say Y here to have the kernel do limited verification on memory
439 allocation as well as poisoning memory on free to catch use of freed
442 config DEBUG_SPINLOCK
443 bool "Spinlock debugging"
444 depends on DEBUG_KERNEL
446 Say Y here and build SMP to catch missing spinlock initialization
447 and certain other kinds of spinlock errors commonly made. This is
448 best used in conjunction with the NMI watchdog so that spinlock
449 deadlocks are also debuggable.
451 config DEBUG_SPINLOCK_SLEEP
452 bool "Sleep-inside-spinlock checking"
454 If you say Y here, various routines which may sleep will become very
455 noisy if they are called with a spinlock held.
457 config IA64_DEBUG_CMPXCHG
458 bool "Turn on compare-and-exchange bug checking (slow!)"
459 depends on DEBUG_KERNEL
461 Selecting this option turns on bug checking for the IA-64
462 compare-and-exchange instructions. This is slow! Itaniums
463 from step B3 or later don't have this problem. If you're unsure,
466 config IA64_DEBUG_IRQ
467 bool "Turn on irq debug checks (slow!)"
468 depends on DEBUG_KERNEL
470 Selecting this option turns on bug checking for the IA-64 irq_save
471 and restore instructions. It's useful for tracking down spinlock
472 problems, but slow! If you're unsure, select N.
475 bool "Compile the kernel with debug info"
476 depends on DEBUG_KERNEL
478 If you say Y here the resulting kernel image will include
479 debugging info resulting in a larger kernel image.
480 Say Y here only if you plan to use gdb to debug the kernel.
481 If you don't debug the kernel, you can say N.
483 config SYSVIPC_COMPAT
485 depends on COMPAT && SYSVIPC
489 source "kernel/vserver/Kconfig"
491 source "security/Kconfig"
493 source "crypto/Kconfig"