hugetlb: restrict hugepage_migration_support() to x86_64
[deliverable/linux.git] / arch / x86 / Kconfig
index 0af5250d914fd7b52d01873571dd6facb7bba8d4..e41b258ad0409db73f4291389ec07663bdf45984 100644 (file)
@@ -43,6 +43,7 @@ config X86
        select HAVE_DMA_ATTRS
        select HAVE_DMA_CONTIGUOUS if !SWIOTLB
        select HAVE_KRETPROBES
+       select GENERIC_EARLY_IOREMAP
        select HAVE_OPTPROBES
        select HAVE_KPROBES_ON_FTRACE
        select HAVE_FTRACE_MCOUNT_RECORD
@@ -107,9 +108,9 @@ config X86
        select HAVE_ARCH_SOFT_DIRTY
        select CLOCKSOURCE_WATCHDOG
        select GENERIC_CLOCKEVENTS
-       select ARCH_CLOCKSOURCE_DATA if X86_64
+       select ARCH_CLOCKSOURCE_DATA
        select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC)
-       select GENERIC_TIME_VSYSCALL if X86_64
+       select GENERIC_TIME_VSYSCALL
        select KTIME_SCALAR if X86_32
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
@@ -127,6 +128,8 @@ config X86
        select HAVE_DEBUG_STACKOVERFLOW
        select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64
        select HAVE_CC_STACKPROTECTOR
+       select GENERIC_CPU_AUTOPROBE
+       select HAVE_ARCH_AUDITSYSCALL
 
 config INSTRUCTION_DECODER
        def_bool y
@@ -195,9 +198,6 @@ config ARCH_HAS_CPU_RELAX
 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
 
@@ -261,6 +261,9 @@ config ARCH_HWEIGHT_CFLAGS
 config ARCH_SUPPORTS_UPROBES
        def_bool y
 
+config FIX_EARLYCON_MEM
+       def_bool y
+
 source "init/Kconfig"
 source "kernel/Kconfig.freezer"
 
@@ -346,12 +349,9 @@ config X86_EXTENDED_PLATFORM
          for the following (non-PC) 32 bit x86 platforms:
                Goldfish (Android emulator)
                AMD Elan
-               NUMAQ (IBM/Sequent)
                RDC R-321x SoC
                SGI 320/540 (Visual Workstation)
                STA2X11-based (e.g. Northville)
-               Summit/EXA (IBM x440)
-               Unisys ES7000 IA32 series
                Moorestown MID devices
 
          If you have one of these systems, or if you want to build a
@@ -418,7 +418,6 @@ config X86_UV
 
 config X86_GOLDFISH
        bool "Goldfish (Virtual Platform)"
-       depends on X86_32
        depends on X86_EXTENDED_PLATFORM
        ---help---
         Enable support for the Goldfish virtual platform used primarily
@@ -489,49 +488,22 @@ config X86_32_NON_STANDARD
        depends on X86_32 && SMP
        depends on X86_EXTENDED_PLATFORM
        ---help---
-         This option compiles in the NUMAQ, Summit, bigsmp, ES7000,
-         STA2X11, default subarchitectures.  It is intended for a generic
-         binary kernel. If you select them all, kernel will probe it
-         one by one and will fallback to default.
+         This option compiles in the bigsmp and STA2X11 default
+         subarchitectures.  It is intended for a generic binary
+         kernel. If you select them all, kernel will probe it one by
+         one and will fallback to default.
 
 # Alphabetically sorted list of Non standard 32 bit platforms
 
-config X86_NUMAQ
-       bool "NUMAQ (IBM/Sequent)"
-       depends on X86_32_NON_STANDARD
-       depends on PCI
-       select NUMA
-       select X86_MPPARSE
-       ---help---
-         This option is used for getting Linux to run on a NUMAQ (IBM/Sequent)
-         NUMA multiquad box. This changes the way that processors are
-         bootstrapped, and uses Clustered Logical APIC addressing mode instead
-         of Flat Logical.  You will need a new lynxer.elf file to flash your
-         firmware with - send email to <Martin.Bligh@us.ibm.com>.
-
 config X86_SUPPORTS_MEMORY_FAILURE
        def_bool y
        # MCE code calls memory_failure():
        depends on X86_MCE
        # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
-       depends on !X86_NUMAQ
        # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
        depends on X86_64 || !SPARSEMEM
        select ARCH_SUPPORTS_MEMORY_FAILURE
 
-config X86_VISWS
-       bool "SGI 320/540 (Visual Workstation)"
-       depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT
-       depends on X86_32_NON_STANDARD
-       ---help---
-         The SGI Visual Workstation series is an IA32-based workstation
-         based on SGI systems chips with some legacy PC hardware attached.
-
-         Say Y here to create a kernel to run on the SGI 320 or 540.
-
-         A kernel compiled for the Visual Workstation will run on general
-         PCs as well. See <file:Documentation/sgi-visws.txt> for details.
-
 config STA2X11
        bool "STA2X11 Companion Chip Support"
        depends on X86_32_NON_STANDARD && PCI
@@ -548,20 +520,6 @@ config STA2X11
          option is selected the kernel will still be able to boot on
          standard PC machines.
 
-config X86_SUMMIT
-       bool "Summit/EXA (IBM x440)"
-       depends on X86_32_NON_STANDARD
-       ---help---
-         This option is needed for IBM systems that use the Summit/EXA chipset.
-         In particular, it is needed for the x440.
-
-config X86_ES7000
-       bool "Unisys ES7000 IA32 series"
-       depends on X86_32_NON_STANDARD && X86_BIGSMP
-       ---help---
-         Support for Unisys ES7000 systems.  Say 'Y' here if this kernel is
-         supposed to run on an IA32-based Unisys ES7000 system.
-
 config X86_32_IRIS
        tristate "Eurobraille/Iris poweroff module"
        depends on X86_32
@@ -684,14 +642,6 @@ config MEMTEST
                memtest=4, mean do 4 test patterns.
          If you are unsure how to answer this question, answer N.
 
-config X86_SUMMIT_NUMA
-       def_bool y
-       depends on X86_32 && NUMA && X86_32_NON_STANDARD
-
-config X86_CYCLONE_TIMER
-       def_bool y
-       depends on X86_SUMMIT
-
 source "arch/x86/Kconfig.cpu"
 
 config HPET_TIMER
@@ -820,7 +770,7 @@ config NR_CPUS
        range 2 8192 if SMP && !MAXSMP && CPUMASK_OFFSTACK && X86_64
        default "1" if !SMP
        default "8192" if MAXSMP
-       default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
+       default "32" if SMP && X86_BIGSMP
        default "8" if SMP
        ---help---
          This allows you to specify the maximum number of CPUs which this
@@ -884,10 +834,6 @@ config X86_IO_APIC
        def_bool y
        depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_IOAPIC || PCI_MSI
 
-config X86_VISWS_APIC
-       def_bool y
-       depends on X86_32 && X86_VISWS
-
 config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
        bool "Reroute for broken boot IRQs"
        depends on X86_IO_APIC
@@ -1105,13 +1051,11 @@ config X86_CPUID
 
 choice
        prompt "High Memory Support"
-       default HIGHMEM64G if X86_NUMAQ
        default HIGHMEM4G
        depends on X86_32
 
 config NOHIGHMEM
        bool "off"
-       depends on !X86_NUMAQ
        ---help---
          Linux can use up to 64 Gigabytes of physical memory on x86 systems.
          However, the address space of 32-bit x86 processors is only 4
@@ -1148,7 +1092,6 @@ config NOHIGHMEM
 
 config HIGHMEM4G
        bool "4GB"
-       depends on !X86_NUMAQ
        ---help---
          Select this if you have a 32-bit processor and between 1 and 4
          gigabytes of physical RAM.
@@ -1240,8 +1183,8 @@ config DIRECT_GBPAGES
 config NUMA
        bool "Numa Memory Allocation and Scheduler Support"
        depends on SMP
-       depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI))
-       default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
+       depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP)
+       default y if X86_BIGSMP
        ---help---
          Enable NUMA (Non Uniform Memory Access) support.
 
@@ -1252,15 +1195,11 @@ config NUMA
          For 64-bit this is recommended if the system is Intel Core i7
          (or later), AMD Opteron, or EM64T NUMA.
 
-         For 32-bit this is only needed on (rare) 32-bit-only platforms
-         that support NUMA topologies, such as NUMAQ / Summit, or if you
-         boot a 32-bit kernel on a 64-bit NUMA platform.
+         For 32-bit this is only needed if you boot a 32-bit
+         kernel on a 64-bit NUMA platform.
 
          Otherwise, you should say N.
 
-comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
-       depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)
-
 config AMD_NUMA
        def_bool y
        prompt "Old style AMD Opteron NUMA detection"
@@ -1302,7 +1241,6 @@ config NODES_SHIFT
        range 1 10
        default "10" if MAXSMP
        default "6" if X86_64
-       default "4" if X86_NUMAQ
        default "3"
        depends on NEED_MULTIPLE_NODES
        ---help---
@@ -1585,6 +1523,20 @@ config EFI_STUB
 
          See Documentation/efi-stub.txt for more information.
 
+config EFI_MIXED
+       bool "EFI mixed-mode support"
+       depends on EFI_STUB && X86_64
+       ---help---
+          Enabling this feature allows a 64-bit kernel to be booted
+          on a 32-bit firmware, provided that your CPU supports 64-bit
+          mode.
+
+          Note that it is not possible to boot a mixed-mode enabled
+          kernel via the EFI boot stub - a bootloader that supports
+          the EFI handover protocol must be used.
+
+          If unsure, say N.
+
 config SECCOMP
        def_bool y
        prompt "Enable seccomp to safely compute untrusted bytecode"
@@ -1836,17 +1788,29 @@ config DEBUG_HOTPLUG_CPU0
          If unsure, say N.
 
 config COMPAT_VDSO
-       def_bool y
-       prompt "Compat VDSO support"
+       def_bool n
+       prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
        depends on X86_32 || IA32_EMULATION
        ---help---
-         Map the 32-bit VDSO to the predictable old-style address too.
+         Certain buggy versions of glibc will crash if they are
+         presented with a 32-bit vDSO that is not mapped at the address
+         indicated in its segment table.
 
-         Say N here if you are running a sufficiently recent glibc
-         version (2.3.3 or later), to remove the high-mapped
-         VDSO mapping and to exclusively use the randomized VDSO.
+         The bug was introduced by f866314b89d56845f55e6f365e18b31ec978ec3a
+         and fixed by 3b3ddb4f7db98ec9e912ccdf54d35df4aa30e04a and
+         49ad572a70b8aeb91e57483a11dd1b77e31c4468.  Glibc 2.3.3 is
+         the only released version with the bug, but OpenSUSE 9
+         contains a buggy "glibc 2.3.2".
 
-         If unsure, say Y.
+         The symptom of the bug is that everything crashes on startup, saying:
+         dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
+
+         Saying Y here changes the default value of the vdso32 boot
+         option from 1 to 0, which turns off the 32-bit vDSO entirely.
+         This works around the glibc bug but hurts performance.
+
+         If unsure, say N: if you are compiling your own kernel, you
+         are unlikely to be using a buggy version of glibc.
 
 config CMDLINE_BOOL
        bool "Built-in kernel command line"
@@ -1909,6 +1873,10 @@ config ARCH_ENABLE_SPLIT_PMD_PTLOCK
        def_bool y
        depends on X86_64 || X86_PAE
 
+config ARCH_ENABLE_HUGEPAGE_MIGRATION
+       def_bool y
+       depends on X86_64 && HUGETLB_PAGE && MIGRATION
+
 menu "Power management and ACPI options"
 
 config ARCH_HIBERNATION_HEADER
@@ -2413,12 +2381,9 @@ config X86_DMA_REMAP
        depends on STA2X11
 
 config IOSF_MBI
-       bool
+       tristate
+       default m
        depends on PCI
-       ---help---
-         To be selected by modules requiring access to the Intel OnChip System
-         Fabric (IOSF) Sideband MailBox Interface (MBI). For MBI platforms
-         enumerable by PCI.
 
 source "net/Kconfig"
 
This page took 0.029646 seconds and 5 git commands to generate.