aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2011-08-27 09:43:54 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2011-08-27 10:06:11 -0400
commit7b1bb388bc879ffcc6c69b567816d5c354afe42b (patch)
tree5a217fdfb0b5e5a327bdcd624506337c1ae1fe32 /arch/x86/Kconfig
parent7d754596756240fa918b94cd0c3011c77a638987 (diff)
parent02f8c6aee8df3cdc935e9bdd4f2d020306035dbe (diff)
Merge 'Linux v3.0' into Litmus
Some notes: * Litmus^RT scheduling class is the topmost scheduling class (above stop_sched_class). * scheduler_ipi() function (e.g., in smp_reschedule_interrupt()) may increase IPI latencies. * Added path into schedule() to quickly re-evaluate scheduling decision without becoming preemptive again. This used to be a standard path before the removal of BKL. Conflicts: Makefile arch/arm/kernel/calls.S arch/arm/kernel/smp.c arch/x86/include/asm/unistd_32.h arch/x86/kernel/smp.c arch/x86/kernel/syscall_table_32.S include/linux/hrtimer.h kernel/printk.c kernel/sched.c kernel/sched_fair.c
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig330
1 files changed, 177 insertions, 153 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5181ed3a211a..9f5e14388e17 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1,6 +1,3 @@
1# x86 configuration
2mainmenu "Linux Kernel Configuration for x86"
3
4# Select 32 or 64 bit 1# Select 32 or 64 bit
5config 64BIT 2config 64BIT
6 bool "64-bit kernel" if ARCH = "x86" 3 bool "64-bit kernel" if ARCH = "x86"
@@ -11,6 +8,7 @@ config 64BIT
11 8
12config X86_32 9config X86_32
13 def_bool !64BIT 10 def_bool !64BIT
11 select CLKSRC_I8253
14 12
15config X86_64 13config X86_64
16 def_bool 64BIT 14 def_bool 64BIT
@@ -19,20 +17,21 @@ config X86_64
19config X86 17config X86
20 def_bool y 18 def_bool y
21 select HAVE_AOUT if X86_32 19 select HAVE_AOUT if X86_32
22 select HAVE_READQ
23 select HAVE_WRITEQ
24 select HAVE_UNSTABLE_SCHED_CLOCK 20 select HAVE_UNSTABLE_SCHED_CLOCK
25 select HAVE_IDE 21 select HAVE_IDE
26 select HAVE_OPROFILE 22 select HAVE_OPROFILE
27 select HAVE_PERF_EVENTS if (!M386 && !M486) 23 select HAVE_PERF_EVENTS
24 select HAVE_IRQ_WORK
28 select HAVE_IOREMAP_PROT 25 select HAVE_IOREMAP_PROT
29 select HAVE_KPROBES 26 select HAVE_KPROBES
27 select HAVE_MEMBLOCK
30 select ARCH_WANT_OPTIONAL_GPIOLIB 28 select ARCH_WANT_OPTIONAL_GPIOLIB
31 select ARCH_WANT_FRAME_POINTERS 29 select ARCH_WANT_FRAME_POINTERS
32 select HAVE_DMA_ATTRS 30 select HAVE_DMA_ATTRS
33 select HAVE_KRETPROBES 31 select HAVE_KRETPROBES
34 select HAVE_OPTPROBES 32 select HAVE_OPTPROBES
35 select HAVE_FTRACE_MCOUNT_RECORD 33 select HAVE_FTRACE_MCOUNT_RECORD
34 select HAVE_C_RECORDMCOUNT
36 select HAVE_DYNAMIC_FTRACE 35 select HAVE_DYNAMIC_FTRACE
37 select HAVE_FUNCTION_TRACER 36 select HAVE_FUNCTION_TRACER
38 select HAVE_FUNCTION_GRAPH_TRACER 37 select HAVE_FUNCTION_GRAPH_TRACER
@@ -51,6 +50,7 @@ config X86
51 select HAVE_KERNEL_GZIP 50 select HAVE_KERNEL_GZIP
52 select HAVE_KERNEL_BZIP2 51 select HAVE_KERNEL_BZIP2
53 select HAVE_KERNEL_LZMA 52 select HAVE_KERNEL_LZMA
53 select HAVE_KERNEL_XZ
54 select HAVE_KERNEL_LZO 54 select HAVE_KERNEL_LZO
55 select HAVE_HW_BREAKPOINT 55 select HAVE_HW_BREAKPOINT
56 select HAVE_MIXED_BREAKPOINTS_REGS 56 select HAVE_MIXED_BREAKPOINTS_REGS
@@ -59,6 +59,17 @@ config X86
59 select ANON_INODES 59 select ANON_INODES
60 select HAVE_ARCH_KMEMCHECK 60 select HAVE_ARCH_KMEMCHECK
61 select HAVE_USER_RETURN_NOTIFIER 61 select HAVE_USER_RETURN_NOTIFIER
62 select HAVE_ARCH_JUMP_LABEL
63 select HAVE_TEXT_POKE_SMP
64 select HAVE_GENERIC_HARDIRQS
65 select HAVE_SPARSE_IRQ
66 select GENERIC_FIND_FIRST_BIT
67 select GENERIC_IRQ_PROBE
68 select GENERIC_PENDING_IRQ if SMP
69 select GENERIC_IRQ_SHOW
70 select IRQ_FORCED_THREADING
71 select USE_GENERIC_SMP_HELPERS if SMP
72 select HAVE_BPF_JIT if (X86_64 && NET)
62 73
63config INSTRUCTION_DECODER 74config INSTRUCTION_DECODER
64 def_bool (KPROBES || PERF_EVENTS) 75 def_bool (KPROBES || PERF_EVENTS)
@@ -99,7 +110,14 @@ config MMU
99 def_bool y 110 def_bool y
100 111
101config ZONE_DMA 112config ZONE_DMA
102 def_bool y 113 bool "DMA memory allocation support" if EXPERT
114 default y
115 help
116 DMA memory allocation support allows devices with less than 32-bit
117 addressing to allocate within the first 16MB of address space.
118 Disable if no such devices will be used.
119
120 If unsure, say Y.
103 121
104config SBUS 122config SBUS
105 bool 123 bool
@@ -111,7 +129,7 @@ config NEED_SG_DMA_LENGTH
111 def_bool y 129 def_bool y
112 130
113config GENERIC_ISA_DMA 131config GENERIC_ISA_DMA
114 def_bool y 132 def_bool ISA_DMA_API
115 133
116config GENERIC_IOMAP 134config GENERIC_IOMAP
117 def_bool y 135 def_bool y
@@ -131,7 +149,7 @@ config GENERIC_GPIO
131 bool 149 bool
132 150
133config ARCH_MAY_HAVE_PC_FDC 151config ARCH_MAY_HAVE_PC_FDC
134 def_bool y 152 def_bool ISA_DMA_API
135 153
136config RWSEM_GENERIC_SPINLOCK 154config RWSEM_GENERIC_SPINLOCK
137 def_bool !X86_XADD 155 def_bool !X86_XADD
@@ -193,31 +211,10 @@ config ARCH_SUPPORTS_OPTIMIZED_INLINING
193config ARCH_SUPPORTS_DEBUG_PAGEALLOC 211config ARCH_SUPPORTS_DEBUG_PAGEALLOC
194 def_bool y 212 def_bool y
195 213
196config HAVE_EARLY_RES
197 def_bool y
198
199config HAVE_INTEL_TXT 214config HAVE_INTEL_TXT
200 def_bool y 215 def_bool y
201 depends on EXPERIMENTAL && DMAR && ACPI 216 depends on EXPERIMENTAL && DMAR && ACPI
202 217
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
218 def_bool y
219 depends on SMP
220
221config X86_32_SMP 218config X86_32_SMP
222 def_bool y 219 def_bool y
223 depends on X86_32 && SMP 220 depends on X86_32 && SMP
@@ -230,10 +227,6 @@ config X86_HT
230 def_bool y 227 def_bool y
231 depends on SMP 228 depends on SMP
232 229
233config X86_TRAMPOLINE
234 def_bool y
235 depends on SMP || (64BIT && ACPI_SLEEP)
236
237config X86_32_LAZY_GS 230config X86_32_LAZY_GS
238 def_bool y 231 def_bool y
239 depends on X86_32 && !CC_STACKPROTECTOR 232 depends on X86_32 && !CC_STACKPROTECTOR
@@ -296,23 +289,6 @@ config X86_X2APIC
296 289
297 If you don't know what to do here, say N. 290 If you don't know what to do here, say N.
298 291
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 292config X86_MPPARSE
317 bool "Enable MPS table" if ACPI 293 bool "Enable MPS table" if ACPI
318 default y 294 default y
@@ -372,6 +348,7 @@ endif
372 348
373config X86_VSMP 349config X86_VSMP
374 bool "ScaleMP vSMP" 350 bool "ScaleMP vSMP"
351 select PARAVIRT_GUEST
375 select PARAVIRT 352 select PARAVIRT
376 depends on X86_64 && PCI 353 depends on X86_64 && PCI
377 depends on X86_EXTENDED_PLATFORM 354 depends on X86_EXTENDED_PLATFORM
@@ -393,16 +370,19 @@ config X86_UV
393# Following is an alphabetically sorted list of 32 bit extended platforms 370# Following is an alphabetically sorted list of 32 bit extended platforms
394# Please maintain the alphabetic order if and when there are additions 371# Please maintain the alphabetic order if and when there are additions
395 372
396config X86_ELAN 373config X86_INTEL_CE
397 bool "AMD Elan" 374 bool "CE4100 TV platform"
375 depends on PCI
376 depends on PCI_GODIRECT
398 depends on X86_32 377 depends on X86_32
399 depends on X86_EXTENDED_PLATFORM 378 depends on X86_EXTENDED_PLATFORM
379 select X86_REBOOTFIXUPS
380 select OF
381 select OF_EARLY_FLATTREE
400 ---help--- 382 ---help---
401 Select this for an AMD Elan processor. 383 Select for the Intel CE media processor (CE4100) SOC.
402 384 This option compiles in support for the CE4100 SOC for settop
403 Do not use this option for K6/Athlon/Opteron processors! 385 boxes and media devices.
404
405 If unsure, choose "PC-compatible" instead.
406 386
407config X86_MRST 387config X86_MRST
408 bool "Moorestown MID platform" 388 bool "Moorestown MID platform"
@@ -412,6 +392,10 @@ config X86_MRST
412 depends on X86_EXTENDED_PLATFORM 392 depends on X86_EXTENDED_PLATFORM
413 depends on X86_IO_APIC 393 depends on X86_IO_APIC
414 select APB_TIMER 394 select APB_TIMER
395 select I2C
396 select SPI
397 select INTEL_SCU_IPC
398 select X86_PLATFORM_DEVICES
415 ---help--- 399 ---help---
416 Moorestown is Intel's Low Power Intel Architecture (LPIA) based Moblin 400 Moorestown is Intel's Low Power Intel Architecture (LPIA) based Moblin
417 Internet Device(MID) platform. Moorestown consists of two chips: 401 Internet Device(MID) platform. Moorestown consists of two chips:
@@ -493,6 +477,19 @@ config X86_ES7000
493 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is 477 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
494 supposed to run on an IA32-based Unisys ES7000 system. 478 supposed to run on an IA32-based Unisys ES7000 system.
495 479
480config X86_32_IRIS
481 tristate "Eurobraille/Iris poweroff module"
482 depends on X86_32
483 ---help---
484 The Iris machines from EuroBraille do not have APM or ACPI support
485 to shut themselves down properly. A special I/O sequence is
486 needed to do so, which is what this module does at
487 kernel shutdown.
488
489 This is only for Iris machines from EuroBraille.
490
491 If unused, say N.
492
496config SCHED_OMIT_FRAME_POINTER 493config SCHED_OMIT_FRAME_POINTER
497 def_bool y 494 def_bool y
498 prompt "Single-depth WCHAN output" 495 prompt "Single-depth WCHAN output"
@@ -517,25 +514,6 @@ if PARAVIRT_GUEST
517 514
518source "arch/x86/xen/Kconfig" 515source "arch/x86/xen/Kconfig"
519 516
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 517config KVM_CLOCK
540 bool "KVM paravirtualized clock" 518 bool "KVM paravirtualized clock"
541 select PARAVIRT 519 select PARAVIRT
@@ -590,16 +568,7 @@ config PARAVIRT_DEBUG
590 a paravirt_op is missing when it is called. 568 a paravirt_op is missing when it is called.
591 569
592config NO_BOOTMEM 570config NO_BOOTMEM
593 default y 571 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 572
604config MEMTEST 573config MEMTEST
605 bool "Memtest" 574 bool "Memtest"
@@ -655,11 +624,11 @@ config APB_TIMER
655 as it is off-chip. APB timers are always running regardless of CPU 624 as it is off-chip. APB timers are always running regardless of CPU
656 C states, they are used as per CPU clockevent device when possible. 625 C states, they are used as per CPU clockevent device when possible.
657 626
658# Mark as embedded because too many people got it wrong. 627# Mark as expert because too many people got it wrong.
659# The code disables itself when not needed. 628# The code disables itself when not needed.
660config DMI 629config DMI
661 default y 630 default y
662 bool "Enable DMI scanning" if EMBEDDED 631 bool "Enable DMI scanning" if EXPERT
663 ---help--- 632 ---help---
664 Enabled scanning of DMI to identify machine quirks. Say Y 633 Enabled scanning of DMI to identify machine quirks. Say Y
665 here unless you have verified that your setup is not 634 here unless you have verified that your setup is not
@@ -667,10 +636,10 @@ config DMI
667 BIOS code. 636 BIOS code.
668 637
669config GART_IOMMU 638config GART_IOMMU
670 bool "GART IOMMU support" if EMBEDDED 639 bool "GART IOMMU support" if EXPERT
671 default y 640 default y
672 select SWIOTLB 641 select SWIOTLB
673 depends on X86_64 && PCI && K8_NB 642 depends on X86_64 && PCI && AMD_NB
674 ---help--- 643 ---help---
675 Support for full DMA access of devices with 32bit memory access only 644 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, 645 on systems with more than 3GB. This is usually needed for USB,
@@ -715,6 +684,7 @@ config AMD_IOMMU
715 bool "AMD IOMMU support" 684 bool "AMD IOMMU support"
716 select SWIOTLB 685 select SWIOTLB
717 select PCI_MSI 686 select PCI_MSI
687 select PCI_IOV
718 depends on X86_64 && PCI && ACPI 688 depends on X86_64 && PCI && ACPI
719 ---help--- 689 ---help---
720 With this option you can enable support for AMD IOMMU hardware in 690 With this option you can enable support for AMD IOMMU hardware in
@@ -795,6 +765,17 @@ config SCHED_MC
795 making when dealing with multi-core CPU chips at a cost of slightly 765 making when dealing with multi-core CPU chips at a cost of slightly
796 increased overhead in some places. If unsure say N here. 766 increased overhead in some places. If unsure say N here.
797 767
768config IRQ_TIME_ACCOUNTING
769 bool "Fine granularity task level IRQ time accounting"
770 default n
771 ---help---
772 Select this option to enable fine granularity task irq time
773 accounting. This is done by reading a timestamp on each
774 transitions between softirq and hardirq state, so there can be a
775 small performance impact.
776
777 If in doubt, say N here.
778
798source "kernel/Kconfig.preempt" 779source "kernel/Kconfig.preempt"
799 780
800config X86_UP_APIC 781config X86_UP_APIC
@@ -828,7 +809,7 @@ config X86_LOCAL_APIC
828 809
829config X86_IO_APIC 810config X86_IO_APIC
830 def_bool y 811 def_bool y
831 depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC 812 depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_IOAPIC
832 813
833config X86_VISWS_APIC 814config X86_VISWS_APIC
834 def_bool y 815 def_bool y
@@ -906,7 +887,7 @@ config X86_THERMAL_VECTOR
906 depends on X86_MCE_INTEL 887 depends on X86_MCE_INTEL
907 888
908config VM86 889config VM86
909 bool "Enable VM86 support" if EMBEDDED 890 bool "Enable VM86 support" if EXPERT
910 default y 891 default y
911 depends on X86_32 892 depends on X86_32
912 ---help--- 893 ---help---
@@ -933,6 +914,7 @@ config TOSHIBA
933 914
934config I8K 915config I8K
935 tristate "Dell laptop support" 916 tristate "Dell laptop support"
917 select HWMON
936 ---help--- 918 ---help---
937 This adds a driver to safely access the System Management Mode 919 This adds a driver to safely access the System Management Mode
938 of the CPU on the Dell Inspiron 8000. The System Management Mode 920 of the CPU on the Dell Inspiron 8000. The System Management Mode
@@ -1090,7 +1072,7 @@ endchoice
1090 1072
1091choice 1073choice
1092 depends on EXPERIMENTAL 1074 depends on EXPERIMENTAL
1093 prompt "Memory split" if EMBEDDED 1075 prompt "Memory split" if EXPERT
1094 default VMSPLIT_3G 1076 default VMSPLIT_3G
1095 depends on X86_32 1077 depends on X86_32
1096 ---help--- 1078 ---help---
@@ -1148,8 +1130,11 @@ config X86_PAE
1148config ARCH_PHYS_ADDR_T_64BIT 1130config ARCH_PHYS_ADDR_T_64BIT
1149 def_bool X86_64 || X86_PAE 1131 def_bool X86_64 || X86_PAE
1150 1132
1133config ARCH_DMA_ADDR_T_64BIT
1134 def_bool X86_64 || HIGHMEM64G
1135
1151config DIRECT_GBPAGES 1136config DIRECT_GBPAGES
1152 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED 1137 bool "Enable 1GB pages for kernel pagetables" if EXPERT
1153 default y 1138 default y
1154 depends on X86_64 1139 depends on X86_64
1155 ---help--- 1140 ---help---
@@ -1182,16 +1167,16 @@ config NUMA
1182comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI" 1167comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
1183 depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI) 1168 depends on X86_32 && X86_SUMMIT && (!HIGHMEM64G || !ACPI)
1184 1169
1185config K8_NUMA 1170config AMD_NUMA
1186 def_bool y 1171 def_bool y
1187 prompt "Old style AMD Opteron NUMA detection" 1172 prompt "Old style AMD Opteron NUMA detection"
1188 depends on X86_64 && NUMA && PCI 1173 depends on X86_64 && NUMA && PCI
1189 ---help--- 1174 ---help---
1190 Enable K8 NUMA node topology detection. You should say Y here if 1175 Enable AMD NUMA node topology detection. You should say Y here if
1191 you have a multi processor AMD K8 system. This uses an old 1176 you have a multi processor AMD system. This uses an old method to
1192 method to read the NUMA configuration directly from the builtin 1177 read the NUMA configuration directly from the builtin Northbridge
1193 Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA 1178 of Opteron. It is recommended to use X86_64_ACPI_NUMA instead,
1194 instead, which also takes priority if both are compiled in. 1179 which also takes priority if both are compiled in.
1195 1180
1196config X86_64_ACPI_NUMA 1181config X86_64_ACPI_NUMA
1197 def_bool y 1182 def_bool y
@@ -1212,7 +1197,7 @@ config NODES_SPAN_OTHER_NODES
1212 1197
1213config NUMA_EMU 1198config NUMA_EMU
1214 bool "NUMA emulation" 1199 bool "NUMA emulation"
1215 depends on X86_64 && NUMA 1200 depends on NUMA
1216 ---help--- 1201 ---help---
1217 Enable NUMA emulation. A flat machine will be split 1202 Enable NUMA emulation. A flat machine will be split
1218 into virtual nodes when booted with "numa=fake=N", where N is the 1203 into virtual nodes when booted with "numa=fake=N", where N is the
@@ -1234,6 +1219,10 @@ config HAVE_ARCH_BOOTMEM
1234 def_bool y 1219 def_bool y
1235 depends on X86_32 && NUMA 1220 depends on X86_32 && NUMA
1236 1221
1222config HAVE_ARCH_ALLOC_REMAP
1223 def_bool y
1224 depends on X86_32 && NUMA
1225
1237config ARCH_HAVE_MEMORY_PRESENT 1226config ARCH_HAVE_MEMORY_PRESENT
1238 def_bool y 1227 def_bool y
1239 depends on X86_32 && DISCONTIGMEM 1228 depends on X86_32 && DISCONTIGMEM
@@ -1242,13 +1231,9 @@ config NEED_NODE_MEMMAP_SIZE
1242 def_bool y 1231 def_bool y
1243 depends on X86_32 && (DISCONTIGMEM || SPARSEMEM) 1232 depends on X86_32 && (DISCONTIGMEM || SPARSEMEM)
1244 1233
1245config HAVE_ARCH_ALLOC_REMAP
1246 def_bool y
1247 depends on X86_32 && NUMA
1248
1249config ARCH_FLATMEM_ENABLE 1234config ARCH_FLATMEM_ENABLE
1250 def_bool y 1235 def_bool y
1251 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA 1236 depends on X86_32 && !NUMA
1252 1237
1253config ARCH_DISCONTIGMEM_ENABLE 1238config ARCH_DISCONTIGMEM_ENABLE
1254 def_bool y 1239 def_bool y
@@ -1258,20 +1243,16 @@ config ARCH_DISCONTIGMEM_DEFAULT
1258 def_bool y 1243 def_bool y
1259 depends on NUMA && X86_32 1244 depends on NUMA && X86_32
1260 1245
1261config ARCH_PROC_KCORE_TEXT
1262 def_bool y
1263 depends on X86_64 && PROC_KCORE
1264
1265config ARCH_SPARSEMEM_DEFAULT
1266 def_bool y
1267 depends on X86_64
1268
1269config ARCH_SPARSEMEM_ENABLE 1246config ARCH_SPARSEMEM_ENABLE
1270 def_bool y 1247 def_bool y
1271 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_32) || X86_32_NON_STANDARD 1248 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_32) || X86_32_NON_STANDARD
1272 select SPARSEMEM_STATIC if X86_32 1249 select SPARSEMEM_STATIC if X86_32
1273 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 1250 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
1274 1251
1252config ARCH_SPARSEMEM_DEFAULT
1253 def_bool y
1254 depends on X86_64
1255
1275config ARCH_SELECT_MEMORY_MODEL 1256config ARCH_SELECT_MEMORY_MODEL
1276 def_bool y 1257 def_bool y
1277 depends on ARCH_SPARSEMEM_ENABLE 1258 depends on ARCH_SPARSEMEM_ENABLE
@@ -1280,6 +1261,10 @@ config ARCH_MEMORY_PROBE
1280 def_bool X86_64 1261 def_bool X86_64
1281 depends on MEMORY_HOTPLUG 1262 depends on MEMORY_HOTPLUG
1282 1263
1264config ARCH_PROC_KCORE_TEXT
1265 def_bool y
1266 depends on X86_64 && PROC_KCORE
1267
1283config ILLEGAL_POINTER_VALUE 1268config ILLEGAL_POINTER_VALUE
1284 hex 1269 hex
1285 default 0 if X86_32 1270 default 0 if X86_32
@@ -1326,25 +1311,34 @@ config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
1326 Set whether the default state of memory_corruption_check is 1311 Set whether the default state of memory_corruption_check is
1327 on or off. 1312 on or off.
1328 1313
1329config X86_RESERVE_LOW_64K 1314config X86_RESERVE_LOW
1330 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" 1315 int "Amount of low memory, in kilobytes, to reserve for the BIOS"
1331 default y 1316 default 64
1317 range 4 640
1332 ---help--- 1318 ---help---
1333 Reserve the first 64K of physical RAM on BIOSes that are known 1319 Specify the amount of low memory to reserve for the BIOS.
1334 to potentially corrupt that memory range. A numbers of BIOSes are 1320
1335 known to utilize this area during suspend/resume, so it must not 1321 The first page contains BIOS data structures that the kernel
1336 be used by the kernel. 1322 must not use, so that page must always be reserved.
1337 1323
1338 Set this to N if you are absolutely sure that you trust the BIOS 1324 By default we reserve the first 64K of physical RAM, as a
1339 to get all its memory reservations and usages right. 1325 number of BIOSes are known to corrupt that memory range
1326 during events such as suspend/resume or monitor cable
1327 insertion, so it must not be used by the kernel.
1340 1328
1341 If you have doubts about the BIOS (e.g. suspend/resume does not 1329 You can set this to 4 if you are absolutely sure that you
1342 work or there's kernel crashes after certain hardware hotplug 1330 trust the BIOS to get all its memory reservations and usages
1343 events) and it's not AMI or Phoenix, then you might want to enable 1331 right. If you know your BIOS have problems beyond the
1344 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical 1332 default 64K area, you can set this to 640 to avoid using the
1345 corruption patterns. 1333 entire low memory range.
1346 1334
1347 Say Y if unsure. 1335 If you have doubts about the BIOS (e.g. suspend/resume does
1336 not work or there's kernel crashes after certain hardware
1337 hotplug events) then you might want to enable
1338 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check
1339 typical corruption patterns.
1340
1341 Leave this to the default value of 64 if you are unsure.
1348 1342
1349config MATH_EMULATION 1343config MATH_EMULATION
1350 bool 1344 bool
@@ -1374,7 +1368,7 @@ config MATH_EMULATION
1374 1368
1375config MTRR 1369config MTRR
1376 def_bool y 1370 def_bool y
1377 prompt "MTRR (Memory Type Range Register) support" if EMBEDDED 1371 prompt "MTRR (Memory Type Range Register) support" if EXPERT
1378 ---help--- 1372 ---help---
1379 On Intel P6 family processors (Pentium Pro, Pentium II and later) 1373 On Intel P6 family processors (Pentium Pro, Pentium II and later)
1380 the Memory Type Range Registers (MTRRs) may be used to control 1374 the Memory Type Range Registers (MTRRs) may be used to control
@@ -1440,7 +1434,7 @@ config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
1440 1434
1441config X86_PAT 1435config X86_PAT
1442 def_bool y 1436 def_bool y
1443 prompt "x86 PAT support" if EMBEDDED 1437 prompt "x86 PAT support" if EXPERT
1444 depends on MTRR 1438 depends on MTRR
1445 ---help--- 1439 ---help---
1446 Use PAT attributes to setup page level cache control. 1440 Use PAT attributes to setup page level cache control.
@@ -1544,7 +1538,7 @@ config KEXEC_JUMP
1544 code in physical address mode via KEXEC 1538 code in physical address mode via KEXEC
1545 1539
1546config PHYSICAL_START 1540config PHYSICAL_START
1547 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) 1541 hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
1548 default "0x1000000" 1542 default "0x1000000"
1549 ---help--- 1543 ---help---
1550 This gives the physical address where the kernel is loaded. 1544 This gives the physical address where the kernel is loaded.
@@ -1705,12 +1699,8 @@ config ARCH_ENABLE_MEMORY_HOTREMOVE
1705 def_bool y 1699 def_bool y
1706 depends on MEMORY_HOTPLUG 1700 depends on MEMORY_HOTPLUG
1707 1701
1708config HAVE_ARCH_EARLY_PFN_TO_NID
1709 def_bool X86_64
1710 depends on NUMA
1711
1712config USE_PERCPU_NUMA_NODE_ID 1702config USE_PERCPU_NUMA_NODE_ID
1713 def_bool X86_64 1703 def_bool y
1714 depends on NUMA 1704 depends on NUMA
1715 1705
1716menu "Power management and ACPI options" 1706menu "Power management and ACPI options"
@@ -1850,7 +1840,7 @@ config APM_ALLOW_INTS
1850 1840
1851endif # APM 1841endif # APM
1852 1842
1853source "arch/x86/kernel/cpu/cpufreq/Kconfig" 1843source "drivers/cpufreq/Kconfig"
1854 1844
1855source "drivers/cpuidle/Kconfig" 1845source "drivers/cpuidle/Kconfig"
1856 1846
@@ -1900,7 +1890,7 @@ config PCI_GODIRECT
1900 bool "Direct" 1890 bool "Direct"
1901 1891
1902config PCI_GOOLPC 1892config PCI_GOOLPC
1903 bool "OLPC" 1893 bool "OLPC XO-1"
1904 depends on OLPC 1894 depends on OLPC
1905 1895
1906config PCI_GOANY 1896config PCI_GOANY
@@ -1925,6 +1915,11 @@ config PCI_OLPC
1925 def_bool y 1915 def_bool y
1926 depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY) 1916 depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY)
1927 1917
1918config PCI_XEN
1919 def_bool y
1920 depends on PCI && XEN
1921 select SWIOTLB_XEN
1922
1928config PCI_DOMAINS 1923config PCI_DOMAINS
1929 def_bool y 1924 def_bool y
1930 depends on PCI 1925 depends on PCI
@@ -1934,13 +1929,19 @@ config PCI_MMCONFIG
1934 depends on X86_64 && PCI && ACPI 1929 depends on X86_64 && PCI && ACPI
1935 1930
1936config PCI_CNB20LE_QUIRK 1931config PCI_CNB20LE_QUIRK
1937 bool "Read CNB20LE Host Bridge Windows" 1932 bool "Read CNB20LE Host Bridge Windows" if EXPERT
1938 depends on PCI 1933 default n
1934 depends on PCI && EXPERIMENTAL
1939 help 1935 help
1940 Read the PCI windows out of the CNB20LE host bridge. This allows 1936 Read the PCI windows out of the CNB20LE host bridge. This allows
1941 PCI hotplug to work on systems with the CNB20LE chipset which do 1937 PCI hotplug to work on systems with the CNB20LE chipset which do
1942 not have ACPI. 1938 not have ACPI.
1943 1939
1940 There's no public spec for this chipset, and this functionality
1941 is known to be incomplete.
1942
1943 You should say N unless you know you need this.
1944
1944config DMAR 1945config DMAR
1945 bool "Support for DMA Remapping Devices (EXPERIMENTAL)" 1946 bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
1946 depends on PCI_MSI && ACPI && EXPERIMENTAL 1947 depends on PCI_MSI && ACPI && EXPERIMENTAL
@@ -1994,9 +1995,13 @@ source "drivers/pci/pcie/Kconfig"
1994 1995
1995source "drivers/pci/Kconfig" 1996source "drivers/pci/Kconfig"
1996 1997
1997# x86_64 have no ISA slots, but do have ISA-style DMA. 1998# x86_64 have no ISA slots, but can have ISA-style DMA.
1998config ISA_DMA_API 1999config ISA_DMA_API
1999 def_bool y 2000 bool "ISA-style DMA support" if (X86_64 && EXPERT)
2001 default y
2002 help
2003 Enables ISA-style DMA support for devices requiring such controllers.
2004 If unsure, say Y.
2000 2005
2001if X86_32 2006if X86_32
2002 2007
@@ -2060,23 +2065,23 @@ config SCx200HR_TIMER
2060 2065
2061config OLPC 2066config OLPC
2062 bool "One Laptop Per Child support" 2067 bool "One Laptop Per Child support"
2068 depends on !X86_PAE
2063 select GPIOLIB 2069 select GPIOLIB
2070 select OF
2071 select OF_PROMTREE
2064 ---help--- 2072 ---help---
2065 Add support for detecting the unique features of the OLPC 2073 Add support for detecting the unique features of the OLPC
2066 XO hardware. 2074 XO hardware.
2067 2075
2068config OLPC_OPENFIRMWARE 2076config OLPC_XO1
2069 bool "Support for OLPC's Open Firmware" 2077 tristate "OLPC XO-1 support"
2070 depends on !X86_64 && !X86_PAE 2078 depends on OLPC && MFD_CS5535
2071 default y if OLPC 2079 ---help---
2072 help 2080 Add support for non-essential features of the OLPC XO-1 laptop.
2073 This option adds support for the implementation of Open Firmware
2074 that is used on the OLPC XO-1 Children's Machine.
2075 If unsure, say N here.
2076 2081
2077endif # X86_32 2082endif # X86_32
2078 2083
2079config K8_NB 2084config AMD_NB
2080 def_bool y 2085 def_bool y
2081 depends on CPU_SUP_AMD && PCI 2086 depends on CPU_SUP_AMD && PCI
2082 2087
@@ -2084,6 +2089,16 @@ source "drivers/pcmcia/Kconfig"
2084 2089
2085source "drivers/pci/hotplug/Kconfig" 2090source "drivers/pci/hotplug/Kconfig"
2086 2091
2092config RAPIDIO
2093 bool "RapidIO support"
2094 depends on PCI
2095 default n
2096 help
2097 If you say Y here, the kernel will include drivers and
2098 infrastructure code to support RapidIO interconnect devices.
2099
2100source "drivers/rapidio/Kconfig"
2101
2087endmenu 2102endmenu
2088 2103
2089 2104
@@ -2118,6 +2133,11 @@ config SYSVIPC_COMPAT
2118 def_bool y 2133 def_bool y
2119 depends on COMPAT && SYSVIPC 2134 depends on COMPAT && SYSVIPC
2120 2135
2136config KEYS_COMPAT
2137 bool
2138 depends on COMPAT && KEYS
2139 default y
2140
2121endmenu 2141endmenu
2122 2142
2123 2143
@@ -2125,6 +2145,10 @@ config HAVE_ATOMIC_IOMAP
2125 def_bool y 2145 def_bool y
2126 depends on X86_32 2146 depends on X86_32
2127 2147
2148config HAVE_TEXT_POKE_SMP
2149 bool
2150 select STOP_MACHINE if SMP
2151
2128source "net/Kconfig" 2152source "net/Kconfig"
2129 2153
2130source "drivers/Kconfig" 2154source "drivers/Kconfig"