[S390] s390: fix single stepping on svc0
[safe/jmp/linux-2.6] / arch / ia64 / Kconfig
index 4b35c93..1ee596c 100644 (file)
@@ -7,12 +7,28 @@ 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
@@ -22,6 +38,15 @@ config IA64
 
 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
@@ -30,19 +55,21 @@ config MMU
 
 config SWIOTLB
        bool
-       default y
+
+config IOMMU_HELPER
+       bool
+
+config GENERIC_LOCKBREAK
+       def_bool n
 
 config RWSEM_XCHGADD_ALGORITHM
        bool
        default y
 
-config ARCH_HAS_ILOG2_U32
-       bool
-       default n
-
-config ARCH_HAS_ILOG2_U64
+config HUGETLB_PAGE_SIZE_VARIABLE
        bool
-       default n
+       depends on HUGETLB_PAGE
+       default y
 
 config GENERIC_FIND_NEXT_BIT
        bool
@@ -52,10 +79,20 @@ 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_LEGACY_PER_CPU_AREA
+       def_bool y
+
+config HAVE_SETUP_PER_CPU_AREA
+       def_bool y
+
 config DMI
        bool
        default y
@@ -68,7 +105,7 @@ config GENERIC_IOMAP
        bool
        default y
 
-config SCHED_NO_NO_OMIT_FRAME_POINTER
+config SCHED_OMIT_FRAME_POINTER
        bool
        default y
 
@@ -76,10 +113,41 @@ 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
@@ -88,6 +156,9 @@ 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
@@ -95,15 +166,24 @@ config IA64_GENERIC
 
          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"
@@ -113,6 +193,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
@@ -122,6 +203,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
@@ -129,8 +212,29 @@ config IA64_SGI_SN2
          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
 
@@ -198,7 +302,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
@@ -222,25 +333,26 @@ 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"
+       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
@@ -252,16 +364,16 @@ 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.
 
 config NR_CPUS
-       int "Maximum number of CPUs (2-1024)"
-       range 2 1024
+       int "Maximum number of CPUs (2-4096)"
+       range 2 4096
        depends on SMP
-       default "1024"
+       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
@@ -282,6 +394,9 @@ config HOTPLUG_CPU
 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
@@ -309,17 +424,7 @@ config FORCE_CPEI_RETARGET
        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.
 
-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.
-
-          Say Y here if you are building a kernel for a desktop, embedded
-          or real-time system.  Say N if you are unsure.
+source "kernel/Kconfig.preempt"
 
 source "mm/Kconfig"
 
@@ -340,6 +445,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)
@@ -386,13 +492,16 @@ config HOLES_IN_ZONE
        default y if VIRTUAL_MEM_MAP
 
 config HAVE_ARCH_EARLY_PFN_TO_NID
-       def_bool y
-       depends on NEED_MULTIPLE_NODES
+       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 IA32_SUPPORT
        bool "Support for Linux/x86 binaries"
        help
@@ -407,6 +516,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."
 
@@ -429,6 +541,16 @@ 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)
 
@@ -440,6 +562,16 @@ config IA64_ESI
          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
@@ -448,10 +580,10 @@ config KEXEC
        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 indepedent of the system firmware.   And 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 similiarity to the exec system call.
+         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
@@ -460,8 +592,8 @@ config KEXEC
          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)
+         bool "kernel crash dumps"
+         depends on IA64_MCA_RECOVERY && !IA64_HP_SIM && (!SMP || HOTPLUG_CPU)
          help
            Generate crash dump after being started by kexec.
 
@@ -471,7 +603,7 @@ source "fs/Kconfig.binfmt"
 
 endmenu
 
-menu "Power management and ACPI"
+menu "Power management and ACPI options"
 
 source "kernel/power/Kconfig"
 
@@ -496,8 +628,10 @@ 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"
 
@@ -507,6 +641,27 @@ 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
@@ -515,6 +670,8 @@ source "net/Kconfig"
 
 source "drivers/Kconfig"
 
+source "arch/ia64/hp/sim/Kconfig"
+
 config MSPEC
        tristate "Memory special operations driver"
        depends on IA64
@@ -526,6 +683,14 @@ config MSPEC
 
 source "fs/Kconfig"
 
+source "arch/ia64/Kconfig.debug"
+
+source "security/Kconfig"
+
+source "crypto/Kconfig"
+
+source "arch/ia64/kvm/Kconfig"
+
 source "lib/Kconfig"
 
 #
@@ -548,26 +713,8 @@ config IRQ_PER_CPU
        bool
        default y
 
-source "arch/ia64/hp/sim/Kconfig"
-
-menu "Instrumentation Support"
-        depends on EXPERIMENTAL
-
-source "arch/ia64/oprofile/Kconfig"
-
-config KPROBES
-       bool "Kprobes (EXPERIMENTAL)"
-       depends on KALLSYMS && EXPERIMENTAL && MODULES
-       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/Kconfig.debug"
-
-source "security/Kconfig"
+config IOMMU_HELPER
+       def_bool (IA64_HP_ZX1 || IA64_HP_ZX1_SWIOTLB || IA64_GENERIC || SWIOTLB)
 
-source "crypto/Kconfig"
+config IOMMU_API
+       def_bool (DMAR)