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 source "kernel/Kconfig.freezer"
12 menu "Processor type and features"
16 select PCI if (!IA64_HP_SIM)
17 select ACPI if (!IA64_HP_SIM)
18 select PM if (!IA64_HP_SIM)
19 select ARCH_SUPPORTS_MSI
20 select HAVE_UNSTABLE_SCHED_CLOCK
24 select HAVE_KRETPROBES
25 select HAVE_FTRACE_MCOUNT_RECORD
26 select HAVE_DYNAMIC_FTRACE if (!ITANIUM)
27 select HAVE_FUNCTION_TRACER
30 select HAVE_ARCH_TRACEHOOK
31 select HAVE_DMA_API_DEBUG
34 The Itanium Processor Family is Intel's 64-bit successor to
35 the 32-bit X86 line. The IA-64 Linux project has a home
36 page at <http://www.linuxia64.org/> and a mailing list at
37 <linux-ia64@vger.kernel.org>.
41 select ATA_NONSTANDARD if ATA
46 depends on !IA64_SGI_SN2
56 config NEED_DMA_MAP_STATE
59 config NEED_SG_DMA_LENGTH
65 config GENERIC_LOCKBREAK
68 config RWSEM_XCHGADD_ALGORITHM
72 config HUGETLB_PAGE_SIZE_VARIABLE
74 depends on HUGETLB_PAGE
77 config GENERIC_FIND_NEXT_BIT
81 config GENERIC_CALIBRATE_DELAY
85 config GENERIC_TIME_VSYSCALL
89 config HAVE_SETUP_PER_CPU_AREA
104 config SCHED_OMIT_FRAME_POINTER
108 config IA64_UNCACHED_ALLOCATOR
110 select GENERIC_ALLOCATOR
112 config ARCH_USES_PG_UNCACHED
114 depends on IA64_UNCACHED_ALLOCATOR
120 menuconfig PARAVIRT_GUEST
121 bool "Paravirtualized guest support"
123 Say Y here to get to see options related to running Linux under
124 various hypervisors. This option alone does not add any kernel code.
126 If you say N, all options in this submenu will be skipped and disabled.
131 bool "Enable paravirtualization code"
132 depends on PARAVIRT_GUEST
137 This changes the kernel so it can modify itself when it is run
138 under a hypervisor, potentially improving performance significantly
139 over full virtualization. However, when run without a hypervisor
140 the kernel is theoretically slower and slightly larger.
143 source "arch/ia64/xen/Kconfig"
159 This selects the system type of your hardware. A "generic" kernel
160 will run on any supported IA-64 system. However, if you configure
161 a kernel for your specific system, it will be faster and smaller.
163 generic For any supported IA-64 system
164 DIG-compliant For DIG ("Developer's Interface Guide") compliant systems
165 DIG+Intel+IOMMU For DIG systems with Intel IOMMU
166 HP-zx1/sx1000 For HP systems
167 HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices.
168 SGI-SN2 For SGI Altix systems
169 SGI-UV For SGI UV systems
170 Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/>
171 Xen-domU For xen domU system
173 If you don't know what to do, choose "generic".
180 bool "DIG+Intel+IOMMU"
187 Build a kernel that runs on HP zx1 and sx1000 systems. This adds
188 support for the HP I/O MMU.
190 config IA64_HP_ZX1_SWIOTLB
191 bool "HP-zx1/sx1000 with software I/O TLB"
194 Build a kernel that runs on HP zx1 and sx1000 systems even when they
195 have broken PCI devices which cannot DMA to full 32 bits. Apart
196 from support for the HP I/O MMU, this includes support for the software
197 I/O TLB, which allows supporting the broken devices at the expense of
198 wasting some kernel memory (about 2MB by default).
205 Selecting this option will optimize the kernel for use on sn2 based
206 systems, but the resulting kernel binary will not run on other
207 types of ia64 systems. If you have an SGI Altix system, it's safe
208 to select this option. If in doubt, select ia64 generic support
217 Selecting this option will optimize the kernel for use on UV based
218 systems, but the resulting kernel binary will not run on other
219 types of ia64 systems. If you have an SGI UV system, it's safe
220 to select this option. If in doubt, select ia64 generic support
227 config IA64_XEN_GUEST
232 Build a kernel that runs on Xen guest domain. At this moment only
233 16KB page size in supported.
238 prompt "Processor type"
244 Select your IA-64 processor type. The default is Itanium.
245 This choice is safe for all IA-64 systems, but may not perform
246 optimally on systems with, say, Itanium 2 or newer processors.
251 Select this to configure for an Itanium 2 (McKinley) processor.
256 prompt "Kernel page size"
257 default IA64_PAGE_SIZE_16KB
259 config IA64_PAGE_SIZE_4KB
262 This lets you select the page size of the kernel. For best IA-64
263 performance, a page size of 8KB or 16KB is recommended. For best
264 IA-32 compatibility, a page size of 4KB should be selected (the vast
265 majority of IA-32 binaries work perfectly fine with a larger page
266 size). For Itanium 2 or newer systems, a page size of 64KB can also
269 4KB For best IA-32 compatibility
270 8KB For best IA-64 performance
271 16KB For best IA-64 performance
272 64KB Requires Itanium 2 or newer processor.
274 If you don't know what to do, choose 16KB.
276 config IA64_PAGE_SIZE_8KB
279 config IA64_PAGE_SIZE_16KB
282 config IA64_PAGE_SIZE_64KB
289 prompt "Page Table Levels"
296 depends on !IA64_PAGE_SIZE_64KB
307 source kernel/Kconfig.hz
315 # align cache-sensitive data to 128 bytes
316 config IA64_L1_CACHE_SHIFT
318 default "7" if MCKINLEY
319 default "6" if ITANIUM
322 bool "Cyclone (EXA) Time Source support"
324 Say Y here to enable support for IBM EXA Cyclone time source.
325 If you're unsure, answer N.
329 depends on !IA64_HP_SIM
332 config FORCE_MAX_ZONEORDER
333 int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE
334 range 11 17 if !HUGETLB_PAGE
335 default "17" if HUGETLB_PAGE
338 config VIRT_CPU_ACCOUNTING
339 bool "Deterministic task and CPU time accounting"
342 Select this option to enable more accurate task and CPU time
343 accounting. This is done by reading a CPU counter on each
344 kernel entry and exit and on transitions within the kernel
345 between system, softirq and hardirq state, so there is a
346 small performance impact.
347 If in doubt, say N here.
350 bool "Symmetric multi-processing support"
351 select USE_GENERIC_SMP_HELPERS
353 This enables support for systems with more than one CPU. If you have
354 a system with only one CPU, say N. If you have a system with more
357 If you say N here, the kernel will run on single and multiprocessor
358 systems, but will use only one CPU of a multiprocessor system. If
359 you say Y here, the kernel will run on many, but not all,
360 single processor systems. On a single processor system, the kernel
361 will run faster if you say N here.
363 See also the SMP-HOWTO available at
364 <http://www.tldp.org/docs.html#howto>.
366 If you don't know what to do here, say N.
369 int "Maximum number of CPUs (2-4096)"
374 You should set this to the number of CPUs in your system, but
375 keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but
376 only use 2 CPUs on a >2 CPU system. Setting this to a value larger
377 than 64 will cause the use of a CPU mask array, causing a small
381 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
382 depends on SMP && EXPERIMENTAL
386 Say Y here to experiment with turning CPUs off and on. CPUs
387 can be controlled through /sys/devices/system/cpu/cpu#.
388 Say N if you want to disable CPU hotplug.
390 config ARCH_ENABLE_MEMORY_HOTPLUG
393 config ARCH_ENABLE_MEMORY_HOTREMOVE
397 bool "SMT scheduler support"
400 Improves the CPU scheduler's decision making when dealing with
401 Intel IA64 chips with MultiThreading at a cost of slightly increased
402 overhead in some places. If unsure say N here.
404 config PERMIT_BSP_REMOVE
405 bool "Support removal of Bootstrap Processor"
406 depends on HOTPLUG_CPU
409 Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU
412 config FORCE_CPEI_RETARGET
413 bool "Force assumption that CPEI can be re-targetted"
414 depends on PERMIT_BSP_REMOVE
417 Say Y if you need to force the assumption that CPEI can be re-targetted to
418 any cpu in the system. This hint is available via ACPI 3.0 specifications.
419 Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP.
420 This option it useful to enable this feature on older BIOS's as well.
421 You can also enable this by using boot command line option force_cpei=1.
423 source "kernel/Kconfig.preempt"
427 config ARCH_SELECT_MEMORY_MODEL
430 config ARCH_DISCONTIGMEM_ENABLE
433 Say Y to support efficient handling of discontiguous physical memory,
434 for architectures which are either NUMA (Non-Uniform Memory Access)
435 or have huge holes in the physical address space for other reasons.
436 See <file:Documentation/vm/numa> for more.
438 config ARCH_FLATMEM_ENABLE
441 config ARCH_SPARSEMEM_ENABLE
443 depends on ARCH_DISCONTIGMEM_ENABLE
444 select SPARSEMEM_VMEMMAP_ENABLE
446 config ARCH_DISCONTIGMEM_DEFAULT
447 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB)
448 depends on ARCH_DISCONTIGMEM_ENABLE
452 depends on !IA64_HP_SIM && !FLATMEM
453 default y if IA64_SGI_SN2
454 select ACPI_NUMA if ACPI
456 Say Y to compile the kernel to support NUMA (Non-Uniform Memory
457 Access). This option is for configuring high-end multiprocessor
458 server systems. If in doubt, say N.
461 int "Max num nodes shift(3-10)"
464 depends on NEED_MULTIPLE_NODES
466 This option specifies the maximum number of nodes in your SSI system.
467 MAX_NUMNODES will be 2^(This value).
468 If in doubt, use the default.
470 config ARCH_POPULATES_NODE_MAP
473 # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
474 # VIRTUAL_MEM_MAP has been retained for historical reasons.
475 config VIRTUAL_MEM_MAP
476 bool "Virtual mem map"
477 depends on !SPARSEMEM
478 default y if !IA64_HP_SIM
480 Say Y to compile the kernel with support for a virtual mem map.
481 This code also only takes effect if a memory hole of greater than
482 1 Gb is found during boot. You must turn this option on if you
483 require the DISCONTIGMEM option for your machine. If you are
488 default y if VIRTUAL_MEM_MAP
490 config HAVE_ARCH_EARLY_PFN_TO_NID
491 def_bool NUMA && SPARSEMEM
493 config HAVE_ARCH_NODEDATA_EXTENSION
497 config USE_PERCPU_NUMA_NODE_ID
501 config HAVE_MEMORYLESS_NODES
504 config ARCH_PROC_KCORE_TEXT
506 depends on PROC_KCORE
508 config IA64_MCA_RECOVERY
509 tristate "MCA recovery from errors other than TLB."
512 bool "Performance monitor support"
514 Selects whether support for the IA-64 performance monitor hardware
515 is included in the kernel. This makes some kernel data-structures a
516 little bigger and slows down execution a bit, but it is generally
517 a good idea to turn this on. If you're unsure, say Y.
520 tristate "/proc/pal support"
522 If you say Y here, you are able to get PAL (Processor Abstraction
523 Layer) information in /proc/pal. This contains useful information
524 about the processors in your systems, such as cache and TLB sizes
525 and the PAL firmware version in use.
527 To use this option, you have to ensure that the "/proc file system
528 support" (CONFIG_PROC_FS) is enabled, too.
530 config IA64_MC_ERR_INJECT
531 tristate "MC error injection support"
533 Adds support for MC error injection. If enabled, the kernel
534 will provide a sysfs interface for user applications to
535 call MC error injection PAL procedures to inject various errors.
536 This is a useful tool for MCA testing.
538 If you're unsure, do not select this option.
541 def_bool y if (IA64_SGI_SN2 || IA64_GENERIC)
544 bool "ESI (Extensible SAL Interface) support"
546 If you say Y here, support is built into the kernel to
547 make ESI calls. ESI calls are used to support vendor-specific
548 firmware extensions, such as the ability to inject memory-errors
549 for test-purposes. If you're unsure, say N.
551 config IA64_HP_AML_NFW
552 bool "Support ACPI AML calls to native firmware"
554 This driver installs a global ACPI Operation Region handler for
555 region 0xA1. AML methods can use this OpRegion to call arbitrary
556 native firmware functions. The driver installs the OpRegion
557 handler if there is an HPQ5001 device or if the user supplies
558 the "force" module parameter, e.g., with the "aml_nfw.force"
559 kernel command line option.
561 source "drivers/sn/Kconfig"
564 bool "kexec system call (EXPERIMENTAL)"
565 depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
567 kexec is a system call that implements the ability to shutdown your
568 current kernel, and to start another kernel. It is like a reboot
569 but it is independent of the system firmware. And like a reboot
570 you can start any kernel with it, not just Linux.
572 The name comes from the similarity to the exec system call.
574 It is an ongoing process to be certain the hardware in a machine
575 is properly shutdown, so do not be surprised if this code does not
576 initially work for you. It may help to enable device hotplugging
577 support. As of this writing the exact hardware interface is
578 strongly in flux, so no good recommendation can be made.
581 bool "kernel crash dumps"
582 depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
584 Generate crash dump after being started by kexec.
586 source "drivers/firmware/Kconfig"
588 source "fs/Kconfig.binfmt"
592 menu "Power management and ACPI options"
594 source "kernel/power/Kconfig"
596 source "drivers/acpi/Kconfig"
600 source "arch/ia64/kernel/cpufreq/Kconfig"
608 menu "Bus options (PCI, PCMCIA)"
613 Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y
614 here unless you are using a simulator without PCI support.
622 source "drivers/pci/pcie/Kconfig"
624 source "drivers/pci/Kconfig"
626 source "drivers/pci/hotplug/Kconfig"
628 source "drivers/pcmcia/Kconfig"
631 bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
632 depends on IA64_GENERIC && ACPI && EXPERIMENTAL
634 DMA remapping (DMAR) devices support enables independent address
635 translations for Direct Memory Access (DMA) from devices.
636 These DMA remapping devices are reported via ACPI tables
637 and include PCI device scope covered by these DMA
640 config DMAR_DEFAULT_ON
642 prompt "Enable DMA Remapping Devices by default"
645 Selecting this option will enable a DMAR device at boot time if
646 one is found. If this option is not selected, DMAR support can
647 be enabled by passing intel_iommu=on to the kernel. It is
648 recommended you say N here while the DMAR code remains
657 source "drivers/Kconfig"
659 source "arch/ia64/hp/sim/Kconfig"
662 tristate "Memory special operations driver"
664 select IA64_UNCACHED_ALLOCATOR
666 If you have an ia64 and you want to enable memory special
667 operations support (formerly known as fetchop), say Y here,
672 source "arch/ia64/Kconfig.debug"
674 source "security/Kconfig"
676 source "crypto/Kconfig"
678 source "arch/ia64/kvm/Kconfig"
683 # Use the generic interrupt handling code in kernel/irq/:
685 config GENERIC_HARDIRQS
689 config GENERIC_IRQ_PROBE
693 config GENERIC_PENDING_IRQ
695 depends on GENERIC_HARDIRQS && SMP
703 def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)