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
152 config MCKINLEY_ASTEP_SPECIFIC
153 bool "McKinley A-step specific code"
156 Select this option to build a kernel for an IA-64 McKinley prototype
157 system with any A-stepping CPU.
159 config MCKINLEY_A0_SPECIFIC
160 bool "McKinley A0/A1-step specific code"
161 depends on MCKINLEY_ASTEP_SPECIFIC
163 Select this option to build a kernel for an IA-64 McKinley prototype
164 system with an A0 or A1 stepping CPU.
168 depends on !IA64_HP_SIM
169 default y if IA64_SGI_SN2
171 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
172 Access). This option is for configuring high-end multiprocessor
173 server systems. If in doubt, say N.
175 config VIRTUAL_MEM_MAP
176 bool "Virtual mem map"
177 default y if !IA64_HP_SIM
179 Say Y to compile the kernel with support for a virtual mem map.
180 This code also only takes effect if a memory hole of greater than
181 1 Gb is found during boot. You must turn this option on if you
182 require the DISCONTIGMEM option for your machine. If you are
186 bool "Discontiguous memory support"
187 depends on (IA64_DIG || IA64_SGI_SN2 || IA64_GENERIC) && NUMA && VIRTUAL_MEM_MAP
188 default y if (IA64_SGI_SN2 || IA64_GENERIC) && NUMA
190 Say Y to support efficient handling of discontiguous physical memory,
191 for architectures which are either NUMA (Non-Uniform Memory Access)
192 or have huge holes in the physical address space for other reasons.
193 See <file:Documentation/vm/numa> for more.
196 bool "Support Cyclone(EXA) Time Source"
198 Say Y here to enable support for IBM EXA Cyclone time source.
199 If you're unsure, answer N.
203 depends on !IA64_HP_SIM
206 config IA64_SGI_SN_SIM
207 bool "SGI Medusa Simulator Support"
208 depends on IA64_SGI_SN2
210 If you are compiling a kernel that will run under SGI's IA-64
211 simulator (Medusa) then say Y, otherwise say N.
213 config FORCE_MAX_ZONEORDER
218 bool "Symmetric multi-processing support"
220 This enables support for systems with more than one CPU. If you have
221 a system with only one CPU, say N. If you have a system with more
224 If you say N here, the kernel will run on single and multiprocessor
225 systems, but will use only one CPU of a multiprocessor system. If
226 you say Y here, the kernel will run on many, but not all,
227 single processor systems. On a single processor system, the kernel
228 will run faster if you say N here.
230 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
231 available at <http://www.tldp.org/docs.html#howto>.
233 If you don't know what to do here, say N.
236 int "Maximum number of CPUs (2-512)"
241 You should set this to the number of CPUs in your system, but
242 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
243 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
244 than 64 will cause the use of a CPU mask array, causing a small
248 bool "Preemptible Kernel"
250 This option reduces the latency of the kernel when reacting to
251 real-time or interactive events by allowing a low priority process to
252 be preempted even if it is in kernel mode executing a system call.
253 This allows applications to run more reliably even when the system is
256 Say Y here if you are building a kernel for a desktop, embedded
257 or real-time system. Say N if you are unsure.
261 depends on (SMP || PREEMPT)
265 bool "Support for Linux/x86 binaries"
267 IA-64 processors can execute IA-32 (X86) instructions. By
268 saying Y here, the kernel will include IA-32 system call
269 emulation support which makes it possible to transparently
270 run IA-32 Linux binaries on an IA-64 Linux system.
275 depends on IA32_SUPPORT
279 bool "Performance monitor support"
281 Selects whether support for the IA-64 performance monitor hardware
282 is included in the kernel. This makes some kernel data-structures a
283 little bigger and slows down execution a bit, but it is generally
284 a good idea to turn this on. If you're unsure, say Y.
287 tristate "/proc/pal support"
289 If you say Y here, you are able to get PAL (Processor Abstraction
290 Layer) information in /proc/pal. This contains useful information
291 about the processors in your systems, such as cache and TLB sizes
292 and the PAL firmware version in use.
294 To use this option, you have to ensure that the "/proc file system
295 support" (CONFIG_PROC_FS) is enabled, too.
297 source "drivers/firmware/Kconfig"
299 source "fs/Kconfig.binfmt"
303 menu "Power management and ACPI"
306 bool "Power Management support"
307 depends on IA64_GENERIC || IA64_DIG || IA64_HP_ZX1
310 "Power Management" means that parts of your computer are shut
311 off or put into a power conserving "sleep" mode if they are not
312 being used. There are two competing standards for doing this: APM
313 and ACPI. If you want to use either one, say Y here and then also
314 to the requisite support below.
316 Power Management is most important for battery powered laptop
317 computers; if you have a laptop, check out the Linux Laptop home
318 page on the WWW at <http://www.linux-on-laptops.com/> and the
319 Battery Powered Linux mini-HOWTO, available from
320 <http://www.tldp.org/docs.html#howto>.
322 Note that, even if you say N here, Linux on the x86 architecture
323 will issue the hlt instruction if nothing is to be done, thereby
324 sending the processor to sleep and saving power.
328 depends on !IA64_HP_SIM
333 source "drivers/acpi/Kconfig"
341 menu "Bus options (PCI, PCMCIA)"
346 Find out whether you have a PCI motherboard. PCI is the name of a
347 bus system, i.e. the way the CPU talks to the other stuff inside
348 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
349 VESA. If you have PCI, say Y, otherwise N.
351 The PCI-HOWTO, available from
352 <http://www.tldp.org/docs.html#howto>, contains valuable
353 information about which PCI hardware does work under Linux and which
360 source "drivers/pci/Kconfig"
362 source "drivers/pci/hotplug/Kconfig"
364 source "drivers/pcmcia/Kconfig"
370 source "drivers/Kconfig"
376 source "arch/ia64/hp/sim/Kconfig"
378 source "arch/ia64/oprofile/Kconfig"
380 menu "Kernel hacking"
383 prompt "Physical memory granularity"
384 default IA64_GRANULE_64MB
386 config IA64_GRANULE_16MB
389 IA-64 identity-mapped regions use a large page size called "granules".
391 Select "16MB" for a small granule size.
392 Select "64MB" for a large granule size. This is the current default.
394 config IA64_GRANULE_64MB
396 depends on !(IA64_GENERIC || IA64_HP_ZX1)
401 bool "Kernel debugging"
403 Say Y here if you are developing drivers or trying to debug and
404 identify kernel problems.
406 config IA64_PRINT_HAZARDS
407 bool "Print possible IA-64 dependency violations to console"
408 depends on DEBUG_KERNEL
410 Selecting this option prints more information for Illegal Dependency
411 Faults, that is, for Read-after-Write (RAW), Write-after-Write (WAW),
412 or Write-after-Read (WAR) violations. This option is ignored if you
413 are compiling for an Itanium A step processor
414 (CONFIG_ITANIUM_ASTEP_SPECIFIC). If you're unsure, select Y.
418 depends on DEBUG_KERNEL
420 The Virtual Hash Page Table (VHPT) enhances virtual address
421 translation performance. Normally you want the VHPT active but you
422 can select this option to disable the VHPT for debugging. If you're
426 bool "Magic SysRq key"
427 depends on DEBUG_KERNEL
429 If you say Y here, you will have some control over the system even
430 if the system crashes for example during kernel debugging (e.g., you
431 will be able to flush the buffer cache to disk, reboot the system
432 immediately or dump some status information). This is accomplished
433 by pressing various keys while holding SysRq (Alt+PrintScreen). It
434 also works on a serial console (on PC hardware at least), if you
435 send a BREAK and then within 5 seconds a command keypress. The
436 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
437 unless you really know what this hack does.
440 bool "Debug memory allocations"
441 depends on DEBUG_KERNEL
443 Say Y here to have the kernel do limited verification on memory
444 allocation as well as poisoning memory on free to catch use of freed
447 config DEBUG_SPINLOCK
448 bool "Spinlock debugging"
449 depends on DEBUG_KERNEL
451 Say Y here and build SMP to catch missing spinlock initialization
452 and certain other kinds of spinlock errors commonly made. This is
453 best used in conjunction with the NMI watchdog so that spinlock
454 deadlocks are also debuggable.
456 config DEBUG_SPINLOCK_SLEEP
457 bool "Sleep-inside-spinlock checking"
459 If you say Y here, various routines which may sleep will become very
460 noisy if they are called with a spinlock held.
462 config IA64_DEBUG_CMPXCHG
463 bool "Turn on compare-and-exchange bug checking (slow!)"
464 depends on DEBUG_KERNEL
466 Selecting this option turns on bug checking for the IA-64
467 compare-and-exchange instructions. This is slow! Itaniums
468 from step B3 or later don't have this problem. If you're unsure,
471 config IA64_DEBUG_IRQ
472 bool "Turn on irq debug checks (slow!)"
473 depends on DEBUG_KERNEL
475 Selecting this option turns on bug checking for the IA-64 irq_save
476 and restore instructions. It's useful for tracking down spinlock
477 problems, but slow! If you're unsure, select N.
480 bool "Compile the kernel with debug info"
481 depends on DEBUG_KERNEL
483 If you say Y here the resulting kernel image will include
484 debugging info resulting in a larger kernel image.
485 Say Y here only if you plan to use gdb to debug the kernel.
486 If you don't debug the kernel, you can say N.
488 config SYSVIPC_COMPAT
490 depends on COMPAT && SYSVIPC
494 source "kernel/vserver/Kconfig"
496 source "security/Kconfig"
498 source "crypto/Kconfig"