aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig104
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
19config X86 19config 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
87config GENERIC_BUG 89config 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
94config GENERIC_BUG_RELATIVE_POINTERS
95 bool
90 96
91config GENERIC_HWEIGHT 97config GENERIC_HWEIGHT
92 def_bool y 98 def_bool y
@@ -116,6 +122,9 @@ config GENERIC_TIME_VSYSCALL
116config ARCH_HAS_CPU_RELAX 122config ARCH_HAS_CPU_RELAX
117 def_bool y 123 def_bool y
118 124
125config ARCH_HAS_DEFAULT_IDLE
126 def_bool y
127
119config ARCH_HAS_CACHE_LINE_SIZE 128config ARCH_HAS_CACHE_LINE_SIZE
120 def_bool y 129 def_bool y
121 130
@@ -164,9 +173,12 @@ config GENERIC_PENDING_IRQ
164config X86_SMP 173config 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
178config USE_GENERIC_SMP_HELPERS
179 def_bool y
180 depends on SMP
181
170config X86_32_SMP 182config 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
243config X86_HAS_BOOT_CPU_ID
244 def_bool y
245 depends on X86_VOYAGER
246
231config X86_FIND_SMP_CONFIG 247config 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
235if ACPI
236config X86_MPPARSE 251config 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
243endif
244
245if !ACPI
246config X86_MPPARSE
247 def_bool y
248 depends on X86_LOCAL_APIC
249endif
250 258
251choice 259choice
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
458config ES7000_CLUSTERED_APIC
459 def_bool y
460 depends on SMP && X86_ES7000 && MPENTIUMIII
461
462source "arch/x86/Kconfig.cpu" 466source "arch/x86/Kconfig.cpu"
463 467
464config HPET_TIMER 468config 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
657config 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
653config X86_MCE 681config 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
946config ARCH_PHYS_ADDR_T_64BIT 974config ARCH_PHYS_ADDR_T_64BIT
947 def_bool X86_64 || X86_PAE 975 def_bool X86_64 || X86_PAE
948 976
977config 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
950config NUMA 987config 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
968comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" 1009comment "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
1527config ARCH_ENABLE_MEMORY_HOTREMOVE
1528 def_bool y
1529 depends on MEMORY_HOTPLUG
1530
1486config HAVE_ARCH_EARLY_PFN_TO_NID 1531config 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
1490menu "Power management options" 1535menu "Power management and ACPI options"
1491 depends on !X86_VOYAGER 1536 depends on !X86_VOYAGER
1492 1537
1493config ARCH_HIBERNATION_HEADER 1538config 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
1625config 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
1632endif # APM 1670endif # APM
1633 1671
1634source "arch/x86/kernel/cpu/cpufreq/Kconfig" 1672source "arch/x86/kernel/cpu/cpufreq/Kconfig"
1635 1673
1636source "drivers/cpuidle/Kconfig" 1674source "drivers/cpuidle/Kconfig"
1637 1675
1676source "drivers/idle/Kconfig"
1677
1638endmenu 1678endmenu
1639 1679
1640 1680
@@ -1885,6 +1925,10 @@ config SYSVIPC_COMPAT
1885endmenu 1925endmenu
1886 1926
1887 1927
1928config HAVE_ATOMIC_IOMAP
1929 def_bool y
1930 depends on X86_32
1931
1888source "net/Kconfig" 1932source "net/Kconfig"
1889 1933
1890source "drivers/Kconfig" 1934source "drivers/Kconfig"