diff options
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 99 |
1 files changed, 69 insertions, 30 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 350bee1d54dc..1cbec0269d39 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -19,6 +19,8 @@ config X86_64 | |||
19 | config X86 | 19 | config X86 |
20 | def_bool y | 20 | def_bool y |
21 | select HAVE_AOUT if X86_32 | 21 | select HAVE_AOUT if X86_32 |
22 | select HAVE_READQ | ||
23 | select HAVE_WRITEQ | ||
22 | select HAVE_UNSTABLE_SCHED_CLOCK | 24 | select HAVE_UNSTABLE_SCHED_CLOCK |
23 | select HAVE_IDE | 25 | select HAVE_IDE |
24 | select HAVE_OPROFILE | 26 | select HAVE_OPROFILE |
@@ -28,7 +30,7 @@ config X86 | |||
28 | select HAVE_KRETPROBES | 30 | select HAVE_KRETPROBES |
29 | select HAVE_FTRACE_MCOUNT_RECORD | 31 | select HAVE_FTRACE_MCOUNT_RECORD |
30 | select HAVE_DYNAMIC_FTRACE | 32 | select HAVE_DYNAMIC_FTRACE |
31 | select HAVE_FTRACE | 33 | select HAVE_FUNCTION_TRACER |
32 | select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) | 34 | select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) |
33 | select HAVE_ARCH_KGDB if !X86_VOYAGER | 35 | select HAVE_ARCH_KGDB if !X86_VOYAGER |
34 | select HAVE_ARCH_TRACEHOOK | 36 | select HAVE_ARCH_TRACEHOOK |
@@ -87,6 +89,10 @@ config GENERIC_IOMAP | |||
87 | config GENERIC_BUG | 89 | config GENERIC_BUG |
88 | def_bool y | 90 | def_bool y |
89 | depends on BUG | 91 | depends on BUG |
92 | select GENERIC_BUG_RELATIVE_POINTERS if X86_64 | ||
93 | |||
94 | config GENERIC_BUG_RELATIVE_POINTERS | ||
95 | bool | ||
90 | 96 | ||
91 | config GENERIC_HWEIGHT | 97 | config GENERIC_HWEIGHT |
92 | def_bool y | 98 | def_bool y |
@@ -167,9 +173,12 @@ config GENERIC_PENDING_IRQ | |||
167 | config X86_SMP | 173 | config X86_SMP |
168 | bool | 174 | bool |
169 | depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) | 175 | depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) |
170 | select USE_GENERIC_SMP_HELPERS | ||
171 | default y | 176 | default y |
172 | 177 | ||
178 | config USE_GENERIC_SMP_HELPERS | ||
179 | def_bool y | ||
180 | depends on SMP | ||
181 | |||
173 | config X86_32_SMP | 182 | config X86_32_SMP |
174 | def_bool y | 183 | def_bool y |
175 | depends on X86_32 && SMP | 184 | depends on X86_32 && SMP |
@@ -231,25 +240,21 @@ config SMP | |||
231 | 240 | ||
232 | If you don't know what to do here, say N. | 241 | If you don't know what to do here, say N. |
233 | 242 | ||
243 | config X86_HAS_BOOT_CPU_ID | ||
244 | def_bool y | ||
245 | depends on X86_VOYAGER | ||
246 | |||
234 | config X86_FIND_SMP_CONFIG | 247 | config X86_FIND_SMP_CONFIG |
235 | def_bool y | 248 | def_bool y |
236 | depends on X86_MPPARSE || X86_VOYAGER | 249 | depends on X86_MPPARSE || X86_VOYAGER |
237 | 250 | ||
238 | if ACPI | ||
239 | config X86_MPPARSE | 251 | config X86_MPPARSE |
240 | def_bool y | 252 | bool "Enable MPS table" if ACPI |
241 | bool "Enable MPS table" | 253 | default y |
242 | depends on X86_LOCAL_APIC | 254 | depends on X86_LOCAL_APIC |
243 | help | 255 | help |
244 | For old smp systems that do not have proper acpi support. Newer systems | 256 | For old smp systems that do not have proper acpi support. Newer systems |
245 | (esp with 64bit cpus) with acpi support, MADT and DSDT will override it | 257 | (esp with 64bit cpus) with acpi support, MADT and DSDT will override it |
246 | endif | ||
247 | |||
248 | if !ACPI | ||
249 | config X86_MPPARSE | ||
250 | def_bool y | ||
251 | depends on X86_LOCAL_APIC | ||
252 | endif | ||
253 | 258 | ||
254 | choice | 259 | choice |
255 | prompt "Subarchitecture Type" | 260 | prompt "Subarchitecture Type" |
@@ -458,10 +463,6 @@ config X86_CYCLONE_TIMER | |||
458 | def_bool y | 463 | def_bool y |
459 | depends on X86_GENERICARCH | 464 | depends on X86_GENERICARCH |
460 | 465 | ||
461 | config ES7000_CLUSTERED_APIC | ||
462 | def_bool y | ||
463 | depends on SMP && X86_ES7000 && MPENTIUMIII | ||
464 | |||
465 | source "arch/x86/Kconfig.cpu" | 466 | source "arch/x86/Kconfig.cpu" |
466 | 467 | ||
467 | config HPET_TIMER | 468 | config HPET_TIMER |
@@ -653,6 +654,30 @@ config X86_VISWS_APIC | |||
653 | def_bool y | 654 | def_bool y |
654 | depends on X86_32 && X86_VISWS | 655 | depends on X86_32 && X86_VISWS |
655 | 656 | ||
657 | config X86_REROUTE_FOR_BROKEN_BOOT_IRQS | ||
658 | bool "Reroute for broken boot IRQs" | ||
659 | default n | ||
660 | depends on X86_IO_APIC | ||
661 | help | ||
662 | This option enables a workaround that fixes a source of | ||
663 | spurious interrupts. This is recommended when threaded | ||
664 | interrupt handling is used on systems where the generation of | ||
665 | superfluous "boot interrupts" cannot be disabled. | ||
666 | |||
667 | Some chipsets generate a legacy INTx "boot IRQ" when the IRQ | ||
668 | entry in the chipset's IO-APIC is masked (as, e.g. the RT | ||
669 | kernel does during interrupt handling). On chipsets where this | ||
670 | boot IRQ generation cannot be disabled, this workaround keeps | ||
671 | the original IRQ line masked so that only the equivalent "boot | ||
672 | IRQ" is delivered to the CPUs. The workaround also tells the | ||
673 | kernel to set up the IRQ handler on the boot IRQ line. In this | ||
674 | way only one interrupt is delivered to the kernel. Otherwise | ||
675 | the spurious second interrupt may cause the kernel to bring | ||
676 | down (vital) interrupt lines. | ||
677 | |||
678 | Only affects "broken" chipsets. Interrupt sharing may be | ||
679 | increased on these systems. | ||
680 | |||
656 | config X86_MCE | 681 | config X86_MCE |
657 | bool "Machine Check Exception" | 682 | bool "Machine Check Exception" |
658 | depends on !X86_VOYAGER | 683 | depends on !X86_VOYAGER |
@@ -949,24 +974,37 @@ config X86_PAE | |||
949 | config ARCH_PHYS_ADDR_T_64BIT | 974 | config ARCH_PHYS_ADDR_T_64BIT |
950 | def_bool X86_64 || X86_PAE | 975 | def_bool X86_64 || X86_PAE |
951 | 976 | ||
977 | config DIRECT_GBPAGES | ||
978 | bool "Enable 1GB pages for kernel pagetables" if EMBEDDED | ||
979 | default y | ||
980 | depends on X86_64 | ||
981 | help | ||
982 | Allow the kernel linear mapping to use 1GB pages on CPUs that | ||
983 | support it. This can improve the kernel's performance a tiny bit by | ||
984 | reducing TLB pressure. If in doubt, say "Y". | ||
985 | |||
952 | # Common NUMA Features | 986 | # Common NUMA Features |
953 | config NUMA | 987 | config NUMA |
954 | bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" | 988 | bool "Numa Memory Allocation and Scheduler Support" |
955 | depends on SMP | 989 | depends on SMP |
956 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) | 990 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) |
957 | default n if X86_PC | 991 | default n if X86_PC |
958 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) | 992 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) |
959 | help | 993 | help |
960 | Enable NUMA (Non Uniform Memory Access) support. | 994 | Enable NUMA (Non Uniform Memory Access) support. |
995 | |||
961 | The kernel will try to allocate memory used by a CPU on the | 996 | The kernel will try to allocate memory used by a CPU on the |
962 | local memory controller of the CPU and add some more | 997 | local memory controller of the CPU and add some more |
963 | NUMA awareness to the kernel. | 998 | NUMA awareness to the kernel. |
964 | 999 | ||
965 | For 32-bit this is currently highly experimental and should be only | 1000 | For 64-bit this is recommended if the system is Intel Core i7 |
966 | used for kernel development. It might also cause boot failures. | 1001 | (or later), AMD Opteron, or EM64T NUMA. |
967 | For 64-bit this is recommended on all multiprocessor Opteron systems. | 1002 | |
968 | If the system is EM64T, you should say N unless your system is | 1003 | For 32-bit this is only needed on (rare) 32-bit-only platforms |
969 | EM64T NUMA. | 1004 | that support NUMA topologies, such as NUMAQ / Summit, or if you |
1005 | boot a 32-bit kernel on a 64-bit NUMA platform. | ||
1006 | |||
1007 | Otherwise, you should say N. | ||
970 | 1008 | ||
971 | comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" | 1009 | comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" |
972 | depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) | 1010 | depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) |
@@ -1486,11 +1524,15 @@ config ARCH_ENABLE_MEMORY_HOTPLUG | |||
1486 | def_bool y | 1524 | def_bool y |
1487 | depends on X86_64 || (X86_32 && HIGHMEM) | 1525 | depends on X86_64 || (X86_32 && HIGHMEM) |
1488 | 1526 | ||
1527 | config ARCH_ENABLE_MEMORY_HOTREMOVE | ||
1528 | def_bool y | ||
1529 | depends on MEMORY_HOTPLUG | ||
1530 | |||
1489 | config HAVE_ARCH_EARLY_PFN_TO_NID | 1531 | config HAVE_ARCH_EARLY_PFN_TO_NID |
1490 | def_bool X86_64 | 1532 | def_bool X86_64 |
1491 | depends on NUMA | 1533 | depends on NUMA |
1492 | 1534 | ||
1493 | menu "Power management options" | 1535 | menu "Power management and ACPI options" |
1494 | depends on !X86_VOYAGER | 1536 | depends on !X86_VOYAGER |
1495 | 1537 | ||
1496 | config ARCH_HIBERNATION_HEADER | 1538 | config ARCH_HIBERNATION_HEADER |
@@ -1625,13 +1667,6 @@ config APM_ALLOW_INTS | |||
1625 | many of the newer IBM Thinkpads. If you experience hangs when you | 1667 | many of the newer IBM Thinkpads. If you experience hangs when you |
1626 | suspend, try setting this to Y. Otherwise, say N. | 1668 | suspend, try setting this to Y. Otherwise, say N. |
1627 | 1669 | ||
1628 | config APM_REAL_MODE_POWER_OFF | ||
1629 | bool "Use real mode APM BIOS call to power off" | ||
1630 | help | ||
1631 | Use real mode APM BIOS calls to switch off the computer. This is | ||
1632 | a work-around for a number of buggy BIOSes. Switch this option on if | ||
1633 | your computer crashes instead of powering off properly. | ||
1634 | |||
1635 | endif # APM | 1670 | endif # APM |
1636 | 1671 | ||
1637 | source "arch/x86/kernel/cpu/cpufreq/Kconfig" | 1672 | source "arch/x86/kernel/cpu/cpufreq/Kconfig" |
@@ -1890,6 +1925,10 @@ config SYSVIPC_COMPAT | |||
1890 | endmenu | 1925 | endmenu |
1891 | 1926 | ||
1892 | 1927 | ||
1928 | config HAVE_ATOMIC_IOMAP | ||
1929 | def_bool y | ||
1930 | depends on X86_32 | ||
1931 | |||
1893 | source "net/Kconfig" | 1932 | source "net/Kconfig" |
1894 | 1933 | ||
1895 | source "drivers/Kconfig" | 1934 | source "drivers/Kconfig" |