aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig88
1 files changed, 65 insertions, 23 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 0ca2eb7573cd..249d1e0824b5 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
@@ -90,6 +92,10 @@ config GENERIC_IOMAP
90config GENERIC_BUG 92config GENERIC_BUG
91 def_bool y 93 def_bool y
92 depends on BUG 94 depends on BUG
95 select GENERIC_BUG_RELATIVE_POINTERS if X86_64
96
97config GENERIC_BUG_RELATIVE_POINTERS
98 bool
93 99
94config GENERIC_HWEIGHT 100config GENERIC_HWEIGHT
95 def_bool y 101 def_bool y
@@ -244,16 +250,19 @@ config X86_HAS_BOOT_CPU_ID
244config SPARSE_IRQ 250config SPARSE_IRQ
245 bool "Support sparse irq numbering" 251 bool "Support sparse irq numbering"
246 depends on PCI_MSI || HT_IRQ 252 depends on PCI_MSI || HT_IRQ
247 default y
248 help 253 help
249 This enables support for sparse irq, esp for msi/msi-x. You may need 254 This enables support for sparse irqs. This is useful for distro
250 if you have lots of cards supports msi-x installed. 255 kernels that want to define a high CONFIG_NR_CPUS value but still
256 want to have low kernel memory footprint on smaller machines.
251 257
252 If you don't know what to do here, say Y. 258 ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread
259 out the irq_desc[] array in a more NUMA-friendly way. )
260
261 If you don't know what to do here, say N.
253 262
254config NUMA_MIGRATE_IRQ_DESC 263config NUMA_MIGRATE_IRQ_DESC
255 bool "Move irq desc when changing irq smp_affinity" 264 bool "Move irq desc when changing irq smp_affinity"
256 depends on SPARSE_IRQ && SMP 265 depends on SPARSE_IRQ && NUMA
257 default n 266 default n
258 help 267 help
259 This enables moving irq_desc to cpu/node that irq will use handled. 268 This enables moving irq_desc to cpu/node that irq will use handled.
@@ -264,21 +273,13 @@ config X86_FIND_SMP_CONFIG
264 def_bool y 273 def_bool y
265 depends on X86_MPPARSE || X86_VOYAGER 274 depends on X86_MPPARSE || X86_VOYAGER
266 275
267if ACPI
268config X86_MPPARSE 276config X86_MPPARSE
269 def_bool y 277 bool "Enable MPS table" if ACPI
270 bool "Enable MPS table" 278 default y
271 depends on X86_LOCAL_APIC 279 depends on X86_LOCAL_APIC
272 help 280 help
273 For old smp systems that do not have proper acpi support. Newer systems 281 For old smp systems that do not have proper acpi support. Newer systems
274 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it 282 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
275endif
276
277if !ACPI
278config X86_MPPARSE
279 def_bool y
280 depends on X86_LOCAL_APIC
281endif
282 283
283choice 284choice
284 prompt "Subarchitecture Type" 285 prompt "Subarchitecture Type"
@@ -500,7 +501,7 @@ config HPET_TIMER
500 The HPET provides a stable time base on SMP 501 The HPET provides a stable time base on SMP
501 systems, unlike the TSC, but it is more expensive to access, 502 systems, unlike the TSC, but it is more expensive to access,
502 as it is off-chip. You can find the HPET spec at 503 as it is off-chip. You can find the HPET spec at
503 <http://www.intel.com/hardwaredesign/hpetspec.htm>. 504 <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>.
504 505
505 You can safely choose Y here. However, HPET will only be 506 You can safely choose Y here. However, HPET will only be
506 activated if the platform and the BIOS support this feature. 507 activated if the platform and the BIOS support this feature.
@@ -587,7 +588,7 @@ config AMD_IOMMU
587 588
588# need this always selected by IOMMU for the VIA workaround 589# need this always selected by IOMMU for the VIA workaround
589config SWIOTLB 590config SWIOTLB
590 bool 591 def_bool y if X86_64
591 help 592 help
592 Support for software bounce buffers used on x86-64 systems 593 Support for software bounce buffers used on x86-64 systems
593 which don't have a hardware IOMMU (e.g. the current generation 594 which don't have a hardware IOMMU (e.g. the current generation
@@ -679,6 +680,30 @@ config X86_VISWS_APIC
679 def_bool y 680 def_bool y
680 depends on X86_32 && X86_VISWS 681 depends on X86_32 && X86_VISWS
681 682
683config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
684 bool "Reroute for broken boot IRQs"
685 default n
686 depends on X86_IO_APIC
687 help
688 This option enables a workaround that fixes a source of
689 spurious interrupts. This is recommended when threaded
690 interrupt handling is used on systems where the generation of
691 superfluous "boot interrupts" cannot be disabled.
692
693 Some chipsets generate a legacy INTx "boot IRQ" when the IRQ
694 entry in the chipset's IO-APIC is masked (as, e.g. the RT
695 kernel does during interrupt handling). On chipsets where this
696 boot IRQ generation cannot be disabled, this workaround keeps
697 the original IRQ line masked so that only the equivalent "boot
698 IRQ" is delivered to the CPUs. The workaround also tells the
699 kernel to set up the IRQ handler on the boot IRQ line. In this
700 way only one interrupt is delivered to the kernel. Otherwise
701 the spurious second interrupt may cause the kernel to bring
702 down (vital) interrupt lines.
703
704 Only affects "broken" chipsets. Interrupt sharing may be
705 increased on these systems.
706
682config X86_MCE 707config X86_MCE
683 bool "Machine Check Exception" 708 bool "Machine Check Exception"
684 depends on !X86_VOYAGER 709 depends on !X86_VOYAGER
@@ -975,24 +1000,37 @@ config X86_PAE
975config ARCH_PHYS_ADDR_T_64BIT 1000config ARCH_PHYS_ADDR_T_64BIT
976 def_bool X86_64 || X86_PAE 1001 def_bool X86_64 || X86_PAE
977 1002
1003config DIRECT_GBPAGES
1004 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED
1005 default y
1006 depends on X86_64
1007 help
1008 Allow the kernel linear mapping to use 1GB pages on CPUs that
1009 support it. This can improve the kernel's performance a tiny bit by
1010 reducing TLB pressure. If in doubt, say "Y".
1011
978# Common NUMA Features 1012# Common NUMA Features
979config NUMA 1013config NUMA
980 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" 1014 bool "Numa Memory Allocation and Scheduler Support"
981 depends on SMP 1015 depends on SMP
982 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) 1016 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
983 default n if X86_PC 1017 default n if X86_PC
984 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) 1018 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
985 help 1019 help
986 Enable NUMA (Non Uniform Memory Access) support. 1020 Enable NUMA (Non Uniform Memory Access) support.
1021
987 The kernel will try to allocate memory used by a CPU on the 1022 The kernel will try to allocate memory used by a CPU on the
988 local memory controller of the CPU and add some more 1023 local memory controller of the CPU and add some more
989 NUMA awareness to the kernel. 1024 NUMA awareness to the kernel.
990 1025
991 For 32-bit this is currently highly experimental and should be only 1026 For 64-bit this is recommended if the system is Intel Core i7
992 used for kernel development. It might also cause boot failures. 1027 (or later), AMD Opteron, or EM64T NUMA.
993 For 64-bit this is recommended on all multiprocessor Opteron systems. 1028
994 If the system is EM64T, you should say N unless your system is 1029 For 32-bit this is only needed on (rare) 32-bit-only platforms
995 EM64T NUMA. 1030 that support NUMA topologies, such as NUMAQ / Summit, or if you
1031 boot a 32-bit kernel on a 64-bit NUMA platform.
1032
1033 Otherwise, you should say N.
996 1034
997comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" 1035comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
998 depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) 1036 depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)
@@ -1512,6 +1550,10 @@ config ARCH_ENABLE_MEMORY_HOTPLUG
1512 def_bool y 1550 def_bool y
1513 depends on X86_64 || (X86_32 && HIGHMEM) 1551 depends on X86_64 || (X86_32 && HIGHMEM)
1514 1552
1553config ARCH_ENABLE_MEMORY_HOTREMOVE
1554 def_bool y
1555 depends on MEMORY_HOTPLUG
1556
1515config HAVE_ARCH_EARLY_PFN_TO_NID 1557config HAVE_ARCH_EARLY_PFN_TO_NID
1516 def_bool X86_64 1558 def_bool X86_64
1517 depends on NUMA 1559 depends on NUMA