Merge branch 'ux500/dt' into next/dt2
[linux-flexiantxendom0-3.2.10.git] / arch / x86 / Kconfig
index 26a14b4..ab39bb2 100644 (file)
@@ -26,6 +26,8 @@ config X86
        select HAVE_IOREMAP_PROT
        select HAVE_KPROBES
        select HAVE_MEMBLOCK
+       select HAVE_MEMBLOCK_NODE_MAP
+       select ARCH_DISCARD_MEMBLOCK
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select ARCH_WANT_FRAME_POINTERS
        select HAVE_DMA_ATTRS
@@ -58,20 +60,28 @@ config X86
        select PERF_EVENTS
        select HAVE_PERF_EVENTS_NMI
        select ANON_INODES
+       select HAVE_ALIGNED_STRUCT_PAGE if SLUB && !M386
+       select HAVE_CMPXCHG_LOCAL if !M386
+       select HAVE_CMPXCHG_DOUBLE
        select HAVE_ARCH_KMEMCHECK
        select HAVE_USER_RETURN_NOTIFIER
+       select ARCH_BINFMT_ELF_RANDOMIZE_PIE
        select HAVE_ARCH_JUMP_LABEL
        select HAVE_TEXT_POKE_SMP
        select HAVE_GENERIC_HARDIRQS
        select HAVE_SPARSE_IRQ
+       select SPARSE_IRQ
        select GENERIC_FIND_FIRST_BIT
        select GENERIC_IRQ_PROBE
        select GENERIC_PENDING_IRQ if SMP
        select GENERIC_IRQ_SHOW
+       select GENERIC_CLOCKEVENTS_MIN_ADJUST
        select IRQ_FORCED_THREADING
        select USE_GENERIC_SMP_HELPERS if SMP
        select HAVE_BPF_JIT if (X86_64 && NET)
        select CLKEVT_I8253
+       select ARCH_HAVE_NMI_SAFE_CMPXCHG
+       select GENERIC_IOMAP
 
 config INSTRUCTION_DECODER
        def_bool (KPROBES || PERF_EVENTS)
@@ -95,6 +105,10 @@ config CLOCKSOURCE_WATCHDOG
 config GENERIC_CLOCKEVENTS
        def_bool y
 
+config ARCH_CLOCKSOURCE_DATA
+       def_bool y
+       depends on X86_64
+
 config GENERIC_CLOCKEVENTS_BROADCAST
        def_bool y
        depends on X86_64 || (X86_32 && X86_LOCAL_APIC)
@@ -111,21 +125,11 @@ config HAVE_LATENCYTOP_SUPPORT
 config MMU
        def_bool y
 
-config ZONE_DMA
-       bool "DMA memory allocation support" if EXPERT
-       default y
-       help
-         DMA memory allocation support allows devices with less than 32-bit
-         addressing to allocate within the first 16MB of address space.
-         Disable if no such devices will be used.
-
-         If unsure, say Y.
-
 config SBUS
        bool
 
 config NEED_DMA_MAP_STATE
-       def_bool (X86_64 || DMAR || DMA_API_DEBUG)
+       def_bool (X86_64 || INTEL_IOMMU || DMA_API_DEBUG)
 
 config NEED_SG_DMA_LENGTH
        def_bool y
@@ -133,9 +137,6 @@ config NEED_SG_DMA_LENGTH
 config GENERIC_ISA_DMA
        def_bool ISA_DMA_API
 
-config GENERIC_IOMAP
-       def_bool y
-
 config GENERIC_BUG
        def_bool y
        depends on BUG
@@ -178,6 +179,9 @@ config ARCH_HAS_DEFAULT_IDLE
 config ARCH_HAS_CACHE_LINE_SIZE
        def_bool y
 
+config ARCH_HAS_CPU_AUTOPROBE
+       def_bool y
+
 config HAVE_SETUP_PER_CPU_AREA
        def_bool y
 
@@ -187,9 +191,6 @@ config NEED_PER_CPU_EMBED_FIRST_CHUNK
 config NEED_PER_CPU_PAGE_FIRST_CHUNK
        def_bool y
 
-config HAVE_CPUMASK_OF_CPU_MAP
-       def_bool X86_64_SMP
-
 config ARCH_HIBERNATION_POSSIBLE
        def_bool y
 
@@ -200,9 +201,6 @@ config ZONE_DMA32
        bool
        default X86_64
 
-config ARCH_POPULATES_NODE_MAP
-       def_bool y
-
 config AUDIT_ARCH
        bool
        default X86_64
@@ -215,7 +213,7 @@ config ARCH_SUPPORTS_DEBUG_PAGEALLOC
 
 config HAVE_INTEL_TXT
        def_bool y
-       depends on EXPERIMENTAL && DMAR && ACPI
+       depends on EXPERIMENTAL && INTEL_IOMMU && ACPI
 
 config X86_32_SMP
        def_bool y
@@ -250,6 +248,16 @@ source "kernel/Kconfig.freezer"
 
 menu "Processor type and features"
 
+config ZONE_DMA
+       bool "DMA memory allocation support" if EXPERT
+       default y
+       help
+         DMA memory allocation support allows devices with less than 32-bit
+         addressing to allocate within the first 16MB of address space.
+         Disable if no such devices will be used.
+
+         If unsure, say Y.
+
 source "kernel/time/Kconfig"
 
 config SMP
@@ -274,7 +282,7 @@ config SMP
          Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
          Management" code will be disabled if you say Y here.
 
-         See also <file:Documentation/i386/IO-APIC.txt>,
+         See also <file:Documentation/x86/i386/IO-APIC.txt>,
          <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
          <http://www.tldp.org/docs.html#howto>.
 
@@ -282,7 +290,7 @@ config SMP
 
 config X86_X2APIC
        bool "Support x2apic"
-       depends on X86_LOCAL_APIC && X86_64 && INTR_REMAP
+       depends on X86_LOCAL_APIC && X86_64 && IRQ_REMAP
        ---help---
          This enables x2apic support on CPUs that have this feature.
 
@@ -339,6 +347,7 @@ config X86_EXTENDED_PLATFORM
 
          If you enable this option then you'll be able to select support
          for the following (non-PC) 64 bit x86 platforms:
+               Numascale NumaChip
                ScaleMP vSMP
                SGI Ultraviolet
 
@@ -347,6 +356,17 @@ config X86_EXTENDED_PLATFORM
 endif
 # This is an alphabetically sorted list of 64 bit extended platforms
 # Please maintain the alphabetic order if and when there are additions
+config X86_NUMACHIP
+       bool "Numascale NumaChip"
+       depends on X86_64
+       depends on X86_EXTENDED_PLATFORM
+       depends on NUMA
+       depends on SMP
+       depends on X86_X2APIC
+       ---help---
+         Adds support for Numascale NumaChip large-SMP systems. Needed to
+         enable more than ~168 cores.
+         If you don't have one of these, you should say N here.
 
 config X86_VSMP
        bool "ScaleMP vSMP"
@@ -381,18 +401,34 @@ config X86_INTEL_CE
        select X86_REBOOTFIXUPS
        select OF
        select OF_EARLY_FLATTREE
+       select IRQ_DOMAIN
        ---help---
          Select for the Intel CE media processor (CE4100) SOC.
          This option compiles in support for the CE4100 SOC for settop
          boxes and media devices.
 
+config X86_WANT_INTEL_MID
+       bool "Intel MID platform support"
+       depends on X86_32
+       depends on X86_EXTENDED_PLATFORM
+       ---help---
+         Select to build a kernel capable of supporting Intel MID platform
+         systems which do not have the PCI legacy interfaces (Moorestown,
+         Medfield). If you are building for a PC class system say N here.
+
+if X86_WANT_INTEL_MID
+
+config X86_INTEL_MID
+       bool
+
 config X86_MRST
        bool "Moorestown MID platform"
        depends on PCI
        depends on PCI_GOANY
-       depends on X86_32
-       depends on X86_EXTENDED_PLATFORM
        depends on X86_IO_APIC
+       select X86_INTEL_MID
+       select SFI
+       select DW_APB_TIMER
        select APB_TIMER
        select I2C
        select SPI
@@ -406,6 +442,28 @@ config X86_MRST
          nor standard legacy replacement devices/features. e.g. Moorestown does
          not contain i8259, i8254, HPET, legacy BIOS, most of the io ports.
 
+config X86_MDFLD
+       bool "Medfield MID platform"
+       depends on PCI
+       depends on PCI_GOANY
+       depends on X86_IO_APIC
+       select X86_INTEL_MID
+       select SFI
+       select DW_APB_TIMER
+       select APB_TIMER
+       select I2C
+       select SPI
+       select INTEL_SCU_IPC
+       select X86_PLATFORM_DEVICES
+       ---help---
+         Medfield is Intel's Low Power Intel Architecture (LPIA) based Moblin
+         Internet Device(MID) platform. 
+         Unlike standard x86 PCs, Medfield does not have many legacy devices
+         nor standard legacy replacement devices/features. e.g. Medfield does
+         not contain i8259, i8254, HPET, legacy BIOS, most of the io ports.
+
+endif
+
 config X86_RDC321X
        bool "RDC R-321x SoC"
        depends on X86_32
@@ -514,6 +572,18 @@ menuconfig PARAVIRT_GUEST
 
 if PARAVIRT_GUEST
 
+config PARAVIRT_TIME_ACCOUNTING
+       bool "Paravirtual steal time accounting"
+       select PARAVIRT
+       default n
+       ---help---
+         Select this option to enable fine granularity task steal time
+         accounting. Time spent executing other tasks in parallel with
+         the current vCPU is discounted from the vCPU power. To account for
+         that, there can be a small performance impact.
+
+         If in doubt, say N here.
+
 source "arch/x86/xen/Kconfig"
 
 config KVM_CLOCK
@@ -589,7 +659,7 @@ config X86_SUMMIT_NUMA
 
 config X86_CYCLONE_TIMER
        def_bool y
-       depends on X86_32_NON_STANDARD
+       depends on X86_SUMMIT
 
 source "arch/x86/Kconfig.cpu"
 
@@ -617,8 +687,10 @@ config HPET_EMULATE_RTC
        depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y)
 
 config APB_TIMER
-       def_bool y if MRST
-       prompt "Langwell APB Timer Support" if X86_MRST
+       def_bool y if X86_INTEL_MID
+       prompt "Intel MID APB Timer Support" if X86_INTEL_MID
+       select DW_APB_TIMER
+       depends on X86_INTEL_MID && SFI
        help
          APB timer is the replacement for 8254, HPET on X86 MID platforms.
          The APBT provides a stable time base on SMP
@@ -682,33 +754,6 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
          Calgary anyway, pass 'iommu=calgary' on the kernel command line.
          If unsure, say Y.
 
-config AMD_IOMMU
-       bool "AMD IOMMU support"
-       select SWIOTLB
-       select PCI_MSI
-       select PCI_IOV
-       depends on X86_64 && PCI && ACPI
-       ---help---
-         With this option you can enable support for AMD IOMMU hardware in
-         your system. An IOMMU is a hardware component which provides
-         remapping of DMA memory accesses from devices. With an AMD IOMMU you
-         can isolate the the DMA memory of different devices and protect the
-         system from misbehaving device drivers or hardware.
-
-         You can find out if your system has an AMD IOMMU if you look into
-         your BIOS for an option to enable it or if you have an IVRS ACPI
-         table.
-
-config AMD_IOMMU_STATS
-       bool "Export AMD IOMMU statistics to debugfs"
-       depends on AMD_IOMMU
-       select DEBUG_FS
-       ---help---
-         This option enables code in the AMD IOMMU driver to collect various
-         statistics about whats happening in the driver and exports that
-         information to userspace via debugfs.
-         If unsure, say N.
-
 # need this always selected by IOMMU for the VIA workaround
 config SWIOTLB
        def_bool y if X86_64
@@ -722,9 +767,6 @@ config SWIOTLB
 config IOMMU_HELPER
        def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
 
-config IOMMU_API
-       def_bool (AMD_IOMMU || DMAR)
-
 config MAXSMP
        bool "Enable Maximum number of SMP Processors and NUMA Nodes"
        depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
@@ -1172,7 +1214,7 @@ comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
 config AMD_NUMA
        def_bool y
        prompt "Old style AMD Opteron NUMA detection"
-       depends on NUMA && PCI
+       depends on X86_64 && NUMA && PCI
        ---help---
          Enable AMD NUMA node topology detection.  You should say Y here if
          you have a multi processor AMD system. This uses an old method to
@@ -1453,6 +1495,15 @@ config ARCH_USES_PG_UNCACHED
        def_bool y
        depends on X86_PAT
 
+config ARCH_RANDOM
+       def_bool y
+       prompt "x86 architectural random number generator" if EXPERT
+       ---help---
+         Enable the x86 architectural RDRAND instruction
+         (Intel Bull Mountain technology) to generate random numbers.
+         If supported, this is a high bandwidth, cryptographically
+         secure hardware random number generator.
+
 config EFI
        bool "EFI runtime service support"
        depends on ACPI
@@ -1467,6 +1518,13 @@ config EFI
          resultant kernel should continue to boot on existing non-EFI
          platforms.
 
+config EFI_STUB
+       bool "EFI stub support"
+       depends on EFI
+       ---help---
+          This kernel feature allows a bzImage to be loaded directly
+         by EFI firmware without the use of a bootloader.
+
 config SECCOMP
        def_bool y
        prompt "Enable seccomp to safely compute untrusted bytecode"
@@ -1719,7 +1777,7 @@ source "drivers/sfi/Kconfig"
 
 config X86_APM_BOOT
        def_bool y
-       depends on APM || APM_MODULE
+       depends on APM
 
 menuconfig APM
        tristate "APM (Advanced Power Management) BIOS support"
@@ -1739,8 +1797,8 @@ menuconfig APM
          machines with more than one CPU.
 
          In order to use APM, you will need supporting software. For location
-         and more information, read <file:Documentation/power/pm.txt> and the
-         Battery Powered Linux mini-HOWTO, available from
+         and more information, read <file:Documentation/power/apm-acpi.txt>
+         and the Battery Powered Linux mini-HOWTO, available from
          <http://www.tldp.org/docs.html#howto>.
 
          This driver does not spin down disk drives (see the hdparm(8)
@@ -1907,7 +1965,7 @@ config PCI_BIOS
 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
 config PCI_DIRECT
        def_bool y
-       depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC))
+       depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC || PCI_GOMMCONFIG))
 
 config PCI_MMCONFIG
        def_bool y
@@ -1944,55 +2002,6 @@ config PCI_CNB20LE_QUIRK
 
          You should say N unless you know you need this.
 
-config DMAR
-       bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
-       depends on PCI_MSI && 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.
-
-config DMAR_BROKEN_GFX_WA
-       bool "Workaround broken graphics drivers (going away soon)"
-       depends on DMAR && BROKEN
-       ---help---
-         Current Graphics drivers tend to use physical address
-         for DMA and avoid using DMA APIs. Setting this config
-         option permits the IOMMU driver to set a unity map for
-         all the OS-visible memory. Hence the driver can continue
-         to use physical addresses for DMA, at least until this
-         option is removed in the 2.6.32 kernel.
-
-config DMAR_FLOPPY_WA
-       def_bool y
-       depends on DMAR
-       ---help---
-         Floppy disk drivers are known to bypass DMA API calls
-         thereby failing to work when IOMMU is enabled. This
-         workaround will setup a 1:1 mapping for the first
-         16MiB to make floppy (an ISA device) work.
-
-config INTR_REMAP
-       bool "Support for Interrupt Remapping (EXPERIMENTAL)"
-       depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL
-       ---help---
-         Supports Interrupt remapping for IO-APIC and MSI devices.
-         To use x2apic mode in the CPU's which support x2APIC enhancements or
-         to support platforms with CPU's having > 8 bit APIC ID, say Y.
-
 source "drivers/pci/pcie/Kconfig"
 
 source "drivers/pci/Kconfig"
@@ -2071,15 +2080,63 @@ config OLPC
        select GPIOLIB
        select OF
        select OF_PROMTREE
+       select IRQ_DOMAIN
        ---help---
          Add support for detecting the unique features of the OLPC
          XO hardware.
 
-config OLPC_XO1
-       tristate "OLPC XO-1 support"
-       depends on OLPC && MFD_CS5535
+config OLPC_XO1_PM
+       bool "OLPC XO-1 Power Management"
+       depends on OLPC && MFD_CS5535 && PM_SLEEP
+       select MFD_CORE
+       ---help---
+         Add support for poweroff and suspend of the OLPC XO-1 laptop.
+
+config OLPC_XO1_RTC
+       bool "OLPC XO-1 Real Time Clock"
+       depends on OLPC_XO1_PM && RTC_DRV_CMOS
+       ---help---
+         Add support for the XO-1 real time clock, which can be used as a
+         programmable wakeup source.
+
+config OLPC_XO1_SCI
+       bool "OLPC XO-1 SCI extras"
+       depends on OLPC && OLPC_XO1_PM
+       select POWER_SUPPLY
+       select GPIO_CS5535
+       select MFD_CORE
+       ---help---
+         Add support for SCI-based features of the OLPC XO-1 laptop:
+          - EC-driven system wakeups
+          - Power button
+          - Ebook switch
+          - Lid switch
+          - AC adapter status updates
+          - Battery status updates
+
+config OLPC_XO15_SCI
+       bool "OLPC XO-1.5 SCI extras"
+       depends on OLPC && ACPI
+       select POWER_SUPPLY
+       ---help---
+         Add support for SCI-based features of the OLPC XO-1.5 laptop:
+          - EC-driven system wakeups
+          - AC adapter status updates
+          - Battery status updates
+
+config ALIX
+       bool "PCEngines ALIX System Support (LED setup)"
+       select GPIOLIB
        ---help---
-         Add support for non-essential features of the OLPC XO-1 laptop.
+         This option enables system support for the PCEngines ALIX.
+         At present this just sets up LEDs for GPIO control on
+         ALIX2/3/6 boards.  However, other system specific setup should
+         get added here.
+
+         Note: You must still enable the drivers for GPIO and LED support
+         (GPIO_CS5535 & LEDS_GPIO) to actually use the LEDs
+
+         Note: You have to set alix.force=1 for boards with Award BIOS.
 
 endif # X86_32