]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - arch/ia64/Kconfig
swiotlb: use iommu_is_span_boundary helper function
[linux-2.6.git] / arch / ia64 / Kconfig
index a1942f79638bef5c250b67934b6e44453d2da9a7..07f5d353b54ab070b32ee8019c0c0ba48f438399 100644 (file)
@@ -11,6 +11,15 @@ 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_IDE
+       select HAVE_OPROFILE
+       select HAVE_KPROBES
+       select HAVE_KRETPROBES
+       select HAVE_KVM
        default y
        help
          The Itanium Processor Family is Intel's 64-bit successor to
@@ -19,6 +28,15 @@ config IA64
          <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
 
@@ -28,17 +46,52 @@ config MMU
 
 config SWIOTLB
        bool
-       default y
+
+config IOMMU_HELPER
+       bool
+
+config GENERIC_LOCKBREAK
+       bool
+       default y
+       depends on SMP && PREEMPT
 
 config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
+config ARCH_HAS_ILOG2_U32
+       bool
+       default n
+
+config ARCH_HAS_ILOG2_U64
+       bool
+       default n
+
+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 TIME_INTERPOLATION
+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
 
@@ -58,7 +111,7 @@ config IA64_UNCACHED_ALLOCATOR
        bool
        select GENERIC_ALLOCATOR
 
-config DMA_IS_DMA32
+config AUDIT_ARCH
        bool
        default y
 
@@ -68,9 +121,9 @@ choice
 
 config IA64_GENERIC
        bool "generic"
-       select ACPI
        select NUMA
        select ACPI_NUMA
+       select SWIOTLB
        help
          This selects the system type of your hardware.  A "generic" kernel
          will run on any supported IA-64 system.  However, if you configure
@@ -87,6 +140,7 @@ config IA64_GENERIC
 
 config IA64_DIG
        bool "DIG-compliant"
+       select SWIOTLB
 
 config IA64_HP_ZX1
        bool "HP-zx1/sx1000"
@@ -96,6 +150,7 @@ config IA64_HP_ZX1
 
 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
@@ -105,6 +160,8 @@ config IA64_HP_ZX1_SWIOTLB
 
 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
@@ -114,6 +171,7 @@ config IA64_SGI_SN2
 
 config IA64_HP_SIM
        bool "Ski-simulator"
+       select SWIOTLB
 
 endchoice
 
@@ -181,7 +239,14 @@ config PGTABLE_4
 
 endchoice
 
+if IA64_HP_SIM
+config HZ
+       default 32
+endif
+
+if !IA64_HP_SIM
 source kernel/Kconfig.hz
+endif
 
 config IA64_BRL_EMU
        bool
@@ -205,23 +270,23 @@ config IOSAPIC
        depends on !IA64_HP_SIM
        default y
 
-config IA64_SGI_SN_XP
-       tristate "Support communication between SGI SSIs"
-       depends on IA64_GENERIC || IA64_SGI_SN2
-       select IA64_UNCACHED_ALLOCATOR
-       help
-         An SGI machine can be divided into multiple Single System
-         Images which act independently of each other and have
-         hardware based memory protection from the others.  Enabling
-         this feature will allow for direct communication between SSIs
-         based on a network adapter and DMA messaging.
-
 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"
        help
@@ -235,8 +300,8 @@ config SMP
          single processor systems.  On a single processor system, the kernel
          will run faster if you say N here.
 
-         See also the <file:Documentation/smp.txt> and the SMP-HOWTO
-         available at <http://www.tldp.org/docs.html#howto>.
+         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.
 
@@ -244,7 +309,7 @@ config NR_CPUS
        int "Maximum number of CPUs (2-1024)"
        range 2 1024
        depends on SMP
-       default "64"
+       default "1024"
        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
@@ -262,26 +327,40 @@ config HOTPLUG_CPU
          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
-       default off
        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 PREEMPT
-       bool "Preemptible Kernel"
-        help
-          This option reduces the latency of the kernel when reacting to
-          real-time or interactive events by allowing a low priority process to
-          be preempted even if it is in kernel mode executing a system call.
-          This allows applications to run more reliably even when the system is
-          under load.
+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. 
 
-          Say Y here if you are building a kernel for a desktop, embedded
-          or real-time system.  Say N if you are unsure.
+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"
 
@@ -302,6 +381,7 @@ config ARCH_FLATMEM_ENABLE
 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)
@@ -311,11 +391,25 @@ 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
@@ -337,6 +431,10 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
        def_bool y
        depends on NEED_MULTIPLE_NODES
 
+config HAVE_ARCH_NODEDATA_EXTENSION
+       def_bool y
+       depends on NUMA
+
 config IA32_SUPPORT
        bool "Support for Linux/x86 binaries"
        help
@@ -351,6 +449,9 @@ config COMPAT
        depends on IA32_SUPPORT
        default y
 
+config COMPAT_FOR_U64_ALIGNMENT
+       def_bool COMPAT
+
 config IA64_MCA_RECOVERY
        tristate "MCA recovery from errors other than TLB."
 
@@ -373,6 +474,62 @@ config IA64_PALINFO
          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 (EXPERIMENTAL)"
+         depends on EXPERIMENTAL && 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"
@@ -404,8 +561,12 @@ config PCI
          here unless you are using a simulator without PCI support.
 
 config PCI_DOMAINS
-       bool
-       default PCI
+       def_bool PCI
+
+config PCI_SYSCALL
+       def_bool PCI
+
+source "drivers/pci/pcie/Kconfig"
 
 source "drivers/pci/Kconfig"
 
@@ -421,8 +582,19 @@ source "net/Kconfig"
 
 source "drivers/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/kvm/Kconfig"
+
 source "lib/Kconfig"
 
 #
@@ -441,22 +613,14 @@ config GENERIC_PENDING_IRQ
        depends on GENERIC_HARDIRQS && SMP
        default y
 
-source "arch/ia64/hp/sim/Kconfig"
-
-menu "Instrumentation Support"
-        depends on EXPERIMENTAL
+config IRQ_PER_CPU
+       bool
+       default y
 
-source "arch/ia64/oprofile/Kconfig"
+config IOMMU_HELPER
+       def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
 
-config KPROBES
-       bool "Kprobes (EXPERIMENTAL)"
-       help
-         Kprobes allows you to trap at almost any kernel address and
-         execute a callback function.  register_kprobe() establishes
-         a probepoint and specifies the callback.  Kprobes is useful
-         for kernel debugging, non-intrusive instrumentation and testing.
-         If in doubt, say "N".
-endmenu
+source "arch/ia64/hp/sim/Kconfig"
 
 source "arch/ia64/Kconfig.debug"