aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /arch/x86/Kconfig
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig440
1 files changed, 147 insertions, 293 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 79795af5981..b8cd5448b0e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -7,23 +7,17 @@ config 64BIT
7 Say no to build a 32-bit kernel - formerly known as i386 7 Say no to build a 32-bit kernel - formerly known as i386
8 8
9config X86_32 9config X86_32
10 def_bool y 10 def_bool !64BIT
11 depends on !64BIT
12 select CLKSRC_I8253 11 select CLKSRC_I8253
13 select HAVE_UID16
14 12
15config X86_64 13config X86_64
16 def_bool y 14 def_bool 64BIT
17 depends on 64BIT
18 select X86_DEV_DMA_OPS
19 15
20### Arch settings 16### Arch settings
21config X86 17config X86
22 def_bool y 18 def_bool y
23 select HAVE_AOUT if X86_32 19 select HAVE_AOUT if X86_32
24 select HAVE_UNSTABLE_SCHED_CLOCK 20 select HAVE_UNSTABLE_SCHED_CLOCK
25 select ARCH_SUPPORTS_NUMA_BALANCING
26 select ARCH_WANTS_PROT_NUMA_PROT_NONE
27 select HAVE_IDE 21 select HAVE_IDE
28 select HAVE_OPROFILE 22 select HAVE_OPROFILE
29 select HAVE_PCSPKR_PLATFORM 23 select HAVE_PCSPKR_PLATFORM
@@ -32,24 +26,20 @@ config X86
32 select HAVE_IOREMAP_PROT 26 select HAVE_IOREMAP_PROT
33 select HAVE_KPROBES 27 select HAVE_KPROBES
34 select HAVE_MEMBLOCK 28 select HAVE_MEMBLOCK
35 select HAVE_MEMBLOCK_NODE_MAP
36 select ARCH_DISCARD_MEMBLOCK
37 select ARCH_WANT_OPTIONAL_GPIOLIB 29 select ARCH_WANT_OPTIONAL_GPIOLIB
38 select ARCH_WANT_FRAME_POINTERS 30 select ARCH_WANT_FRAME_POINTERS
39 select HAVE_DMA_ATTRS 31 select HAVE_DMA_ATTRS
40 select HAVE_DMA_CONTIGUOUS if !SWIOTLB
41 select HAVE_KRETPROBES 32 select HAVE_KRETPROBES
42 select HAVE_OPTPROBES 33 select HAVE_OPTPROBES
43 select HAVE_FTRACE_MCOUNT_RECORD 34 select HAVE_FTRACE_MCOUNT_RECORD
44 select HAVE_FENTRY if X86_64
45 select HAVE_C_RECORDMCOUNT 35 select HAVE_C_RECORDMCOUNT
46 select HAVE_DYNAMIC_FTRACE 36 select HAVE_DYNAMIC_FTRACE
47 select HAVE_FUNCTION_TRACER 37 select HAVE_FUNCTION_TRACER
48 select HAVE_FUNCTION_GRAPH_TRACER 38 select HAVE_FUNCTION_GRAPH_TRACER
49 select HAVE_FUNCTION_GRAPH_FP_TEST 39 select HAVE_FUNCTION_GRAPH_FP_TEST
50 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 40 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
41 select HAVE_FTRACE_NMI_ENTER if DYNAMIC_FTRACE
51 select HAVE_SYSCALL_TRACEPOINTS 42 select HAVE_SYSCALL_TRACEPOINTS
52 select SYSCTL_EXCEPTION_TRACE
53 select HAVE_KVM 43 select HAVE_KVM
54 select HAVE_ARCH_KGDB 44 select HAVE_ARCH_KGDB
55 select HAVE_ARCH_TRACEHOOK 45 select HAVE_ARCH_TRACEHOOK
@@ -67,57 +57,25 @@ config X86
67 select HAVE_MIXED_BREAKPOINTS_REGS 57 select HAVE_MIXED_BREAKPOINTS_REGS
68 select PERF_EVENTS 58 select PERF_EVENTS
69 select HAVE_PERF_EVENTS_NMI 59 select HAVE_PERF_EVENTS_NMI
70 select HAVE_PERF_REGS
71 select HAVE_PERF_USER_STACK_DUMP
72 select HAVE_DEBUG_KMEMLEAK
73 select ANON_INODES 60 select ANON_INODES
74 select HAVE_ALIGNED_STRUCT_PAGE if SLUB
75 select HAVE_CMPXCHG_LOCAL
76 select HAVE_CMPXCHG_DOUBLE
77 select HAVE_ARCH_KMEMCHECK 61 select HAVE_ARCH_KMEMCHECK
78 select HAVE_USER_RETURN_NOTIFIER 62 select HAVE_USER_RETURN_NOTIFIER
79 select ARCH_BINFMT_ELF_RANDOMIZE_PIE
80 select HAVE_ARCH_JUMP_LABEL 63 select HAVE_ARCH_JUMP_LABEL
81 select HAVE_TEXT_POKE_SMP 64 select HAVE_TEXT_POKE_SMP
82 select HAVE_GENERIC_HARDIRQS 65 select HAVE_GENERIC_HARDIRQS
83 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 66 select HAVE_SPARSE_IRQ
84 select SPARSE_IRQ
85 select GENERIC_FIND_FIRST_BIT 67 select GENERIC_FIND_FIRST_BIT
86 select GENERIC_IRQ_PROBE 68 select GENERIC_IRQ_PROBE
87 select GENERIC_PENDING_IRQ if SMP 69 select GENERIC_PENDING_IRQ if SMP
88 select GENERIC_IRQ_SHOW 70 select GENERIC_IRQ_SHOW
89 select GENERIC_CLOCKEVENTS_MIN_ADJUST
90 select IRQ_FORCED_THREADING 71 select IRQ_FORCED_THREADING
91 select USE_GENERIC_SMP_HELPERS if SMP 72 select USE_GENERIC_SMP_HELPERS if SMP
92 select HAVE_BPF_JIT if X86_64 73 select HAVE_BPF_JIT if (X86_64 && NET)
93 select HAVE_ARCH_TRANSPARENT_HUGEPAGE
94 select CLKEVT_I8253 74 select CLKEVT_I8253
95 select ARCH_HAVE_NMI_SAFE_CMPXCHG 75 select ARCH_HAVE_NMI_SAFE_CMPXCHG
96 select GENERIC_IOMAP
97 select DCACHE_WORD_ACCESS
98 select GENERIC_SMP_IDLE_THREAD
99 select ARCH_WANT_IPC_PARSE_VERSION if X86_32
100 select HAVE_ARCH_SECCOMP_FILTER
101 select BUILDTIME_EXTABLE_SORT
102 select GENERIC_CMOS_UPDATE
103 select CLOCKSOURCE_WATCHDOG
104 select GENERIC_CLOCKEVENTS
105 select ARCH_CLOCKSOURCE_DATA if X86_64
106 select GENERIC_CLOCKEVENTS_BROADCAST if X86_64 || (X86_32 && X86_LOCAL_APIC)
107 select GENERIC_TIME_VSYSCALL if X86_64
108 select KTIME_SCALAR if X86_32
109 select GENERIC_STRNCPY_FROM_USER
110 select GENERIC_STRNLEN_USER
111 select HAVE_CONTEXT_TRACKING if X86_64
112 select HAVE_IRQ_TIME_ACCOUNTING
113 select MODULES_USE_ELF_REL if X86_32
114 select MODULES_USE_ELF_RELA if X86_64
115 select CLONE_BACKWARDS if X86_32
116 select GENERIC_SIGALTSTACK
117 76
118config INSTRUCTION_DECODER 77config INSTRUCTION_DECODER
119 def_bool y 78 def_bool (KPROBES || PERF_EVENTS)
120 depends on KPROBES || PERF_EVENTS || UPROBES
121 79
122config OUTPUT_FORMAT 80config OUTPUT_FORMAT
123 string 81 string
@@ -129,6 +87,23 @@ config ARCH_DEFCONFIG
129 default "arch/x86/configs/i386_defconfig" if X86_32 87 default "arch/x86/configs/i386_defconfig" if X86_32
130 default "arch/x86/configs/x86_64_defconfig" if X86_64 88 default "arch/x86/configs/x86_64_defconfig" if X86_64
131 89
90config GENERIC_CMOS_UPDATE
91 def_bool y
92
93config CLOCKSOURCE_WATCHDOG
94 def_bool y
95
96config GENERIC_CLOCKEVENTS
97 def_bool y
98
99config ARCH_CLOCKSOURCE_DATA
100 def_bool y
101 depends on X86_64
102
103config GENERIC_CLOCKEVENTS_BROADCAST
104 def_bool y
105 depends on X86_64 || (X86_32 && X86_LOCAL_APIC)
106
132config LOCKDEP_SUPPORT 107config LOCKDEP_SUPPORT
133 def_bool y 108 def_bool y
134 109
@@ -141,19 +116,30 @@ config HAVE_LATENCYTOP_SUPPORT
141config MMU 116config MMU
142 def_bool y 117 def_bool y
143 118
119config ZONE_DMA
120 bool "DMA memory allocation support" if EXPERT
121 default y
122 help
123 DMA memory allocation support allows devices with less than 32-bit
124 addressing to allocate within the first 16MB of address space.
125 Disable if no such devices will be used.
126
127 If unsure, say Y.
128
144config SBUS 129config SBUS
145 bool 130 bool
146 131
147config NEED_DMA_MAP_STATE 132config NEED_DMA_MAP_STATE
148 def_bool y 133 def_bool (X86_64 || INTEL_IOMMU || DMA_API_DEBUG)
149 depends on X86_64 || INTEL_IOMMU || DMA_API_DEBUG
150 134
151config NEED_SG_DMA_LENGTH 135config NEED_SG_DMA_LENGTH
152 def_bool y 136 def_bool y
153 137
154config GENERIC_ISA_DMA 138config GENERIC_ISA_DMA
139 def_bool ISA_DMA_API
140
141config GENERIC_IOMAP
155 def_bool y 142 def_bool y
156 depends on ISA_DMA_API
157 143
158config GENERIC_BUG 144config GENERIC_BUG
159 def_bool y 145 def_bool y
@@ -170,15 +156,24 @@ config GENERIC_GPIO
170 bool 156 bool
171 157
172config ARCH_MAY_HAVE_PC_FDC 158config ARCH_MAY_HAVE_PC_FDC
173 def_bool y 159 def_bool ISA_DMA_API
174 depends on ISA_DMA_API 160
161config RWSEM_GENERIC_SPINLOCK
162 def_bool !X86_XADD
175 163
176config RWSEM_XCHGADD_ALGORITHM 164config RWSEM_XCHGADD_ALGORITHM
165 def_bool X86_XADD
166
167config ARCH_HAS_CPU_IDLE_WAIT
177 def_bool y 168 def_bool y
178 169
179config GENERIC_CALIBRATE_DELAY 170config GENERIC_CALIBRATE_DELAY
180 def_bool y 171 def_bool y
181 172
173config GENERIC_TIME_VSYSCALL
174 bool
175 default X86_64
176
182config ARCH_HAS_CPU_RELAX 177config ARCH_HAS_CPU_RELAX
183 def_bool y 178 def_bool y
184 179
@@ -188,9 +183,6 @@ config ARCH_HAS_DEFAULT_IDLE
188config ARCH_HAS_CACHE_LINE_SIZE 183config ARCH_HAS_CACHE_LINE_SIZE
189 def_bool y 184 def_bool y
190 185
191config ARCH_HAS_CPU_AUTOPROBE
192 def_bool y
193
194config HAVE_SETUP_PER_CPU_AREA 186config HAVE_SETUP_PER_CPU_AREA
195 def_bool y 187 def_bool y
196 188
@@ -200,6 +192,9 @@ config NEED_PER_CPU_EMBED_FIRST_CHUNK
200config NEED_PER_CPU_PAGE_FIRST_CHUNK 192config NEED_PER_CPU_PAGE_FIRST_CHUNK
201 def_bool y 193 def_bool y
202 194
195config HAVE_CPUMASK_OF_CPU_MAP
196 def_bool X86_64_SMP
197
203config ARCH_HIBERNATION_POSSIBLE 198config ARCH_HIBERNATION_POSSIBLE
204 def_bool y 199 def_bool y
205 200
@@ -210,6 +205,9 @@ config ZONE_DMA32
210 bool 205 bool
211 default X86_64 206 default X86_64
212 207
208config ARCH_POPULATES_NODE_MAP
209 def_bool y
210
213config AUDIT_ARCH 211config AUDIT_ARCH
214 bool 212 bool
215 default X86_64 213 default X86_64
@@ -245,27 +243,19 @@ config ARCH_HWEIGHT_CFLAGS
245 default "-fcall-saved-ecx -fcall-saved-edx" if X86_32 243 default "-fcall-saved-ecx -fcall-saved-edx" if X86_32
246 default "-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" if X86_64 244 default "-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" if X86_64
247 245
246config KTIME_SCALAR
247 def_bool X86_32
248
248config ARCH_CPU_PROBE_RELEASE 249config ARCH_CPU_PROBE_RELEASE
249 def_bool y 250 def_bool y
250 depends on HOTPLUG_CPU 251 depends on HOTPLUG_CPU
251 252
252config ARCH_SUPPORTS_UPROBES
253 def_bool y
254
255source "init/Kconfig" 253source "init/Kconfig"
256source "kernel/Kconfig.freezer" 254source "kernel/Kconfig.freezer"
257 255
258menu "Processor type and features" 256menu "Processor type and features"
259 257
260config ZONE_DMA 258source "kernel/time/Kconfig"
261 bool "DMA memory allocation support" if EXPERT
262 default y
263 help
264 DMA memory allocation support allows devices with less than 32-bit
265 addressing to allocate within the first 16MB of address space.
266 Disable if no such devices will be used.
267
268 If unsure, say Y.
269 259
270config SMP 260config SMP
271 bool "Symmetric multi-processing support" 261 bool "Symmetric multi-processing support"
@@ -289,7 +279,7 @@ config SMP
289 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power 279 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
290 Management" code will be disabled if you say Y here. 280 Management" code will be disabled if you say Y here.
291 281
292 See also <file:Documentation/x86/i386/IO-APIC.txt>, 282 See also <file:Documentation/i386/IO-APIC.txt>,
293 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at 283 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
294 <http://www.tldp.org/docs.html#howto>. 284 <http://www.tldp.org/docs.html#howto>.
295 285
@@ -307,7 +297,7 @@ config X86_X2APIC
307 If you don't know what to do here, say N. 297 If you don't know what to do here, say N.
308 298
309config X86_MPPARSE 299config X86_MPPARSE
310 bool "Enable MPS table" if ACPI || SFI 300 bool "Enable MPS table" if ACPI
311 default y 301 default y
312 depends on X86_LOCAL_APIC 302 depends on X86_LOCAL_APIC
313 ---help--- 303 ---help---
@@ -335,7 +325,6 @@ config X86_EXTENDED_PLATFORM
335 NUMAQ (IBM/Sequent) 325 NUMAQ (IBM/Sequent)
336 RDC R-321x SoC 326 RDC R-321x SoC
337 SGI 320/540 (Visual Workstation) 327 SGI 320/540 (Visual Workstation)
338 STA2X11-based (e.g. Northville)
339 Summit/EXA (IBM x440) 328 Summit/EXA (IBM x440)
340 Unisys ES7000 IA32 series 329 Unisys ES7000 IA32 series
341 Moorestown MID devices 330 Moorestown MID devices
@@ -355,7 +344,6 @@ config X86_EXTENDED_PLATFORM
355 344
356 If you enable this option then you'll be able to select support 345 If you enable this option then you'll be able to select support
357 for the following (non-PC) 64 bit x86 platforms: 346 for the following (non-PC) 64 bit x86 platforms:
358 Numascale NumaChip
359 ScaleMP vSMP 347 ScaleMP vSMP
360 SGI Ultraviolet 348 SGI Ultraviolet
361 349
@@ -364,18 +352,6 @@ config X86_EXTENDED_PLATFORM
364endif 352endif
365# This is an alphabetically sorted list of 64 bit extended platforms 353# This is an alphabetically sorted list of 64 bit extended platforms
366# Please maintain the alphabetic order if and when there are additions 354# Please maintain the alphabetic order if and when there are additions
367config X86_NUMACHIP
368 bool "Numascale NumaChip"
369 depends on X86_64
370 depends on X86_EXTENDED_PLATFORM
371 depends on NUMA
372 depends on SMP
373 depends on X86_X2APIC
374 depends on PCI_MMCONFIG
375 ---help---
376 Adds support for Numascale NumaChip large-SMP systems. Needed to
377 enable more than ~168 cores.
378 If you don't have one of these, you should say N here.
379 355
380config X86_VSMP 356config X86_VSMP
381 bool "ScaleMP vSMP" 357 bool "ScaleMP vSMP"
@@ -383,7 +359,6 @@ config X86_VSMP
383 select PARAVIRT 359 select PARAVIRT
384 depends on X86_64 && PCI 360 depends on X86_64 && PCI
385 depends on X86_EXTENDED_PLATFORM 361 depends on X86_EXTENDED_PLATFORM
386 depends on SMP
387 ---help--- 362 ---help---
388 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is 363 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is
389 supposed to run on these EM64T-based machines. Only choose this option 364 supposed to run on these EM64T-based machines. Only choose this option
@@ -411,13 +386,12 @@ config X86_INTEL_CE
411 select X86_REBOOTFIXUPS 386 select X86_REBOOTFIXUPS
412 select OF 387 select OF
413 select OF_EARLY_FLATTREE 388 select OF_EARLY_FLATTREE
414 select IRQ_DOMAIN
415 ---help--- 389 ---help---
416 Select for the Intel CE media processor (CE4100) SOC. 390 Select for the Intel CE media processor (CE4100) SOC.
417 This option compiles in support for the CE4100 SOC for settop 391 This option compiles in support for the CE4100 SOC for settop
418 boxes and media devices. 392 boxes and media devices.
419 393
420config X86_WANT_INTEL_MID 394config X86_INTEL_MID
421 bool "Intel MID platform support" 395 bool "Intel MID platform support"
422 depends on X86_32 396 depends on X86_32
423 depends on X86_EXTENDED_PLATFORM 397 depends on X86_EXTENDED_PLATFORM
@@ -426,30 +400,24 @@ config X86_WANT_INTEL_MID
426 systems which do not have the PCI legacy interfaces (Moorestown, 400 systems which do not have the PCI legacy interfaces (Moorestown,
427 Medfield). If you are building for a PC class system say N here. 401 Medfield). If you are building for a PC class system say N here.
428 402
429if X86_WANT_INTEL_MID 403if X86_INTEL_MID
430 404
431config X86_INTEL_MID 405config X86_MRST
432 bool 406 bool "Moorestown MID platform"
433
434config X86_MDFLD
435 bool "Medfield MID platform"
436 depends on PCI 407 depends on PCI
437 depends on PCI_GOANY 408 depends on PCI_GOANY
438 depends on X86_IO_APIC 409 depends on X86_IO_APIC
439 select X86_INTEL_MID
440 select SFI
441 select DW_APB_TIMER
442 select APB_TIMER 410 select APB_TIMER
443 select I2C 411 select I2C
444 select SPI 412 select SPI
445 select INTEL_SCU_IPC 413 select INTEL_SCU_IPC
446 select X86_PLATFORM_DEVICES 414 select X86_PLATFORM_DEVICES
447 select MFD_INTEL_MSIC
448 ---help--- 415 ---help---
449 Medfield is Intel's Low Power Intel Architecture (LPIA) based Moblin 416 Moorestown is Intel's Low Power Intel Architecture (LPIA) based Moblin
450 Internet Device(MID) platform. 417 Internet Device(MID) platform. Moorestown consists of two chips:
451 Unlike standard x86 PCs, Medfield does not have many legacy devices 418 Lincroft (CPU core, graphics, and memory controller) and Langwell IOH.
452 nor standard legacy replacement devices/features. e.g. Medfield does 419 Unlike standard x86 PCs, Moorestown does not have many legacy devices
420 nor standard legacy replacement devices/features. e.g. Moorestown does
453 not contain i8259, i8254, HPET, legacy BIOS, most of the io ports. 421 not contain i8259, i8254, HPET, legacy BIOS, most of the io ports.
454 422
455endif 423endif
@@ -470,10 +438,10 @@ config X86_32_NON_STANDARD
470 depends on X86_32 && SMP 438 depends on X86_32 && SMP
471 depends on X86_EXTENDED_PLATFORM 439 depends on X86_EXTENDED_PLATFORM
472 ---help--- 440 ---help---
473 This option compiles in the NUMAQ, Summit, bigsmp, ES7000, 441 This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default
474 STA2X11, default subarchitectures. It is intended for a generic 442 subarchitectures. It is intended for a generic binary kernel.
475 binary kernel. If you select them all, kernel will probe it 443 if you select them all, kernel will probe it one by one. and will
476 one by one and will fallback to default. 444 fallback to default.
477 445
478# Alphabetically sorted list of Non standard 32 bit platforms 446# Alphabetically sorted list of Non standard 32 bit platforms
479 447
@@ -513,22 +481,6 @@ config X86_VISWS
513 A kernel compiled for the Visual Workstation will run on general 481 A kernel compiled for the Visual Workstation will run on general
514 PCs as well. See <file:Documentation/sgi-visws.txt> for details. 482 PCs as well. See <file:Documentation/sgi-visws.txt> for details.
515 483
516config STA2X11
517 bool "STA2X11 Companion Chip Support"
518 depends on X86_32_NON_STANDARD && PCI
519 select X86_DEV_DMA_OPS
520 select X86_DMA_REMAP
521 select SWIOTLB
522 select MFD_STA2X11
523 select ARCH_REQUIRE_GPIOLIB
524 default n
525 ---help---
526 This adds support for boards based on the STA2X11 IO-Hub,
527 a.k.a. "ConneXt". The chip is used in place of the standard
528 PC chipset, so all "standard" peripherals are missing. If this
529 option is selected the kernel will still be able to boot on
530 standard PC machines.
531
532config X86_SUMMIT 484config X86_SUMMIT
533 bool "Summit/EXA (IBM x440)" 485 bool "Summit/EXA (IBM x440)"
534 depends on X86_32_NON_STANDARD 486 depends on X86_32_NON_STANDARD
@@ -592,18 +544,23 @@ config PARAVIRT_TIME_ACCOUNTING
592 544
593source "arch/x86/xen/Kconfig" 545source "arch/x86/xen/Kconfig"
594 546
595config KVM_GUEST 547config KVM_CLOCK
596 bool "KVM Guest support (including kvmclock)" 548 bool "KVM paravirtualized clock"
597 select PARAVIRT
598 select PARAVIRT 549 select PARAVIRT
599 select PARAVIRT_CLOCK 550 select PARAVIRT_CLOCK
600 default y if PARAVIRT_GUEST 551 ---help---
552 Turning on this option will allow you to run a paravirtualized clock
553 when running over the KVM hypervisor. Instead of relying on a PIT
554 (or probably other) emulation by the underlying device model, the host
555 provides the guest with timing infrastructure such as time of day, and
556 system time
557
558config KVM_GUEST
559 bool "KVM Guest support"
560 select PARAVIRT
601 ---help--- 561 ---help---
602 This option enables various optimizations for running under the KVM 562 This option enables various optimizations for running under the KVM
603 hypervisor. It includes a paravirtualized clock, so that instead 563 hypervisor.
604 of relying on a PIT (or probably other) emulation by the
605 underlying device model, the host provides the guest with
606 timing infrastructure such as time of day, and system time
607 564
608source "arch/x86/lguest/Kconfig" 565source "arch/x86/lguest/Kconfig"
609 566
@@ -660,7 +617,7 @@ config X86_SUMMIT_NUMA
660 617
661config X86_CYCLONE_TIMER 618config X86_CYCLONE_TIMER
662 def_bool y 619 def_bool y
663 depends on X86_SUMMIT 620 depends on X86_32_NON_STANDARD
664 621
665source "arch/x86/Kconfig.cpu" 622source "arch/x86/Kconfig.cpu"
666 623
@@ -688,10 +645,9 @@ config HPET_EMULATE_RTC
688 depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y) 645 depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y)
689 646
690config APB_TIMER 647config APB_TIMER
691 def_bool y if X86_INTEL_MID 648 def_bool y if MRST
692 prompt "Intel MID APB Timer Support" if X86_INTEL_MID 649 prompt "Langwell APB Timer Support" if X86_MRST
693 select DW_APB_TIMER 650 select DW_APB_TIMER
694 depends on X86_INTEL_MID && SFI
695 help 651 help
696 APB timer is the replacement for 8254, HPET on X86 MID platforms. 652 APB timer is the replacement for 8254, HPET on X86 MID platforms.
697 The APBT provides a stable time base on SMP 653 The APBT provides a stable time base on SMP
@@ -760,14 +716,13 @@ config SWIOTLB
760 def_bool y if X86_64 716 def_bool y if X86_64
761 ---help--- 717 ---help---
762 Support for software bounce buffers used on x86-64 systems 718 Support for software bounce buffers used on x86-64 systems
763 which don't have a hardware IOMMU. Using this PCI devices 719 which don't have a hardware IOMMU (e.g. the current generation
764 which can only access 32-bits of memory can be used on systems 720 of Intel's x86-64 CPUs). Using this PCI devices which can only
765 with more than 3 GB of memory. 721 access 32-bits of memory can be used on systems with more than
766 If unsure, say Y. 722 3 GB of memory. If unsure, say Y.
767 723
768config IOMMU_HELPER 724config IOMMU_HELPER
769 def_bool y 725 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
770 depends on CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU
771 726
772config MAXSMP 727config MAXSMP
773 bool "Enable Maximum number of SMP Processors and NUMA Nodes" 728 bool "Enable Maximum number of SMP Processors and NUMA Nodes"
@@ -811,6 +766,17 @@ config SCHED_MC
811 making when dealing with multi-core CPU chips at a cost of slightly 766 making when dealing with multi-core CPU chips at a cost of slightly
812 increased overhead in some places. If unsure say N here. 767 increased overhead in some places. If unsure say N here.
813 768
769config IRQ_TIME_ACCOUNTING
770 bool "Fine granularity task level IRQ time accounting"
771 default n
772 ---help---
773 Select this option to enable fine granularity task irq time
774 accounting. This is done by reading a timestamp on each
775 transitions between softirq and hardirq state, so there can be a
776 small performance impact.
777
778 If in doubt, say N here.
779
814source "kernel/Kconfig.preempt" 780source "kernel/Kconfig.preempt"
815 781
816config X86_UP_APIC 782config X86_UP_APIC
@@ -875,7 +841,6 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
875 841
876config X86_MCE 842config X86_MCE
877 bool "Machine Check / overheating reporting" 843 bool "Machine Check / overheating reporting"
878 default y
879 ---help--- 844 ---help---
880 Machine Check support allows the processor to notify the 845 Machine Check support allows the processor to notify the
881 kernel if it detects a problem (e.g. overheating, data corruption). 846 kernel if it detects a problem (e.g. overheating, data corruption).
@@ -987,25 +952,25 @@ config X86_REBOOTFIXUPS
987 Say N otherwise. 952 Say N otherwise.
988 953
989config MICROCODE 954config MICROCODE
990 tristate "CPU microcode loading support" 955 tristate "/dev/cpu/microcode - microcode support"
991 select FW_LOADER 956 select FW_LOADER
992 ---help--- 957 ---help---
993
994 If you say Y here, you will be able to update the microcode on 958 If you say Y here, you will be able to update the microcode on
995 certain Intel and AMD processors. The Intel support is for the 959 certain Intel and AMD processors. The Intel support is for the
996 IA32 family, e.g. Pentium Pro, Pentium II, Pentium III, Pentium 4, 960 IA32 family, e.g. Pentium Pro, Pentium II, Pentium III,
997 Xeon etc. The AMD support is for families 0x10 and later. You will 961 Pentium 4, Xeon etc. The AMD support is for family 0x10 and
998 obviously need the actual microcode binary data itself which is not 962 0x11 processors, e.g. Opteron, Phenom and Turion 64 Ultra.
999 shipped with the Linux kernel. 963 You will obviously need the actual microcode binary data itself
964 which is not shipped with the Linux kernel.
1000 965
1001 This option selects the general module only, you need to select 966 This option selects the general module only, you need to select
1002 at least one vendor specific module as well. 967 at least one vendor specific module as well.
1003 968
1004 To compile this driver as a module, choose M here: the module 969 To compile this driver as a module, choose M here: the
1005 will be called microcode. 970 module will be called microcode.
1006 971
1007config MICROCODE_INTEL 972config MICROCODE_INTEL
1008 bool "Intel microcode loading support" 973 bool "Intel microcode patch loading support"
1009 depends on MICROCODE 974 depends on MICROCODE
1010 default MICROCODE 975 default MICROCODE
1011 select FW_LOADER 976 select FW_LOADER
@@ -1018,7 +983,7 @@ config MICROCODE_INTEL
1018 <http://www.urbanmyth.org/microcode/>. 983 <http://www.urbanmyth.org/microcode/>.
1019 984
1020config MICROCODE_AMD 985config MICROCODE_AMD
1021 bool "AMD microcode loading support" 986 bool "AMD microcode patch loading support"
1022 depends on MICROCODE 987 depends on MICROCODE
1023 select FW_LOADER 988 select FW_LOADER
1024 ---help--- 989 ---help---
@@ -1098,7 +1063,7 @@ config HIGHMEM4G
1098 1063
1099config HIGHMEM64G 1064config HIGHMEM64G
1100 bool "64GB" 1065 bool "64GB"
1101 depends on !M486 1066 depends on !M386 && !M486
1102 select X86_PAE 1067 select X86_PAE
1103 ---help--- 1068 ---help---
1104 Select this if you have a 32-bit processor and more than 4 1069 Select this if you have a 32-bit processor and more than 4
@@ -1164,12 +1129,10 @@ config X86_PAE
1164 consumes more pagetable space per process. 1129 consumes more pagetable space per process.
1165 1130
1166config ARCH_PHYS_ADDR_T_64BIT 1131config ARCH_PHYS_ADDR_T_64BIT
1167 def_bool y 1132 def_bool X86_64 || X86_PAE
1168 depends on X86_64 || X86_PAE
1169 1133
1170config ARCH_DMA_ADDR_T_64BIT 1134config ARCH_DMA_ADDR_T_64BIT
1171 def_bool y 1135 def_bool X86_64 || HIGHMEM64G
1172 depends on X86_64 || HIGHMEM64G
1173 1136
1174config DIRECT_GBPAGES 1137config DIRECT_GBPAGES
1175 bool "Enable 1GB pages for kernel pagetables" if EXPERT 1138 bool "Enable 1GB pages for kernel pagetables" if EXPERT
@@ -1253,6 +1216,10 @@ config NODES_SHIFT
1253 Specify the maximum number of NUMA Nodes available on the target 1216 Specify the maximum number of NUMA Nodes available on the target
1254 system. Increases memory reserved to accommodate various tables. 1217 system. Increases memory reserved to accommodate various tables.
1255 1218
1219config HAVE_ARCH_BOOTMEM
1220 def_bool y
1221 depends on X86_32 && NUMA
1222
1256config HAVE_ARCH_ALLOC_REMAP 1223config HAVE_ARCH_ALLOC_REMAP
1257 def_bool y 1224 def_bool y
1258 depends on X86_32 && NUMA 1225 depends on X86_32 && NUMA
@@ -1292,8 +1259,8 @@ config ARCH_SELECT_MEMORY_MODEL
1292 depends on ARCH_SPARSEMEM_ENABLE 1259 depends on ARCH_SPARSEMEM_ENABLE
1293 1260
1294config ARCH_MEMORY_PROBE 1261config ARCH_MEMORY_PROBE
1295 def_bool y 1262 def_bool X86_64
1296 depends on X86_64 && MEMORY_HOTPLUG 1263 depends on MEMORY_HOTPLUG
1297 1264
1298config ARCH_PROC_KCORE_TEXT 1265config ARCH_PROC_KCORE_TEXT
1299 def_bool y 1266 def_bool y
@@ -1485,26 +1452,6 @@ config ARCH_USES_PG_UNCACHED
1485 def_bool y 1452 def_bool y
1486 depends on X86_PAT 1453 depends on X86_PAT
1487 1454
1488config ARCH_RANDOM
1489 def_bool y
1490 prompt "x86 architectural random number generator" if EXPERT
1491 ---help---
1492 Enable the x86 architectural RDRAND instruction
1493 (Intel Bull Mountain technology) to generate random numbers.
1494 If supported, this is a high bandwidth, cryptographically
1495 secure hardware random number generator.
1496
1497config X86_SMAP
1498 def_bool y
1499 prompt "Supervisor Mode Access Prevention" if EXPERT
1500 ---help---
1501 Supervisor Mode Access Prevention (SMAP) is a security
1502 feature in newer Intel processors. There is a small
1503 performance cost if this enabled and turned on; there is
1504 also a small increase in the kernel size if this is enabled.
1505
1506 If unsure, say Y.
1507
1508config EFI 1455config EFI
1509 bool "EFI runtime service support" 1456 bool "EFI runtime service support"
1510 depends on ACPI 1457 depends on ACPI
@@ -1519,15 +1466,6 @@ config EFI
1519 resultant kernel should continue to boot on existing non-EFI 1466 resultant kernel should continue to boot on existing non-EFI
1520 platforms. 1467 platforms.
1521 1468
1522config EFI_STUB
1523 bool "EFI stub support"
1524 depends on EFI
1525 ---help---
1526 This kernel feature allows a bzImage to be loaded directly
1527 by EFI firmware without the use of a bootloader.
1528
1529 See Documentation/x86/efi-stub.txt for more information.
1530
1531config SECCOMP 1469config SECCOMP
1532 def_bool y 1470 def_bool y
1533 prompt "Enable seccomp to safely compute untrusted bytecode" 1471 prompt "Enable seccomp to safely compute untrusted bytecode"
@@ -1545,7 +1483,7 @@ config SECCOMP
1545 If unsure, say Y. Only embedded should say N here. 1483 If unsure, say Y. Only embedded should say N here.
1546 1484
1547config CC_STACKPROTECTOR 1485config CC_STACKPROTECTOR
1548 bool "Enable -fstack-protector buffer overflow detection" 1486 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1549 ---help--- 1487 ---help---
1550 This option turns on the -fstack-protector GCC feature. This 1488 This option turns on the -fstack-protector GCC feature. This
1551 feature puts, at the beginning of functions, a canary value on 1489 feature puts, at the beginning of functions, a canary value on
@@ -1696,50 +1634,6 @@ config HOTPLUG_CPU
1696 automatically on SMP systems. ) 1634 automatically on SMP systems. )
1697 Say N if you want to disable CPU hotplug. 1635 Say N if you want to disable CPU hotplug.
1698 1636
1699config BOOTPARAM_HOTPLUG_CPU0
1700 bool "Set default setting of cpu0_hotpluggable"
1701 default n
1702 depends on HOTPLUG_CPU && EXPERIMENTAL
1703 ---help---
1704 Set whether default state of cpu0_hotpluggable is on or off.
1705
1706 Say Y here to enable CPU0 hotplug by default. If this switch
1707 is turned on, there is no need to give cpu0_hotplug kernel
1708 parameter and the CPU0 hotplug feature is enabled by default.
1709
1710 Please note: there are two known CPU0 dependencies if you want
1711 to enable the CPU0 hotplug feature either by this switch or by
1712 cpu0_hotplug kernel parameter.
1713
1714 First, resume from hibernate or suspend always starts from CPU0.
1715 So hibernate and suspend are prevented if CPU0 is offline.
1716
1717 Second dependency is PIC interrupts always go to CPU0. CPU0 can not
1718 offline if any interrupt can not migrate out of CPU0. There may
1719 be other CPU0 dependencies.
1720
1721 Please make sure the dependencies are under your control before
1722 you enable this feature.
1723
1724 Say N if you don't want to enable CPU0 hotplug feature by default.
1725 You still can enable the CPU0 hotplug feature at boot by kernel
1726 parameter cpu0_hotplug.
1727
1728config DEBUG_HOTPLUG_CPU0
1729 def_bool n
1730 prompt "Debug CPU0 hotplug"
1731 depends on HOTPLUG_CPU && EXPERIMENTAL
1732 ---help---
1733 Enabling this option offlines CPU0 (if CPU0 can be offlined) as
1734 soon as possible and boots up userspace with CPU0 offlined. User
1735 can online CPU0 back after boot time.
1736
1737 To debug CPU0 hotplug, you need to enable CPU0 offline/online
1738 feature by either turning on CONFIG_BOOTPARAM_HOTPLUG_CPU0 during
1739 compilation or giving cpu0_hotplug kernel parameter at boot.
1740
1741 If unsure, say N.
1742
1743config COMPAT_VDSO 1637config COMPAT_VDSO
1744 def_bool y 1638 def_bool y
1745 prompt "Compat VDSO support" 1639 prompt "Compat VDSO support"
@@ -1824,7 +1718,7 @@ source "drivers/sfi/Kconfig"
1824 1718
1825config X86_APM_BOOT 1719config X86_APM_BOOT
1826 def_bool y 1720 def_bool y
1827 depends on APM 1721 depends on APM || APM_MODULE
1828 1722
1829menuconfig APM 1723menuconfig APM
1830 tristate "APM (Advanced Power Management) BIOS support" 1724 tristate "APM (Advanced Power Management) BIOS support"
@@ -2037,6 +1931,7 @@ config PCI_MMCONFIG
2037 1931
2038config PCI_CNB20LE_QUIRK 1932config PCI_CNB20LE_QUIRK
2039 bool "Read CNB20LE Host Bridge Windows" if EXPERT 1933 bool "Read CNB20LE Host Bridge Windows" if EXPERT
1934 default n
2040 depends on PCI && EXPERIMENTAL 1935 depends on PCI && EXPERIMENTAL
2041 help 1936 help
2042 Read the PCI windows out of the CNB20LE host bridge. This allows 1937 Read the PCI windows out of the CNB20LE host bridge. This allows
@@ -2089,6 +1984,16 @@ config EISA
2089 1984
2090source "drivers/eisa/Kconfig" 1985source "drivers/eisa/Kconfig"
2091 1986
1987config MCA
1988 bool "MCA support"
1989 ---help---
1990 MicroChannel Architecture is found in some IBM PS/2 machines and
1991 laptops. It is a bus system similar to PCI or ISA. See
1992 <file:Documentation/mca.txt> (and especially the web page given
1993 there) before attempting to build an MCA bus kernel.
1994
1995source "drivers/mca/Kconfig"
1996
2092config SCx200 1997config SCx200
2093 tristate "NatSemi SCx200 support" 1998 tristate "NatSemi SCx200 support"
2094 ---help--- 1999 ---help---
@@ -2116,7 +2021,6 @@ config OLPC
2116 select GPIOLIB 2021 select GPIOLIB
2117 select OF 2022 select OF
2118 select OF_PROMTREE 2023 select OF_PROMTREE
2119 select IRQ_DOMAIN
2120 ---help--- 2024 ---help---
2121 Add support for detecting the unique features of the OLPC 2025 Add support for detecting the unique features of the OLPC
2122 XO hardware. 2026 XO hardware.
@@ -2160,33 +2064,6 @@ config OLPC_XO15_SCI
2160 - AC adapter status updates 2064 - AC adapter status updates
2161 - Battery status updates 2065 - Battery status updates
2162 2066
2163config ALIX
2164 bool "PCEngines ALIX System Support (LED setup)"
2165 select GPIOLIB
2166 ---help---
2167 This option enables system support for the PCEngines ALIX.
2168 At present this just sets up LEDs for GPIO control on
2169 ALIX2/3/6 boards. However, other system specific setup should
2170 get added here.
2171
2172 Note: You must still enable the drivers for GPIO and LED support
2173 (GPIO_CS5535 & LEDS_GPIO) to actually use the LEDs
2174
2175 Note: You have to set alix.force=1 for boards with Award BIOS.
2176
2177config NET5501
2178 bool "Soekris Engineering net5501 System Support (LEDS, GPIO, etc)"
2179 select GPIOLIB
2180 ---help---
2181 This option enables system support for the Soekris Engineering net5501.
2182
2183config GEOS
2184 bool "Traverse Technologies GEOS System Support (LEDS, GPIO, etc)"
2185 select GPIOLIB
2186 depends on DMI
2187 ---help---
2188 This option enables system support for the Traverse Technologies GEOS.
2189
2190endif # X86_32 2067endif # X86_32
2191 2068
2192config AMD_NB 2069config AMD_NB
@@ -2218,11 +2095,10 @@ config IA32_EMULATION
2218 bool "IA32 Emulation" 2095 bool "IA32 Emulation"
2219 depends on X86_64 2096 depends on X86_64
2220 select COMPAT_BINFMT_ELF 2097 select COMPAT_BINFMT_ELF
2221 select HAVE_UID16
2222 ---help--- 2098 ---help---
2223 Include code to run legacy 32-bit programs under a 2099 Include code to run 32-bit programs under a 64-bit kernel. You should
2224 64-bit kernel. You should likely turn this on, unless you're 2100 likely turn this on, unless you're 100% sure that you don't have any
2225 100% sure that you don't have any 32-bit programs left. 2101 32-bit programs left.
2226 2102
2227config IA32_AOUT 2103config IA32_AOUT
2228 tristate "IA32 a.out support" 2104 tristate "IA32 a.out support"
@@ -2230,36 +2106,22 @@ config IA32_AOUT
2230 ---help--- 2106 ---help---
2231 Support old a.out binaries in the 32bit emulation. 2107 Support old a.out binaries in the 32bit emulation.
2232 2108
2233config X86_X32
2234 bool "x32 ABI for 64-bit mode (EXPERIMENTAL)"
2235 depends on X86_64 && IA32_EMULATION && EXPERIMENTAL
2236 ---help---
2237 Include code to run binaries for the x32 native 32-bit ABI
2238 for 64-bit processors. An x32 process gets access to the
2239 full 64-bit register file and wide data path while leaving
2240 pointers at 32 bits for smaller memory footprint.
2241
2242 You will need a recent binutils (2.22 or later) with
2243 elf32_x86_64 support enabled to compile a kernel with this
2244 option set.
2245
2246config COMPAT 2109config COMPAT
2247 def_bool y 2110 def_bool y
2248 depends on IA32_EMULATION || X86_X32 2111 depends on IA32_EMULATION
2249 select ARCH_WANT_OLD_COMPAT_IPC
2250 2112
2251if COMPAT
2252config COMPAT_FOR_U64_ALIGNMENT 2113config COMPAT_FOR_U64_ALIGNMENT
2253 def_bool y 2114 def_bool COMPAT
2115 depends on X86_64
2254 2116
2255config SYSVIPC_COMPAT 2117config SYSVIPC_COMPAT
2256 def_bool y 2118 def_bool y
2257 depends on SYSVIPC 2119 depends on COMPAT && SYSVIPC
2258 2120
2259config KEYS_COMPAT 2121config KEYS_COMPAT
2260 def_bool y 2122 bool
2261 depends on KEYS 2123 depends on COMPAT && KEYS
2262endif 2124 default y
2263 2125
2264endmenu 2126endmenu
2265 2127
@@ -2272,14 +2134,6 @@ config HAVE_TEXT_POKE_SMP
2272 bool 2134 bool
2273 select STOP_MACHINE if SMP 2135 select STOP_MACHINE if SMP
2274 2136
2275config X86_DEV_DMA_OPS
2276 bool
2277 depends on X86_64 || STA2X11
2278
2279config X86_DMA_REMAP
2280 bool
2281 depends on STA2X11
2282
2283source "net/Kconfig" 2137source "net/Kconfig"
2284 2138
2285source "drivers/Kconfig" 2139source "drivers/Kconfig"