diff options
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 104 |
1 files changed, 74 insertions, 30 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 5b9b12321ad1..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 |
@@ -116,6 +122,9 @@ config GENERIC_TIME_VSYSCALL | |||
116 | config ARCH_HAS_CPU_RELAX | 122 | config ARCH_HAS_CPU_RELAX |
117 | def_bool y | 123 | def_bool y |
118 | 124 | ||
125 | config ARCH_HAS_DEFAULT_IDLE | ||
126 | def_bool y | ||
127 | |||
119 | config ARCH_HAS_CACHE_LINE_SIZE | 128 | config ARCH_HAS_CACHE_LINE_SIZE |
120 | def_bool y | 129 | def_bool y |
121 | 130 | ||
@@ -164,9 +173,12 @@ config GENERIC_PENDING_IRQ | |||
164 | config X86_SMP | 173 | config X86_SMP |
165 | bool | 174 | bool |
166 | depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) | 175 | depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) |
167 | select USE_GENERIC_SMP_HELPERS | ||
168 | default y | 176 | default y |
169 | 177 | ||
178 | config USE_GENERIC_SMP_HELPERS | ||
179 | def_bool y | ||
180 | depends on SMP | ||
181 | |||
170 | config X86_32_SMP | 182 | config X86_32_SMP |
171 | def_bool y | 183 | def_bool y |
172 | depends on X86_32 && SMP | 184 | depends on X86_32 && SMP |
@@ -228,25 +240,21 @@ config SMP | |||
228 | 240 | ||
229 | If you don't know what to do here, say N. | 241 | If you don't know what to do here, say N. |
230 | 242 | ||
243 | config X86_HAS_BOOT_CPU_ID | ||
244 | def_bool y | ||
245 | depends on X86_VOYAGER | ||
246 | |||
231 | config X86_FIND_SMP_CONFIG | 247 | config X86_FIND_SMP_CONFIG |
232 | def_bool y | 248 | def_bool y |
233 | depends on X86_MPPARSE || X86_VOYAGER | 249 | depends on X86_MPPARSE || X86_VOYAGER |
234 | 250 | ||
235 | if ACPI | ||
236 | config X86_MPPARSE | 251 | config X86_MPPARSE |
237 | def_bool y | 252 | bool "Enable MPS table" if ACPI |
238 | bool "Enable MPS table" | 253 | default y |
239 | depends on X86_LOCAL_APIC | 254 | depends on X86_LOCAL_APIC |
240 | help | 255 | help |
241 | 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 |
242 | (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 |
243 | endif | ||
244 | |||
245 | if !ACPI | ||
246 | config X86_MPPARSE | ||
247 | def_bool y | ||
248 | depends on X86_LOCAL_APIC | ||
249 | endif | ||
250 | 258 | ||
251 | choice | 259 | choice |
252 | prompt "Subarchitecture Type" | 260 | prompt "Subarchitecture Type" |
@@ -455,10 +463,6 @@ config X86_CYCLONE_TIMER | |||
455 | def_bool y | 463 | def_bool y |
456 | depends on X86_GENERICARCH | 464 | depends on X86_GENERICARCH |
457 | 465 | ||
458 | config ES7000_CLUSTERED_APIC | ||
459 | def_bool y | ||
460 | depends on SMP && X86_ES7000 && MPENTIUMIII | ||
461 | |||
462 | source "arch/x86/Kconfig.cpu" | 466 | source "arch/x86/Kconfig.cpu" |
463 | 467 | ||
464 | config HPET_TIMER | 468 | config HPET_TIMER |
@@ -650,6 +654,30 @@ config X86_VISWS_APIC | |||
650 | def_bool y | 654 | def_bool y |
651 | depends on X86_32 && X86_VISWS | 655 | depends on X86_32 && X86_VISWS |
652 | 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 | |||
653 | config X86_MCE | 681 | config X86_MCE |
654 | bool "Machine Check Exception" | 682 | bool "Machine Check Exception" |
655 | depends on !X86_VOYAGER | 683 | depends on !X86_VOYAGER |
@@ -946,24 +974,37 @@ config X86_PAE | |||
946 | config ARCH_PHYS_ADDR_T_64BIT | 974 | config ARCH_PHYS_ADDR_T_64BIT |
947 | def_bool X86_64 || X86_PAE | 975 | def_bool X86_64 || X86_PAE |
948 | 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 | |||
949 | # Common NUMA Features | 986 | # Common NUMA Features |
950 | config NUMA | 987 | config NUMA |
951 | bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" | 988 | bool "Numa Memory Allocation and Scheduler Support" |
952 | depends on SMP | 989 | depends on SMP |
953 | 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) |
954 | default n if X86_PC | 991 | default n if X86_PC |
955 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) | 992 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) |
956 | help | 993 | help |
957 | Enable NUMA (Non Uniform Memory Access) support. | 994 | Enable NUMA (Non Uniform Memory Access) support. |
995 | |||
958 | 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 |
959 | local memory controller of the CPU and add some more | 997 | local memory controller of the CPU and add some more |
960 | NUMA awareness to the kernel. | 998 | NUMA awareness to the kernel. |
961 | 999 | ||
962 | 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 |
963 | used for kernel development. It might also cause boot failures. | 1001 | (or later), AMD Opteron, or EM64T NUMA. |
964 | For 64-bit this is recommended on all multiprocessor Opteron systems. | 1002 | |
965 | 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 |
966 | 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. | ||
967 | 1008 | ||
968 | comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" | 1009 | comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" |
969 | depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) | 1010 | depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) |
@@ -1483,11 +1524,15 @@ config ARCH_ENABLE_MEMORY_HOTPLUG | |||
1483 | def_bool y | 1524 | def_bool y |
1484 | depends on X86_64 || (X86_32 && HIGHMEM) | 1525 | depends on X86_64 || (X86_32 && HIGHMEM) |
1485 | 1526 | ||
1527 | config ARCH_ENABLE_MEMORY_HOTREMOVE | ||
1528 | def_bool y | ||
1529 | depends on MEMORY_HOTPLUG | ||
1530 | |||
1486 | config HAVE_ARCH_EARLY_PFN_TO_NID | 1531 | config HAVE_ARCH_EARLY_PFN_TO_NID |
1487 | def_bool X86_64 | 1532 | def_bool X86_64 |
1488 | depends on NUMA | 1533 | depends on NUMA |
1489 | 1534 | ||
1490 | menu "Power management options" | 1535 | menu "Power management and ACPI options" |
1491 | depends on !X86_VOYAGER | 1536 | depends on !X86_VOYAGER |
1492 | 1537 | ||
1493 | config ARCH_HIBERNATION_HEADER | 1538 | config ARCH_HIBERNATION_HEADER |
@@ -1622,19 +1667,14 @@ config APM_ALLOW_INTS | |||
1622 | 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 |
1623 | suspend, try setting this to Y. Otherwise, say N. | 1668 | suspend, try setting this to Y. Otherwise, say N. |
1624 | 1669 | ||
1625 | config APM_REAL_MODE_POWER_OFF | ||
1626 | bool "Use real mode APM BIOS call to power off" | ||
1627 | help | ||
1628 | Use real mode APM BIOS calls to switch off the computer. This is | ||
1629 | a work-around for a number of buggy BIOSes. Switch this option on if | ||
1630 | your computer crashes instead of powering off properly. | ||
1631 | |||
1632 | endif # APM | 1670 | endif # APM |
1633 | 1671 | ||
1634 | source "arch/x86/kernel/cpu/cpufreq/Kconfig" | 1672 | source "arch/x86/kernel/cpu/cpufreq/Kconfig" |
1635 | 1673 | ||
1636 | source "drivers/cpuidle/Kconfig" | 1674 | source "drivers/cpuidle/Kconfig" |
1637 | 1675 | ||
1676 | source "drivers/idle/Kconfig" | ||
1677 | |||
1638 | endmenu | 1678 | endmenu |
1639 | 1679 | ||
1640 | 1680 | ||
@@ -1885,6 +1925,10 @@ config SYSVIPC_COMPAT | |||
1885 | endmenu | 1925 | endmenu |
1886 | 1926 | ||
1887 | 1927 | ||
1928 | config HAVE_ATOMIC_IOMAP | ||
1929 | def_bool y | ||
1930 | depends on X86_32 | ||
1931 | |||
1888 | source "net/Kconfig" | 1932 | source "net/Kconfig" |
1889 | 1933 | ||
1890 | source "drivers/Kconfig" | 1934 | source "drivers/Kconfig" |