| # |
| # For a description of the syntax of this configuration file, |
| # see Documentation/kbuild/kconfig-language.txt. |
| # |
| |
| mainmenu "IA-64 Linux Kernel Configuration" |
| |
| source "init/Kconfig" |
| |
| source "kernel/Kconfig.freezer" |
| |
| menu "Processor type and features" |
| |
| config IA64 |
| bool |
| select PCI if (!IA64_HP_SIM) |
| select ACPI if (!IA64_HP_SIM) |
| select PM if (!IA64_HP_SIM) |
| select ARCH_SUPPORTS_MSI |
| select HAVE_UNSTABLE_SCHED_CLOCK |
| select HAVE_IDE |
| select HAVE_OPROFILE |
| select HAVE_KPROBES |
| select HAVE_KRETPROBES |
| select HAVE_FTRACE_MCOUNT_RECORD |
| select HAVE_DYNAMIC_FTRACE if (!ITANIUM) |
| select HAVE_FUNCTION_TRACER |
| select HAVE_DMA_ATTRS |
| select HAVE_KVM |
| select HAVE_ARCH_TRACEHOOK |
| select HAVE_DMA_API_DEBUG |
| default y |
| help |
| The Itanium Processor Family is Intel's 64-bit successor to |
| the 32-bit X86 line. The IA-64 Linux project has a home |
| page at <http://www.linuxia64.org/> and a mailing list at |
| <linux-ia64@vger.kernel.org>. |
| |
| config 64BIT |
| bool |
| select ATA_NONSTANDARD if ATA |
| default y |
| |
| config ZONE_DMA |
| def_bool y |
| depends on !IA64_SGI_SN2 |
| |
| config QUICKLIST |
| bool |
| default y |
| |
| config MMU |
| bool |
| default y |
| |
| config NEED_DMA_MAP_STATE |
| def_bool y |
| |
| config SWIOTLB |
| bool |
| |
| config IOMMU_HELPER |
| bool |
| |
| config GENERIC_LOCKBREAK |
| def_bool n |
| |
| config RWSEM_XCHGADD_ALGORITHM |
| bool |
| default y |
| |
| config HUGETLB_PAGE_SIZE_VARIABLE |
| bool |
| depends on HUGETLB_PAGE |
| default y |
| |
| config GENERIC_FIND_NEXT_BIT |
| bool |
| default y |
| |
| config GENERIC_CALIBRATE_DELAY |
| bool |
| default y |
| |
| config GENERIC_TIME |
| bool |
| default y |
| |
| config GENERIC_TIME_VSYSCALL |
| bool |
| default y |
| |
| config HAVE_SETUP_PER_CPU_AREA |
| def_bool y |
| |
| config DMI |
| bool |
| default y |
| |
| config EFI |
| bool |
| default y |
| |
| config GENERIC_IOMAP |
| bool |
| default y |
| |
| config SCHED_OMIT_FRAME_POINTER |
| bool |
| default y |
| |
| config IA64_UNCACHED_ALLOCATOR |
| bool |
| select GENERIC_ALLOCATOR |
| |
| config ARCH_USES_PG_UNCACHED |
| def_bool y |
| depends on IA64_UNCACHED_ALLOCATOR |
| |
| config AUDIT_ARCH |
| bool |
| default y |
| |
| menuconfig PARAVIRT_GUEST |
| bool "Paravirtualized guest support" |
| help |
| Say Y here to get to see options related to running Linux under |
| various hypervisors. This option alone does not add any kernel code. |
| |
| If you say N, all options in this submenu will be skipped and disabled. |
| |
| if PARAVIRT_GUEST |
| |
| config PARAVIRT |
| bool "Enable paravirtualization code" |
| depends on PARAVIRT_GUEST |
| default y |
| bool |
| default y |
| help |
| This changes the kernel so it can modify itself when it is run |
| under a hypervisor, potentially improving performance significantly |
| over full virtualization. However, when run without a hypervisor |
| the kernel is theoretically slower and slightly larger. |
| |
| |
| source "arch/ia64/xen/Kconfig" |
| |
| endif |
| |
| choice |
| prompt "System type" |
| default IA64_GENERIC |
| |
| config IA64_GENERIC |
| bool "generic" |
| select NUMA |
| select ACPI_NUMA |
| select SWIOTLB |
| select PCI_MSI |
| select DMAR |
| help |
| This selects the system type of your hardware. A "generic" kernel |
| will run on any supported IA-64 system. However, if you configure |
| a kernel for your specific system, it will be faster and smaller. |
| |
| generic For any supported IA-64 system |
| DIG-compliant For DIG ("Developer's Interface Guide") compliant systems |
| DIG+Intel+IOMMU For DIG systems with Intel IOMMU |
| HP-zx1/sx1000 For HP systems |
| HP-zx1/sx1000+swiotlb For HP systems with (broken) DMA-constrained devices. |
| SGI-SN2 For SGI Altix systems |
| SGI-UV For SGI UV systems |
| Ski-simulator For the HP simulator <http://www.hpl.hp.com/research/linux/ski/> |
| Xen-domU For xen domU system |
| |
| If you don't know what to do, choose "generic". |
| |
| config IA64_DIG |
| bool "DIG-compliant" |
| select SWIOTLB |
| |
| config IA64_DIG_VTD |
| bool "DIG+Intel+IOMMU" |
| select DMAR |
| select PCI_MSI |
| |
| config IA64_HP_ZX1 |
| bool "HP-zx1/sx1000" |
| help |
| Build a kernel that runs on HP zx1 and sx1000 systems. This adds |
| support for the HP I/O MMU. |
| |
| config IA64_HP_ZX1_SWIOTLB |
| bool "HP-zx1/sx1000 with software I/O TLB" |
| select SWIOTLB |
| help |
| Build a kernel that runs on HP zx1 and sx1000 systems even when they |
| have broken PCI devices which cannot DMA to full 32 bits. Apart |
| from support for the HP I/O MMU, this includes support for the software |
| I/O TLB, which allows supporting the broken devices at the expense of |
| wasting some kernel memory (about 2MB by default). |
| |
| config IA64_SGI_SN2 |
| bool "SGI-SN2" |
| select NUMA |
| select ACPI_NUMA |
| help |
| Selecting this option will optimize the kernel for use on sn2 based |
| systems, but the resulting kernel binary will not run on other |
| types of ia64 systems. If you have an SGI Altix system, it's safe |
| to select this option. If in doubt, select ia64 generic support |
| instead. |
| |
| config IA64_SGI_UV |
| bool "SGI-UV" |
| select NUMA |
| select ACPI_NUMA |
| select SWIOTLB |
| help |
| Selecting this option will optimize the kernel for use on UV based |
| systems, but the resulting kernel binary will not run on other |
| types of ia64 systems. If you have an SGI UV system, it's safe |
| to select this option. If in doubt, select ia64 generic support |
| instead. |
| |
| config IA64_HP_SIM |
| bool "Ski-simulator" |
| select SWIOTLB |
| |
| config IA64_XEN_GUEST |
| bool "Xen guest" |
| select SWIOTLB |
| depends on XEN |
| help |
| Build a kernel that runs on Xen guest domain. At this moment only |
| 16KB page size in supported. |
| |
| endchoice |
| |
| choice |
| prompt "Processor type" |
| default ITANIUM |
| |
| config ITANIUM |
| bool "Itanium" |
| help |
| Select your IA-64 processor type. The default is Itanium. |
| This choice is safe for all IA-64 systems, but may not perform |
| optimally on systems with, say, Itanium 2 or newer processors. |
| |
| config MCKINLEY |
| bool "Itanium 2" |
| help |
| Select this to configure for an Itanium 2 (McKinley) processor. |
| |
| endchoice |
| |
| choice |
| prompt "Kernel page size" |
| default IA64_PAGE_SIZE_16KB |
| |
| config IA64_PAGE_SIZE_4KB |
| bool "4KB" |
| help |
| This lets you select the page size of the kernel. For best IA-64 |
| performance, a page size of 8KB or 16KB is recommended. For best |
| IA-32 compatibility, a page size of 4KB should be selected (the vast |
| majority of IA-32 binaries work perfectly fine with a larger page |
| size). For Itanium 2 or newer systems, a page size of 64KB can also |
| be selected. |
| |
| 4KB For best IA-32 compatibility |
| 8KB For best IA-64 performance |
| 16KB For best IA-64 performance |
| 64KB Requires Itanium 2 or newer processor. |
| |
| If you don't know what to do, choose 16KB. |
| |
| config IA64_PAGE_SIZE_8KB |
| bool "8KB" |
| |
| config IA64_PAGE_SIZE_16KB |
| bool "16KB" |
| |
| config IA64_PAGE_SIZE_64KB |
| depends on !ITANIUM |
| bool "64KB" |
| |
| endchoice |
| |
| choice |
| prompt "Page Table Levels" |
| default PGTABLE_3 |
| |
| config PGTABLE_3 |
| bool "3 Levels" |
| |
| config PGTABLE_4 |
| depends on !IA64_PAGE_SIZE_64KB |
| bool "4 Levels" |
| |
| endchoice |
| |
| if IA64_HP_SIM |
| config HZ |
| default 32 |
| endif |
| |
| if !IA64_HP_SIM |
| source kernel/Kconfig.hz |
| endif |
| |
| config IA64_BRL_EMU |
| bool |
| depends on ITANIUM |
| default y |
| |
| # align cache-sensitive data to 128 bytes |
| config IA64_L1_CACHE_SHIFT |
| int |
| default "7" if MCKINLEY |
| default "6" if ITANIUM |
| |
| config IA64_CYCLONE |
| bool "Cyclone (EXA) Time Source support" |
| help |
| Say Y here to enable support for IBM EXA Cyclone time source. |
| If you're unsure, answer N. |
| |
| config IOSAPIC |
| bool |
| depends on !IA64_HP_SIM |
| default y |
| |
| config FORCE_MAX_ZONEORDER |
| int "MAX_ORDER (11 - 17)" if !HUGETLB_PAGE |
| range 11 17 if !HUGETLB_PAGE |
| default "17" if HUGETLB_PAGE |
| default "11" |
| |
| config VIRT_CPU_ACCOUNTING |
| bool "Deterministic task and CPU time accounting" |
| default n |
| help |
| Select this option to enable more accurate task and CPU time |
| accounting. This is done by reading a CPU counter on each |
| kernel entry and exit and on transitions within the kernel |
| between system, softirq and hardirq state, so there is a |
| small performance impact. |
| If in doubt, say N here. |
| |
| config SMP |
| bool "Symmetric multi-processing support" |
| select USE_GENERIC_SMP_HELPERS |
| help |
| This enables support for systems with more than one CPU. If you have |
| a system with only one CPU, say N. If you have a system with more |
| than one CPU, say Y. |
| |
| If you say N here, the kernel will run on single and multiprocessor |
| systems, but will use only one CPU of a multiprocessor system. If |
| you say Y here, the kernel will run on many, but not all, |
| single processor systems. On a single processor system, the kernel |
| will run faster if you say N here. |
| |
| See also the SMP-HOWTO available at |
| <http://www.tldp.org/docs.html#howto>. |
| |
| If you don't know what to do here, say N. |
| |
| config NR_CPUS |
| int "Maximum number of CPUs (2-4096)" |
| range 2 4096 |
| depends on SMP |
| default "4096" |
| help |
| You should set this to the number of CPUs in your system, but |
| keep in mind that a kernel compiled for, e.g., 2 CPUs will boot but |
| only use 2 CPUs on a >2 CPU system. Setting this to a value larger |
| than 64 will cause the use of a CPU mask array, causing a small |
| performance hit. |
| |
| config HOTPLUG_CPU |
| bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" |
| depends on SMP && EXPERIMENTAL |
| select HOTPLUG |
| default n |
| ---help--- |
| Say Y here to experiment with turning CPUs off and on. CPUs |
| can be controlled through /sys/devices/system/cpu/cpu#. |
| Say N if you want to disable CPU hotplug. |
| |
| config ARCH_ENABLE_MEMORY_HOTPLUG |
| def_bool y |
| |
| config ARCH_ENABLE_MEMORY_HOTREMOVE |
| def_bool y |
| |
| config SCHED_SMT |
| bool "SMT scheduler support" |
| depends on SMP |
| help |
| Improves the CPU scheduler's decision making when dealing with |
| Intel IA64 chips with MultiThreading at a cost of slightly increased |
| overhead in some places. If unsure say N here. |
| |
| config PERMIT_BSP_REMOVE |
| bool "Support removal of Bootstrap Processor" |
| depends on HOTPLUG_CPU |
| default n |
| ---help--- |
| Say Y here if your platform SAL will support removal of BSP with HOTPLUG_CPU |
| support. |
| |
| config FORCE_CPEI_RETARGET |
| bool "Force assumption that CPEI can be re-targetted" |
| depends on PERMIT_BSP_REMOVE |
| default n |
| ---help--- |
| Say Y if you need to force the assumption that CPEI can be re-targetted to |
| any cpu in the system. This hint is available via ACPI 3.0 specifications. |
| Tiger4 systems are capable of re-directing CPEI to any CPU other than BSP. |
| This option it useful to enable this feature on older BIOS's as well. |
| You can also enable this by using boot command line option force_cpei=1. |
| |
| source "kernel/Kconfig.preempt" |
| |
| source "mm/Kconfig" |
| |
| config ARCH_SELECT_MEMORY_MODEL |
| def_bool y |
| |
| config ARCH_DISCONTIGMEM_ENABLE |
| def_bool y |
| help |
| Say Y to support efficient handling of discontiguous physical memory, |
| for architectures which are either NUMA (Non-Uniform Memory Access) |
| or have huge holes in the physical address space for other reasons. |
| See <file:Documentation/vm/numa> for more. |
| |
| config ARCH_FLATMEM_ENABLE |
| def_bool y |
| |
| config ARCH_SPARSEMEM_ENABLE |
| def_bool y |
| depends on ARCH_DISCONTIGMEM_ENABLE |
| select SPARSEMEM_VMEMMAP_ENABLE |
| |
| config ARCH_DISCONTIGMEM_DEFAULT |
| def_bool y if (IA64_SGI_SN2 || IA64_GENERIC || IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB) |
| depends on ARCH_DISCONTIGMEM_ENABLE |
| |
| config NUMA |
| bool "NUMA support" |
| depends on !IA64_HP_SIM && !FLATMEM |
| default y if IA64_SGI_SN2 |
| select ACPI_NUMA if ACPI |
| help |
| Say Y to compile the kernel to support NUMA (Non-Uniform Memory |
| Access). This option is for configuring high-end multiprocessor |
| server systems. If in doubt, say N. |
| |
| config NODES_SHIFT |
| int "Max num nodes shift(3-10)" |
| range 3 10 |
| default "10" |
| depends on NEED_MULTIPLE_NODES |
| help |
| This option specifies the maximum number of nodes in your SSI system. |
| MAX_NUMNODES will be 2^(This value). |
| If in doubt, use the default. |
| |
| config ARCH_POPULATES_NODE_MAP |
| def_bool y |
| |
| # VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent. |
| # VIRTUAL_MEM_MAP has been retained for historical reasons. |
| config VIRTUAL_MEM_MAP |
| bool "Virtual mem map" |
| depends on !SPARSEMEM |
| default y if !IA64_HP_SIM |
| help |
| Say Y to compile the kernel with support for a virtual mem map. |
| This code also only takes effect if a memory hole of greater than |
| 1 Gb is found during boot. You must turn this option on if you |
| require the DISCONTIGMEM option for your machine. If you are |
| unsure, say Y. |
| |
| config HOLES_IN_ZONE |
| bool |
| default y if VIRTUAL_MEM_MAP |
| |
| config HAVE_ARCH_EARLY_PFN_TO_NID |
| def_bool NUMA && SPARSEMEM |
| |
| config HAVE_ARCH_NODEDATA_EXTENSION |
| def_bool y |
| depends on NUMA |
| |
| config ARCH_PROC_KCORE_TEXT |
| def_bool y |
| depends on PROC_KCORE |
| |
| config IA64_MCA_RECOVERY |
| tristate "MCA recovery from errors other than TLB." |
| |
| config PERFMON |
| bool "Performance monitor support" |
| help |
| Selects whether support for the IA-64 performance monitor hardware |
| is included in the kernel. This makes some kernel data-structures a |
| little bigger and slows down execution a bit, but it is generally |
| a good idea to turn this on. If you're unsure, say Y. |
| |
| config IA64_PALINFO |
| tristate "/proc/pal support" |
| help |
| If you say Y here, you are able to get PAL (Processor Abstraction |
| Layer) information in /proc/pal. This contains useful information |
| about the processors in your systems, such as cache and TLB sizes |
| and the PAL firmware version in use. |
| |
| To use this option, you have to ensure that the "/proc file system |
| support" (CONFIG_PROC_FS) is enabled, too. |
| |
| config IA64_MC_ERR_INJECT |
| tristate "MC error injection support" |
| help |
| Adds support for MC error injection. If enabled, the kernel |
| will provide a sysfs interface for user applications to |
| call MC error injection PAL procedures to inject various errors. |
| This is a useful tool for MCA testing. |
| |
| If you're unsure, do not select this option. |
| |
| config SGI_SN |
| def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) |
| |
| config IA64_ESI |
| bool "ESI (Extensible SAL Interface) support" |
| help |
| If you say Y here, support is built into the kernel to |
| make ESI calls. ESI calls are used to support vendor-specific |
| firmware extensions, such as the ability to inject memory-errors |
| for test-purposes. If you're unsure, say N. |
| |
| config IA64_HP_AML_NFW |
| bool "Support ACPI AML calls to native firmware" |
| help |
| This driver installs a global ACPI Operation Region handler for |
| region 0xA1. AML methods can use this OpRegion to call arbitrary |
| native firmware functions. The driver installs the OpRegion |
| handler if there is an HPQ5001 device or if the user supplies |
| the "force" module parameter, e.g., with the "aml_nfw.force" |
| kernel command line option. |
| |
| source "drivers/sn/Kconfig" |
| |
| config KEXEC |
| bool "kexec system call (EXPERIMENTAL)" |
| depends on EXPERIMENTAL && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) |
| help |
| kexec is a system call that implements the ability to shutdown your |
| current kernel, and to start another kernel. It is like a reboot |
| but it is independent of the system firmware. And like a reboot |
| you can start any kernel with it, not just Linux. |
| |
| The name comes from the similarity to the exec system call. |
| |
| It is an ongoing process to be certain the hardware in a machine |
| is properly shutdown, so do not be surprised if this code does not |
| initially work for you. It may help to enable device hotplugging |
| support. As of this writing the exact hardware interface is |
| strongly in flux, so no good recommendation can be made. |
| |
| config CRASH_DUMP |
| bool "kernel crash dumps" |
| depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU) |
| help |
| Generate crash dump after being started by kexec. |
| |
| source "drivers/firmware/Kconfig" |
| |
| source "fs/Kconfig.binfmt" |
| |
| endmenu |
| |
| menu "Power management and ACPI options" |
| |
| source "kernel/power/Kconfig" |
| |
| source "drivers/acpi/Kconfig" |
| |
| if PM |
| |
| source "arch/ia64/kernel/cpufreq/Kconfig" |
| |
| endif |
| |
| endmenu |
| |
| if !IA64_HP_SIM |
| |
| menu "Bus options (PCI, PCMCIA)" |
| |
| config PCI |
| bool "PCI support" |
| help |
| Real IA-64 machines all have PCI/PCI-X/PCI Express busses. Say Y |
| here unless you are using a simulator without PCI support. |
| |
| config PCI_DOMAINS |
| def_bool PCI |
| |
| config PCI_SYSCALL |
| def_bool PCI |
| |
| source "drivers/pci/pcie/Kconfig" |
| |
| source "drivers/pci/Kconfig" |
| |
| source "drivers/pci/hotplug/Kconfig" |
| |
| source "drivers/pcmcia/Kconfig" |
| |
| config DMAR |
| bool "Support for DMA Remapping Devices (EXPERIMENTAL)" |
| depends on IA64_GENERIC && ACPI && EXPERIMENTAL |
| help |
| DMA remapping (DMAR) devices support enables independent address |
| translations for Direct Memory Access (DMA) from devices. |
| These DMA remapping devices are reported via ACPI tables |
| and include PCI device scope covered by these DMA |
| remapping devices. |
| |
| config DMAR_DEFAULT_ON |
| def_bool y |
| prompt "Enable DMA Remapping Devices by default" |
| depends on DMAR |
| help |
| Selecting this option will enable a DMAR device at boot time if |
| one is found. If this option is not selected, DMAR support can |
| be enabled by passing intel_iommu=on to the kernel. It is |
| recommended you say N here while the DMAR code remains |
| experimental. |
| |
| endmenu |
| |
| endif |
| |
| source "net/Kconfig" |
| |
| source "drivers/Kconfig" |
| |
| source "arch/ia64/hp/sim/Kconfig" |
| |
| config MSPEC |
| tristate "Memory special operations driver" |
| depends on IA64 |
| select IA64_UNCACHED_ALLOCATOR |
| help |
| If you have an ia64 and you want to enable memory special |
| operations support (formerly known as fetchop), say Y here, |
| otherwise say N. |
| |
| source "fs/Kconfig" |
| |
| source "arch/ia64/Kconfig.debug" |
| |
| source "security/Kconfig" |
| |
| source "crypto/Kconfig" |
| |
| source "arch/ia64/kvm/Kconfig" |
| |
| source "lib/Kconfig" |
| |
| # |
| # Use the generic interrupt handling code in kernel/irq/: |
| # |
| config GENERIC_HARDIRQS |
| bool |
| default y |
| |
| config GENERIC_IRQ_PROBE |
| bool |
| default y |
| |
| config GENERIC_PENDING_IRQ |
| bool |
| depends on GENERIC_HARDIRQS && SMP |
| default y |
| |
| config IRQ_PER_CPU |
| bool |
| default y |
| |
| config IOMMU_HELPER |
| def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB) |
| |
| config IOMMU_API |
| def_bool (DMAR) |