diff options
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 145 |
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 | ||
63 | config INSTRUCTION_DECODER | 72 | config INSTRUCTION_DECODER |
64 | def_bool (KPROBES || PERF_EVENTS) | 73 | def_bool (KPROBES || PERF_EVENTS) |
@@ -193,27 +202,10 @@ config ARCH_SUPPORTS_OPTIMIZED_INLINING | |||
193 | config ARCH_SUPPORTS_DEBUG_PAGEALLOC | 202 | config ARCH_SUPPORTS_DEBUG_PAGEALLOC |
194 | def_bool y | 203 | def_bool y |
195 | 204 | ||
196 | config HAVE_EARLY_RES | ||
197 | def_bool y | ||
198 | |||
199 | config HAVE_INTEL_TXT | 205 | config 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/: | ||
204 | config GENERIC_HARDIRQS | ||
205 | def_bool y | ||
206 | |||
207 | config GENERIC_HARDIRQS_NO__DO_IRQ | ||
208 | def_bool y | ||
209 | |||
210 | config GENERIC_IRQ_PROBE | ||
211 | def_bool y | ||
212 | |||
213 | config GENERIC_PENDING_IRQ | ||
214 | def_bool y | ||
215 | depends on GENERIC_HARDIRQS && SMP | ||
216 | |||
217 | config USE_GENERIC_SMP_HELPERS | 209 | config 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 | ||
299 | config 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 | |||
312 | config NUMA_IRQ_DESC | ||
313 | def_bool y | ||
314 | depends on SPARSE_IRQ && NUMA | ||
315 | |||
316 | config X86_MPPARSE | 291 | config 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 | ||
518 | source "arch/x86/xen/Kconfig" | 493 | source "arch/x86/xen/Kconfig" |
519 | 494 | ||
520 | config 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 | |||
539 | config KVM_CLOCK | 495 | config 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 | ||
592 | config NO_BOOTMEM | 548 | config 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 | ||
604 | config MEMTEST | 551 | config 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 | ||
745 | config 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 | |||
798 | source "kernel/Kconfig.preempt" | 756 | source "kernel/Kconfig.preempt" |
799 | 757 | ||
800 | config X86_UP_APIC | 758 | config X86_UP_APIC |
@@ -1148,6 +1106,9 @@ config X86_PAE | |||
1148 | config ARCH_PHYS_ADDR_T_64BIT | 1106 | config ARCH_PHYS_ADDR_T_64BIT |
1149 | def_bool X86_64 || X86_PAE | 1107 | def_bool X86_64 || X86_PAE |
1150 | 1108 | ||
1109 | config ARCH_DMA_ADDR_T_64BIT | ||
1110 | def_bool X86_64 || HIGHMEM64G | ||
1111 | |||
1151 | config DIRECT_GBPAGES | 1112 | config 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 | ||
1329 | config X86_RESERVE_LOW_64K | 1290 | config 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 | ||
1349 | config MATH_EMULATION | 1319 | config MATH_EMULATION |
1350 | bool | 1320 | bool |
@@ -1900,7 +1870,7 @@ config PCI_GODIRECT | |||
1900 | bool "Direct" | 1870 | bool "Direct" |
1901 | 1871 | ||
1902 | config PCI_GOOLPC | 1872 | config PCI_GOOLPC |
1903 | bool "OLPC" | 1873 | bool "OLPC XO-1" |
1904 | depends on OLPC | 1874 | depends on OLPC |
1905 | 1875 | ||
1906 | config PCI_GOANY | 1876 | config PCI_GOANY |
@@ -2061,14 +2031,21 @@ config SCx200HR_TIMER | |||
2061 | config OLPC | 2031 | config 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 | ||
2039 | config 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 | |||
2068 | config OLPC_OPENFIRMWARE | 2045 | config 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 | ||
2077 | endif # X86_32 | 2054 | endif # X86_32 |
2078 | 2055 | ||
2079 | config K8_NB | 2056 | config 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 | ||
2105 | config HAVE_TEXT_POKE_SMP | ||
2106 | bool | ||
2107 | select STOP_MACHINE if SMP | ||
2108 | |||
2128 | source "net/Kconfig" | 2109 | source "net/Kconfig" |
2129 | 2110 | ||
2130 | source "drivers/Kconfig" | 2111 | source "drivers/Kconfig" |