aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig145
1 files changed, 63 insertions, 82 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index cea0cd9a316f..dfabfefc21c4 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -25,14 +25,17 @@ config X86
25 select HAVE_IDE 25 select HAVE_IDE
26 select HAVE_OPROFILE 26 select HAVE_OPROFILE
27 select HAVE_PERF_EVENTS if (!M386 && !M486) 27 select HAVE_PERF_EVENTS if (!M386 && !M486)
28 select HAVE_IRQ_WORK
28 select HAVE_IOREMAP_PROT 29 select HAVE_IOREMAP_PROT
29 select HAVE_KPROBES 30 select HAVE_KPROBES
31 select HAVE_MEMBLOCK
30 select ARCH_WANT_OPTIONAL_GPIOLIB 32 select ARCH_WANT_OPTIONAL_GPIOLIB
31 select ARCH_WANT_FRAME_POINTERS 33 select ARCH_WANT_FRAME_POINTERS
32 select HAVE_DMA_ATTRS 34 select HAVE_DMA_ATTRS
33 select HAVE_KRETPROBES 35 select HAVE_KRETPROBES
34 select HAVE_OPTPROBES 36 select HAVE_OPTPROBES
35 select HAVE_FTRACE_MCOUNT_RECORD 37 select HAVE_FTRACE_MCOUNT_RECORD
38 select HAVE_C_RECORDMCOUNT
36 select HAVE_DYNAMIC_FTRACE 39 select HAVE_DYNAMIC_FTRACE
37 select HAVE_FUNCTION_TRACER 40 select HAVE_FUNCTION_TRACER
38 select HAVE_FUNCTION_GRAPH_TRACER 41 select HAVE_FUNCTION_GRAPH_TRACER
@@ -59,6 +62,12 @@ config X86
59 select ANON_INODES 62 select ANON_INODES
60 select HAVE_ARCH_KMEMCHECK 63 select HAVE_ARCH_KMEMCHECK
61 select HAVE_USER_RETURN_NOTIFIER 64 select HAVE_USER_RETURN_NOTIFIER
65 select HAVE_ARCH_JUMP_LABEL
66 select HAVE_TEXT_POKE_SMP
67 select HAVE_GENERIC_HARDIRQS
68 select HAVE_SPARSE_IRQ
69 select GENERIC_IRQ_PROBE
70 select GENERIC_PENDING_IRQ if SMP
62 71
63config INSTRUCTION_DECODER 72config INSTRUCTION_DECODER
64 def_bool (KPROBES || PERF_EVENTS) 73 def_bool (KPROBES || PERF_EVENTS)
@@ -193,27 +202,10 @@ config ARCH_SUPPORTS_OPTIMIZED_INLINING
193config ARCH_SUPPORTS_DEBUG_PAGEALLOC 202config ARCH_SUPPORTS_DEBUG_PAGEALLOC
194 def_bool y 203 def_bool y
195 204
196config HAVE_EARLY_RES
197 def_bool y
198
199config HAVE_INTEL_TXT 205config HAVE_INTEL_TXT
200 def_bool y 206 def_bool y
201 depends on EXPERIMENTAL && DMAR && ACPI 207 depends on EXPERIMENTAL && DMAR && ACPI
202 208
203# Use the generic interrupt handling code in kernel/irq/:
204config GENERIC_HARDIRQS
205 def_bool y
206
207config GENERIC_HARDIRQS_NO__DO_IRQ
208 def_bool y
209
210config GENERIC_IRQ_PROBE
211 def_bool y
212
213config GENERIC_PENDING_IRQ
214 def_bool y
215 depends on GENERIC_HARDIRQS && SMP
216
217config USE_GENERIC_SMP_HELPERS 209config USE_GENERIC_SMP_HELPERS
218 def_bool y 210 def_bool y
219 depends on SMP 211 depends on SMP
@@ -296,23 +288,6 @@ config X86_X2APIC
296 288
297 If you don't know what to do here, say N. 289 If you don't know what to do here, say N.
298 290
299config SPARSE_IRQ
300 bool "Support sparse irq numbering"
301 depends on PCI_MSI || HT_IRQ
302 ---help---
303 This enables support for sparse irqs. This is useful for distro
304 kernels that want to define a high CONFIG_NR_CPUS value but still
305 want to have low kernel memory footprint on smaller machines.
306
307 ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread
308 out the irq_desc[] array in a more NUMA-friendly way. )
309
310 If you don't know what to do here, say N.
311
312config NUMA_IRQ_DESC
313 def_bool y
314 depends on SPARSE_IRQ && NUMA
315
316config X86_MPPARSE 291config X86_MPPARSE
317 bool "Enable MPS table" if ACPI 292 bool "Enable MPS table" if ACPI
318 default y 293 default y
@@ -517,25 +492,6 @@ if PARAVIRT_GUEST
517 492
518source "arch/x86/xen/Kconfig" 493source "arch/x86/xen/Kconfig"
519 494
520config VMI
521 bool "VMI Guest support (DEPRECATED)"
522 select PARAVIRT
523 depends on X86_32
524 ---help---
525 VMI provides a paravirtualized interface to the VMware ESX server
526 (it could be used by other hypervisors in theory too, but is not
527 at the moment), by linking the kernel to a GPL-ed ROM module
528 provided by the hypervisor.
529
530 As of September 2009, VMware has started a phased retirement
531 of this feature from VMware's products. Please see
532 feature-removal-schedule.txt for details. If you are
533 planning to enable this option, please note that you cannot
534 live migrate a VMI enabled VM to a future VMware product,
535 which doesn't support VMI. So if you expect your kernel to
536 seamlessly migrate to newer VMware products, keep this
537 disabled.
538
539config KVM_CLOCK 495config KVM_CLOCK
540 bool "KVM paravirtualized clock" 496 bool "KVM paravirtualized clock"
541 select PARAVIRT 497 select PARAVIRT
@@ -590,16 +546,7 @@ config PARAVIRT_DEBUG
590 a paravirt_op is missing when it is called. 546 a paravirt_op is missing when it is called.
591 547
592config NO_BOOTMEM 548config NO_BOOTMEM
593 default y 549 def_bool y
594 bool "Disable Bootmem code"
595 ---help---
596 Use early_res directly instead of bootmem before slab is ready.
597 - allocator (buddy) [generic]
598 - early allocator (bootmem) [generic]
599 - very early allocator (reserve_early*()) [x86]
600 - very very early allocator (early brk model) [x86]
601 So reduce one layer between early allocator to final allocator
602
603 550
604config MEMTEST 551config MEMTEST
605 bool "Memtest" 552 bool "Memtest"
@@ -670,7 +617,7 @@ config GART_IOMMU
670 bool "GART IOMMU support" if EMBEDDED 617 bool "GART IOMMU support" if EMBEDDED
671 default y 618 default y
672 select SWIOTLB 619 select SWIOTLB
673 depends on X86_64 && PCI && K8_NB 620 depends on X86_64 && PCI && AMD_NB
674 ---help--- 621 ---help---
675 Support for full DMA access of devices with 32bit memory access only 622 Support for full DMA access of devices with 32bit memory access only
676 on systems with more than 3GB. This is usually needed for USB, 623 on systems with more than 3GB. This is usually needed for USB,
@@ -795,6 +742,17 @@ config SCHED_MC
795 making when dealing with multi-core CPU chips at a cost of slightly 742 making when dealing with multi-core CPU chips at a cost of slightly
796 increased overhead in some places. If unsure say N here. 743 increased overhead in some places. If unsure say N here.
797 744
745config IRQ_TIME_ACCOUNTING
746 bool "Fine granularity task level IRQ time accounting"
747 default n
748 ---help---
749 Select this option to enable fine granularity task irq time
750 accounting. This is done by reading a timestamp on each
751 transitions between softirq and hardirq state, so there can be a
752 small performance impact.
753
754 If in doubt, say N here.
755
798source "kernel/Kconfig.preempt" 756source "kernel/Kconfig.preempt"
799 757
800config X86_UP_APIC 758config X86_UP_APIC
@@ -1148,6 +1106,9 @@ config X86_PAE
1148config ARCH_PHYS_ADDR_T_64BIT 1106config ARCH_PHYS_ADDR_T_64BIT
1149 def_bool X86_64 || X86_PAE 1107 def_bool X86_64 || X86_PAE
1150 1108
1109config ARCH_DMA_ADDR_T_64BIT
1110 def_bool X86_64 || HIGHMEM64G
1111
1151config DIRECT_GBPAGES 1112config DIRECT_GBPAGES
1152 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED 1113 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED
1153 default y 1114 default y
@@ -1326,25 +1287,34 @@ config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
1326 Set whether the default state of memory_corruption_check is 1287 Set whether the default state of memory_corruption_check is
1327 on or off. 1288 on or off.
1328 1289
1329config X86_RESERVE_LOW_64K 1290config X86_RESERVE_LOW
1330 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" 1291 int "Amount of low memory, in kilobytes, to reserve for the BIOS"
1331 default y 1292 default 64
1293 range 4 640
1332 ---help--- 1294 ---help---
1333 Reserve the first 64K of physical RAM on BIOSes that are known 1295 Specify the amount of low memory to reserve for the BIOS.
1334 to potentially corrupt that memory range. A numbers of BIOSes are 1296
1335 known to utilize this area during suspend/resume, so it must not 1297 The first page contains BIOS data structures that the kernel
1336 be used by the kernel. 1298 must not use, so that page must always be reserved.
1299
1300 By default we reserve the first 64K of physical RAM, as a
1301 number of BIOSes are known to corrupt that memory range
1302 during events such as suspend/resume or monitor cable
1303 insertion, so it must not be used by the kernel.
1337 1304
1338 Set this to N if you are absolutely sure that you trust the BIOS 1305 You can set this to 4 if you are absolutely sure that you
1339 to get all its memory reservations and usages right. 1306 trust the BIOS to get all its memory reservations and usages
1307 right. If you know your BIOS have problems beyond the
1308 default 64K area, you can set this to 640 to avoid using the
1309 entire low memory range.
1340 1310
1341 If you have doubts about the BIOS (e.g. suspend/resume does not 1311 If you have doubts about the BIOS (e.g. suspend/resume does
1342 work or there's kernel crashes after certain hardware hotplug 1312 not work or there's kernel crashes after certain hardware
1343 events) and it's not AMI or Phoenix, then you might want to enable 1313 hotplug events) then you might want to enable
1344 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical 1314 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check
1345 corruption patterns. 1315 typical corruption patterns.
1346 1316
1347 Say Y if unsure. 1317 Leave this to the default value of 64 if you are unsure.
1348 1318
1349config MATH_EMULATION 1319config MATH_EMULATION
1350 bool 1320 bool
@@ -1900,7 +1870,7 @@ config PCI_GODIRECT
1900 bool "Direct" 1870 bool "Direct"
1901 1871
1902config PCI_GOOLPC 1872config PCI_GOOLPC
1903 bool "OLPC" 1873 bool "OLPC XO-1"
1904 depends on OLPC 1874 depends on OLPC
1905 1875
1906config PCI_GOANY 1876config PCI_GOANY
@@ -2061,14 +2031,21 @@ config SCx200HR_TIMER
2061config OLPC 2031config OLPC
2062 bool "One Laptop Per Child support" 2032 bool "One Laptop Per Child support"
2063 select GPIOLIB 2033 select GPIOLIB
2034 select OLPC_OPENFIRMWARE
2064 ---help--- 2035 ---help---
2065 Add support for detecting the unique features of the OLPC 2036 Add support for detecting the unique features of the OLPC
2066 XO hardware. 2037 XO hardware.
2067 2038
2039config OLPC_XO1
2040 tristate "OLPC XO-1 support"
2041 depends on OLPC && PCI
2042 ---help---
2043 Add support for non-essential features of the OLPC XO-1 laptop.
2044
2068config OLPC_OPENFIRMWARE 2045config OLPC_OPENFIRMWARE
2069 bool "Support for OLPC's Open Firmware" 2046 bool "Support for OLPC's Open Firmware"
2070 depends on !X86_64 && !X86_PAE 2047 depends on !X86_64 && !X86_PAE
2071 default y if OLPC 2048 default n
2072 help 2049 help
2073 This option adds support for the implementation of Open Firmware 2050 This option adds support for the implementation of Open Firmware
2074 that is used on the OLPC XO-1 Children's Machine. 2051 that is used on the OLPC XO-1 Children's Machine.
@@ -2076,7 +2053,7 @@ config OLPC_OPENFIRMWARE
2076 2053
2077endif # X86_32 2054endif # X86_32
2078 2055
2079config K8_NB 2056config AMD_NB
2080 def_bool y 2057 def_bool y
2081 depends on CPU_SUP_AMD && PCI 2058 depends on CPU_SUP_AMD && PCI
2082 2059
@@ -2125,6 +2102,10 @@ config HAVE_ATOMIC_IOMAP
2125 def_bool y 2102 def_bool y
2126 depends on X86_32 2103 depends on X86_32
2127 2104
2105config HAVE_TEXT_POKE_SMP
2106 bool
2107 select STOP_MACHINE if SMP
2108
2128source "net/Kconfig" 2109source "net/Kconfig"
2129 2110
2130source "drivers/Kconfig" 2111source "drivers/Kconfig"