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"
14 select PCI if (!IA64_HP_SIM)
15 select ACPI if (!IA64_HP_SIM)
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>.
25 select ATA_NONSTANDARD if ATA
30 depends on !IA64_SGI_SN2
39 config RWSEM_XCHGADD_ALGORITHM
43 config ARCH_HAS_ILOG2_U32
47 config ARCH_HAS_ILOG2_U64
51 config GENERIC_FIND_NEXT_BIT
55 config GENERIC_CALIBRATE_DELAY
59 config TIME_INTERPOLATION
75 config SCHED_NO_NO_OMIT_FRAME_POINTER
79 config IA64_UNCACHED_ALLOCATOR
81 select GENERIC_ALLOCATOR
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.
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/>
108 If you don't know what to do, choose "generic".
117 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
118 support for the HP I/O MMU.
120 config IA64_HP_ZX1_SWIOTLB
121 bool "HP-zx1/sx1000 with software I/O TLB"
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).
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
146 prompt "Processor type"
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.
159 Select this to configure for an Itanium 2 (McKinley) processor.
164 prompt "Kernel page size"
165 default IA64_PAGE_SIZE_16KB
167 config IA64_PAGE_SIZE_4KB
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
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.
182 If you don't know what to do, choose 16KB.
184 config IA64_PAGE_SIZE_8KB
187 config IA64_PAGE_SIZE_16KB
190 config IA64_PAGE_SIZE_64KB
197 prompt "Page Table Levels"
204 depends on !IA64_PAGE_SIZE_64KB
209 source kernel/Kconfig.hz
216 # align cache-sensitive data to 128 bytes
217 config IA64_L1_CACHE_SHIFT
219 default "7" if MCKINLEY
220 default "6" if ITANIUM
223 bool "Cyclone (EXA) Time Source support"
225 Say Y here to enable support for IBM EXA Cyclone time source.
226 If you're unsure, answer N.
230 depends on !IA64_HP_SIM
233 config IA64_SGI_SN_XP
234 tristate "Support communication between SGI SSIs"
235 depends on IA64_GENERIC || IA64_SGI_SN2
236 select IA64_UNCACHED_ALLOCATOR
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.
244 config FORCE_MAX_ZONEORDER
245 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
246 range 11 17 if !HUGETLB_PAGE
247 default "17" if HUGETLB_PAGE
251 bool "Symmetric multi-processing support"
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
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.
263 See also the <file:Documentation/smp.txt> and the SMP-HOWTO
264 available at <http://www.tldp.org/docs.html#howto>.
266 If you don't know what to do here, say N.
269 int "Maximum number of CPUs (2-1024)"
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
281 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
282 depends on SMP && EXPERIMENTAL
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.
290 config ARCH_ENABLE_MEMORY_HOTPLUG
294 bool "SMT scheduler support"
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.
301 config PERMIT_BSP_REMOVE
302 bool "Support removal of Bootstrap Processor"
303 depends on HOTPLUG_CPU
306 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
309 config FORCE_CPEI_RETARGET
310 bool "Force assumption that CPEI can be re-targetted"
311 depends on PERMIT_BSP_REMOVE
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.
321 bool "Preemptible Kernel"
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
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.
334 config ARCH_SELECT_MEMORY_MODEL
337 config ARCH_DISCONTIGMEM_ENABLE
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.
345 config ARCH_FLATMEM_ENABLE
348 config ARCH_SPARSEMEM_ENABLE
350 depends on ARCH_DISCONTIGMEM_ENABLE
352 config 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
358 depends on !IA64_HP_SIM && !FLATMEM
359 default y if IA64_SGI_SN2
360 select ACPI_NUMA if ACPI
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.
367 int "Max num nodes shift(3-10)"
370 depends on NEED_MULTIPLE_NODES
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.
376 config ARCH_POPULATES_NODE_MAP
379 # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
380 # VIRTUAL_MEM_MAP has been retained for historical reasons.
381 config VIRTUAL_MEM_MAP
382 bool "Virtual mem map"
383 depends on !SPARSEMEM
384 default y if !IA64_HP_SIM
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
394 default y if VIRTUAL_MEM_MAP
396 config HAVE_ARCH_EARLY_PFN_TO_NID
398 depends on NEED_MULTIPLE_NODES
400 config HAVE_ARCH_NODEDATA_EXTENSION
405 bool "Support for Linux/x86 binaries"
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.
415 depends on IA32_SUPPORT
418 config IA64_MCA_RECOVERY
419 tristate "MCA recovery from errors other than TLB."
422 bool "Performance monitor support"
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.
430 tristate "/proc/pal support"
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.
437 To use this option, you have to ensure that the "/proc file system
438 support" (CONFIG_PROC_FS) is enabled, too.
441 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
444 bool "ESI (Extensible SAL Interface) support"
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.
451 source "drivers/sn/Kconfig"
454 bool "kexec system call (EXPERIMENTAL)"
455 depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
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.
462 The name comes from the similiarity to the exec system call.
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.
471 bool "kernel crash dumps (EXPERIMENTAL)"
472 depends on EXPERIMENTAL && IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
474 Generate crash dump after being started by kexec.
476 source "drivers/firmware/Kconfig"
478 source "fs/Kconfig.binfmt"
482 menu "Power management and ACPI"
484 source "kernel/power/Kconfig"
486 source "drivers/acpi/Kconfig"
490 source "arch/ia64/kernel/cpufreq/Kconfig"
498 menu "Bus options (PCI, PCMCIA)"
503 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.
510 source "drivers/pci/pcie/Kconfig"
512 source "drivers/pci/Kconfig"
514 source "drivers/pci/hotplug/Kconfig"
516 source "drivers/pcmcia/Kconfig"
524 source "drivers/Kconfig"
527 tristate "Memory special operations driver"
529 select IA64_UNCACHED_ALLOCATOR
531 If you have an ia64 and you want to enable memory special
532 operations support (formerly known as fetchop), say Y here,
540 # Use the generic interrupt handling code in kernel/irq/:
542 config GENERIC_HARDIRQS
546 config GENERIC_IRQ_PROBE
550 config GENERIC_PENDING_IRQ
552 depends on GENERIC_HARDIRQS && SMP
559 source "arch/ia64/hp/sim/Kconfig"
561 menu "Instrumentation Support"
562 depends on EXPERIMENTAL
564 source "arch/ia64/oprofile/Kconfig"
567 bool "Kprobes (EXPERIMENTAL)"
568 depends on KALLSYMS && EXPERIMENTAL && MODULES
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".
577 source "arch/ia64/Kconfig.debug"
579 source "security/Kconfig"
581 source "crypto/Kconfig"