aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig661
1 files changed, 345 insertions, 316 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 7b66c34d0aae..469f3450bf81 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -5,7 +5,7 @@ mainmenu "Linux Kernel Configuration for x86"
5config 64BIT 5config 64BIT
6 bool "64-bit kernel" if ARCH = "x86" 6 bool "64-bit kernel" if ARCH = "x86"
7 default ARCH = "x86_64" 7 default ARCH = "x86_64"
8 help 8 ---help---
9 Say yes to build a 64-bit kernel - formerly known as x86_64 9 Say yes to build a 64-bit kernel - formerly known as x86_64
10 Say no to build a 32-bit kernel - formerly known as i386 10 Say no to build a 32-bit kernel - formerly known as i386
11 11
@@ -27,14 +27,15 @@ config X86
27 select HAVE_IOREMAP_PROT 27 select HAVE_IOREMAP_PROT
28 select HAVE_KPROBES 28 select HAVE_KPROBES
29 select ARCH_WANT_OPTIONAL_GPIOLIB 29 select ARCH_WANT_OPTIONAL_GPIOLIB
30 select ARCH_WANT_FRAME_POINTERS
30 select HAVE_KRETPROBES 31 select HAVE_KRETPROBES
31 select HAVE_FTRACE_MCOUNT_RECORD 32 select HAVE_FTRACE_MCOUNT_RECORD
32 select HAVE_DYNAMIC_FTRACE 33 select HAVE_DYNAMIC_FTRACE
33 select HAVE_FUNCTION_TRACER 34 select HAVE_FUNCTION_TRACER
34 select HAVE_FUNCTION_GRAPH_TRACER 35 select HAVE_FUNCTION_GRAPH_TRACER
35 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 36 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
36 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) 37 select HAVE_KVM
37 select HAVE_ARCH_KGDB if !X86_VOYAGER 38 select HAVE_ARCH_KGDB
38 select HAVE_ARCH_TRACEHOOK 39 select HAVE_ARCH_TRACEHOOK
39 select HAVE_GENERIC_DMA_COHERENT if X86_32 40 select HAVE_GENERIC_DMA_COHERENT if X86_32
40 select HAVE_EFFICIENT_UNALIGNED_ACCESS 41 select HAVE_EFFICIENT_UNALIGNED_ACCESS
@@ -135,18 +136,16 @@ config ARCH_HAS_CACHE_LINE_SIZE
135 def_bool y 136 def_bool y
136 137
137config HAVE_SETUP_PER_CPU_AREA 138config HAVE_SETUP_PER_CPU_AREA
138 def_bool X86_64_SMP || (X86_SMP && !X86_VOYAGER) 139 def_bool y
139 140
140config HAVE_CPUMASK_OF_CPU_MAP 141config HAVE_CPUMASK_OF_CPU_MAP
141 def_bool X86_64_SMP 142 def_bool X86_64_SMP
142 143
143config ARCH_HIBERNATION_POSSIBLE 144config ARCH_HIBERNATION_POSSIBLE
144 def_bool y 145 def_bool y
145 depends on !SMP || !X86_VOYAGER
146 146
147config ARCH_SUSPEND_POSSIBLE 147config ARCH_SUSPEND_POSSIBLE
148 def_bool y 148 def_bool y
149 depends on !X86_VOYAGER
150 149
151config ZONE_DMA32 150config ZONE_DMA32
152 bool 151 bool
@@ -176,11 +175,6 @@ config GENERIC_PENDING_IRQ
176 depends on GENERIC_HARDIRQS && SMP 175 depends on GENERIC_HARDIRQS && SMP
177 default y 176 default y
178 177
179config X86_SMP
180 bool
181 depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
182 default y
183
184config USE_GENERIC_SMP_HELPERS 178config USE_GENERIC_SMP_HELPERS
185 def_bool y 179 def_bool y
186 depends on SMP 180 depends on SMP
@@ -196,19 +190,17 @@ config X86_64_SMP
196config X86_HT 190config X86_HT
197 bool 191 bool
198 depends on SMP 192 depends on SMP
199 depends on (X86_32 && !X86_VOYAGER) || X86_64
200 default y
201
202config X86_BIOS_REBOOT
203 bool
204 depends on !X86_VOYAGER
205 default y 193 default y
206 194
207config X86_TRAMPOLINE 195config X86_TRAMPOLINE
208 bool 196 bool
209 depends on X86_SMP || (X86_VOYAGER && SMP) || (64BIT && ACPI_SLEEP) 197 depends on SMP || (64BIT && ACPI_SLEEP)
210 default y 198 default y
211 199
200config X86_32_LAZY_GS
201 def_bool y
202 depends on X86_32 && !CC_STACKPROTECTOR
203
212config KTIME_SCALAR 204config KTIME_SCALAR
213 def_bool X86_32 205 def_bool X86_32
214source "init/Kconfig" 206source "init/Kconfig"
@@ -246,14 +238,24 @@ config SMP
246 238
247 If you don't know what to do here, say N. 239 If you don't know what to do here, say N.
248 240
249config X86_HAS_BOOT_CPU_ID 241config X86_X2APIC
250 def_bool y 242 bool "Support x2apic"
251 depends on X86_VOYAGER 243 depends on X86_LOCAL_APIC && X86_64
244 ---help---
245 This enables x2apic support on CPUs that have this feature.
246
247 This allows 32-bit apic IDs (so it can support very large systems),
248 and accesses the local apic via MSRs not via mmio.
249
250 ( On certain CPU models you may need to enable INTR_REMAP too,
251 to get functional x2apic mode. )
252
253 If you don't know what to do here, say N.
252 254
253config SPARSE_IRQ 255config SPARSE_IRQ
254 bool "Support sparse irq numbering" 256 bool "Support sparse irq numbering"
255 depends on PCI_MSI || HT_IRQ 257 depends on PCI_MSI || HT_IRQ
256 help 258 ---help---
257 This enables support for sparse irqs. This is useful for distro 259 This enables support for sparse irqs. This is useful for distro
258 kernels that want to define a high CONFIG_NR_CPUS value but still 260 kernels that want to define a high CONFIG_NR_CPUS value but still
259 want to have low kernel memory footprint on smaller machines. 261 want to have low kernel memory footprint on smaller machines.
@@ -267,114 +269,140 @@ config NUMA_MIGRATE_IRQ_DESC
267 bool "Move irq desc when changing irq smp_affinity" 269 bool "Move irq desc when changing irq smp_affinity"
268 depends on SPARSE_IRQ && NUMA 270 depends on SPARSE_IRQ && NUMA
269 default n 271 default n
270 help 272 ---help---
271 This enables moving irq_desc to cpu/node that irq will use handled. 273 This enables moving irq_desc to cpu/node that irq will use handled.
272 274
273 If you don't know what to do here, say N. 275 If you don't know what to do here, say N.
274 276
275config X86_FIND_SMP_CONFIG
276 def_bool y
277 depends on X86_MPPARSE || X86_VOYAGER
278
279config X86_MPPARSE 277config X86_MPPARSE
280 bool "Enable MPS table" if ACPI 278 bool "Enable MPS table" if ACPI
281 default y 279 default y
282 depends on X86_LOCAL_APIC 280 depends on X86_LOCAL_APIC
283 help 281 ---help---
284 For old smp systems that do not have proper acpi support. Newer systems 282 For old smp systems that do not have proper acpi support. Newer systems
285 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it 283 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
286 284
287choice 285config X86_BIGSMP
288 prompt "Subarchitecture Type" 286 bool "Support for big SMP systems with more than 8 CPUs"
289 default X86_PC 287 depends on X86_32 && SMP
288 ---help---
289 This option is needed for the systems that have more than 8 CPUs
290 290
291config X86_PC 291if X86_32
292 bool "PC-compatible" 292config X86_EXTENDED_PLATFORM
293 help 293 bool "Support for extended (non-PC) x86 platforms"
294 Choose this option if your computer is a standard PC or compatible. 294 default y
295 ---help---
296 If you disable this option then the kernel will only support
297 standard PC platforms. (which covers the vast majority of
298 systems out there.)
299
300 If you enable this option then you'll be able to select support
301 for the following (non-PC) 32 bit x86 platforms:
302 AMD Elan
303 NUMAQ (IBM/Sequent)
304 RDC R-321x SoC
305 SGI 320/540 (Visual Workstation)
306 Summit/EXA (IBM x440)
307 Unisys ES7000 IA32 series
308
309 If you have one of these systems, or if you want to build a
310 generic distribution kernel, say Y here - otherwise say N.
311endif
312
313if X86_64
314config X86_EXTENDED_PLATFORM
315 bool "Support for extended (non-PC) x86 platforms"
316 default y
317 ---help---
318 If you disable this option then the kernel will only support
319 standard PC platforms. (which covers the vast majority of
320 systems out there.)
321
322 If you enable this option then you'll be able to select support
323 for the following (non-PC) 64 bit x86 platforms:
324 ScaleMP vSMP
325 SGI Ultraviolet
326
327 If you have one of these systems, or if you want to build a
328 generic distribution kernel, say Y here - otherwise say N.
329endif
330# This is an alphabetically sorted list of 64 bit extended platforms
331# Please maintain the alphabetic order if and when there are additions
332
333config X86_VSMP
334 bool "ScaleMP vSMP"
335 select PARAVIRT
336 depends on X86_64 && PCI
337 depends on X86_EXTENDED_PLATFORM
338 ---help---
339 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is
340 supposed to run on these EM64T-based machines. Only choose this option
341 if you have one of these machines.
342
343config X86_UV
344 bool "SGI Ultraviolet"
345 depends on X86_64
346 depends on X86_EXTENDED_PLATFORM
347 select X86_X2APIC
348 ---help---
349 This option is needed in order to support SGI Ultraviolet systems.
350 If you don't have one of these, you should say N here.
351
352# Following is an alphabetically sorted list of 32 bit extended platforms
353# Please maintain the alphabetic order if and when there are additions
295 354
296config X86_ELAN 355config X86_ELAN
297 bool "AMD Elan" 356 bool "AMD Elan"
298 depends on X86_32 357 depends on X86_32
299 help 358 depends on X86_EXTENDED_PLATFORM
359 ---help---
300 Select this for an AMD Elan processor. 360 Select this for an AMD Elan processor.
301 361
302 Do not use this option for K6/Athlon/Opteron processors! 362 Do not use this option for K6/Athlon/Opteron processors!
303 363
304 If unsure, choose "PC-compatible" instead. 364 If unsure, choose "PC-compatible" instead.
305 365
306config X86_VOYAGER 366config X86_RDC321X
307 bool "Voyager (NCR)" 367 bool "RDC R-321x SoC"
308 depends on X86_32 && (SMP || BROKEN) && !PCI
309 help
310 Voyager is an MCA-based 32-way capable SMP architecture proprietary
311 to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based.
312
313 *** WARNING ***
314
315 If you do not specifically know you have a Voyager based machine,
316 say N here, otherwise the kernel you build will not be bootable.
317
318config X86_GENERICARCH
319 bool "Generic architecture"
320 depends on X86_32 368 depends on X86_32
321 help 369 depends on X86_EXTENDED_PLATFORM
322 This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default 370 select M486
371 select X86_REBOOTFIXUPS
372 ---help---
373 This option is needed for RDC R-321x system-on-chip, also known
374 as R-8610-(G).
375 If you don't have one of these chips, you should say N here.
376
377config X86_32_NON_STANDARD
378 bool "Support non-standard 32-bit SMP architectures"
379 depends on X86_32 && SMP
380 depends on X86_EXTENDED_PLATFORM
381 ---help---
382 This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default
323 subarchitectures. It is intended for a generic binary kernel. 383 subarchitectures. It is intended for a generic binary kernel.
324 if you select them all, kernel will probe it one by one. and will 384 if you select them all, kernel will probe it one by one. and will
325 fallback to default. 385 fallback to default.
326 386
327if X86_GENERICARCH 387# Alphabetically sorted list of Non standard 32 bit platforms
328 388
329config X86_NUMAQ 389config X86_NUMAQ
330 bool "NUMAQ (IBM/Sequent)" 390 bool "NUMAQ (IBM/Sequent)"
331 depends on SMP && X86_32 && PCI && X86_MPPARSE 391 depends on X86_32_NON_STANDARD
332 select NUMA 392 select NUMA
333 help 393 select X86_MPPARSE
394 ---help---
334 This option is used for getting Linux to run on a NUMAQ (IBM/Sequent) 395 This option is used for getting Linux to run on a NUMAQ (IBM/Sequent)
335 NUMA multiquad box. This changes the way that processors are 396 NUMA multiquad box. This changes the way that processors are
336 bootstrapped, and uses Clustered Logical APIC addressing mode instead 397 bootstrapped, and uses Clustered Logical APIC addressing mode instead
337 of Flat Logical. You will need a new lynxer.elf file to flash your 398 of Flat Logical. You will need a new lynxer.elf file to flash your
338 firmware with - send email to <Martin.Bligh@us.ibm.com>. 399 firmware with - send email to <Martin.Bligh@us.ibm.com>.
339 400
340config X86_SUMMIT
341 bool "Summit/EXA (IBM x440)"
342 depends on X86_32 && SMP
343 help
344 This option is needed for IBM systems that use the Summit/EXA chipset.
345 In particular, it is needed for the x440.
346
347config X86_ES7000
348 bool "Support for Unisys ES7000 IA32 series"
349 depends on X86_32 && SMP
350 help
351 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
352 supposed to run on an IA32-based Unisys ES7000 system.
353
354config X86_BIGSMP
355 bool "Support for big SMP systems with more than 8 CPUs"
356 depends on X86_32 && SMP
357 help
358 This option is needed for the systems that have more than 8 CPUs
359 and if the system is not of any sub-arch type above.
360
361endif
362
363config X86_VSMP
364 bool "Support for ScaleMP vSMP"
365 select PARAVIRT
366 depends on X86_64 && PCI
367 help
368 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is
369 supposed to run on these EM64T-based machines. Only choose this option
370 if you have one of these machines.
371
372endchoice
373
374config X86_VISWS 401config X86_VISWS
375 bool "SGI 320/540 (Visual Workstation)" 402 bool "SGI 320/540 (Visual Workstation)"
376 depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT 403 depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT
377 help 404 depends on X86_32_NON_STANDARD
405 ---help---
378 The SGI Visual Workstation series is an IA32-based workstation 406 The SGI Visual Workstation series is an IA32-based workstation
379 based on SGI systems chips with some legacy PC hardware attached. 407 based on SGI systems chips with some legacy PC hardware attached.
380 408
@@ -383,21 +411,25 @@ config X86_VISWS
383 A kernel compiled for the Visual Workstation will run on general 411 A kernel compiled for the Visual Workstation will run on general
384 PCs as well. See <file:Documentation/sgi-visws.txt> for details. 412 PCs as well. See <file:Documentation/sgi-visws.txt> for details.
385 413
386config X86_RDC321X 414config X86_SUMMIT
387 bool "RDC R-321x SoC" 415 bool "Summit/EXA (IBM x440)"
388 depends on X86_32 416 depends on X86_32_NON_STANDARD
389 select M486 417 ---help---
390 select X86_REBOOTFIXUPS 418 This option is needed for IBM systems that use the Summit/EXA chipset.
391 help 419 In particular, it is needed for the x440.
392 This option is needed for RDC R-321x system-on-chip, also known 420
393 as R-8610-(G). 421config X86_ES7000
394 If you don't have one of these chips, you should say N here. 422 bool "Unisys ES7000 IA32 series"
423 depends on X86_32_NON_STANDARD && X86_BIGSMP
424 ---help---
425 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
426 supposed to run on an IA32-based Unisys ES7000 system.
395 427
396config SCHED_OMIT_FRAME_POINTER 428config SCHED_OMIT_FRAME_POINTER
397 def_bool y 429 def_bool y
398 prompt "Single-depth WCHAN output" 430 prompt "Single-depth WCHAN output"
399 depends on X86 431 depends on X86
400 help 432 ---help---
401 Calculate simpler /proc/<PID>/wchan values. If this option 433 Calculate simpler /proc/<PID>/wchan values. If this option
402 is disabled then wchan values will recurse back to the 434 is disabled then wchan values will recurse back to the
403 caller function. This provides more accurate wchan values, 435 caller function. This provides more accurate wchan values,
@@ -407,7 +439,7 @@ config SCHED_OMIT_FRAME_POINTER
407 439
408menuconfig PARAVIRT_GUEST 440menuconfig PARAVIRT_GUEST
409 bool "Paravirtualized guest support" 441 bool "Paravirtualized guest support"
410 help 442 ---help---
411 Say Y here to get to see options related to running Linux under 443 Say Y here to get to see options related to running Linux under
412 various hypervisors. This option alone does not add any kernel code. 444 various hypervisors. This option alone does not add any kernel code.
413 445
@@ -421,8 +453,7 @@ config VMI
421 bool "VMI Guest support" 453 bool "VMI Guest support"
422 select PARAVIRT 454 select PARAVIRT
423 depends on X86_32 455 depends on X86_32
424 depends on !X86_VOYAGER 456 ---help---
425 help
426 VMI provides a paravirtualized interface to the VMware ESX server 457 VMI provides a paravirtualized interface to the VMware ESX server
427 (it could be used by other hypervisors in theory too, but is not 458 (it could be used by other hypervisors in theory too, but is not
428 at the moment), by linking the kernel to a GPL-ed ROM module 459 at the moment), by linking the kernel to a GPL-ed ROM module
@@ -432,8 +463,7 @@ config KVM_CLOCK
432 bool "KVM paravirtualized clock" 463 bool "KVM paravirtualized clock"
433 select PARAVIRT 464 select PARAVIRT
434 select PARAVIRT_CLOCK 465 select PARAVIRT_CLOCK
435 depends on !X86_VOYAGER 466 ---help---
436 help
437 Turning on this option will allow you to run a paravirtualized clock 467 Turning on this option will allow you to run a paravirtualized clock
438 when running over the KVM hypervisor. Instead of relying on a PIT 468 when running over the KVM hypervisor. Instead of relying on a PIT
439 (or probably other) emulation by the underlying device model, the host 469 (or probably other) emulation by the underlying device model, the host
@@ -443,17 +473,15 @@ config KVM_CLOCK
443config KVM_GUEST 473config KVM_GUEST
444 bool "KVM Guest support" 474 bool "KVM Guest support"
445 select PARAVIRT 475 select PARAVIRT
446 depends on !X86_VOYAGER 476 ---help---
447 help 477 This option enables various optimizations for running under the KVM
448 This option enables various optimizations for running under the KVM 478 hypervisor.
449 hypervisor.
450 479
451source "arch/x86/lguest/Kconfig" 480source "arch/x86/lguest/Kconfig"
452 481
453config PARAVIRT 482config PARAVIRT
454 bool "Enable paravirtualization code" 483 bool "Enable paravirtualization code"
455 depends on !X86_VOYAGER 484 ---help---
456 help
457 This changes the kernel so it can modify itself when it is run 485 This changes the kernel so it can modify itself when it is run
458 under a hypervisor, potentially improving performance significantly 486 under a hypervisor, potentially improving performance significantly
459 over full virtualization. However, when run without a hypervisor 487 over full virtualization. However, when run without a hypervisor
@@ -466,51 +494,51 @@ config PARAVIRT_CLOCK
466endif 494endif
467 495
468config PARAVIRT_DEBUG 496config PARAVIRT_DEBUG
469 bool "paravirt-ops debugging" 497 bool "paravirt-ops debugging"
470 depends on PARAVIRT && DEBUG_KERNEL 498 depends on PARAVIRT && DEBUG_KERNEL
471 help 499 ---help---
472 Enable to debug paravirt_ops internals. Specifically, BUG if 500 Enable to debug paravirt_ops internals. Specifically, BUG if
473 a paravirt_op is missing when it is called. 501 a paravirt_op is missing when it is called.
474 502
475config MEMTEST 503config MEMTEST
476 bool "Memtest" 504 bool "Memtest"
477 help 505 ---help---
478 This option adds a kernel parameter 'memtest', which allows memtest 506 This option adds a kernel parameter 'memtest', which allows memtest
479 to be set. 507 to be set.
480 memtest=0, mean disabled; -- default 508 memtest=0, mean disabled; -- default
481 memtest=1, mean do 1 test pattern; 509 memtest=1, mean do 1 test pattern;
482 ... 510 ...
483 memtest=4, mean do 4 test patterns. 511 memtest=4, mean do 4 test patterns.
484 If you are unsure how to answer this question, answer N. 512 If you are unsure how to answer this question, answer N.
485 513
486config X86_SUMMIT_NUMA 514config X86_SUMMIT_NUMA
487 def_bool y 515 def_bool y
488 depends on X86_32 && NUMA && X86_GENERICARCH 516 depends on X86_32 && NUMA && X86_32_NON_STANDARD
489 517
490config X86_CYCLONE_TIMER 518config X86_CYCLONE_TIMER
491 def_bool y 519 def_bool y
492 depends on X86_GENERICARCH 520 depends on X86_32_NON_STANDARD
493 521
494source "arch/x86/Kconfig.cpu" 522source "arch/x86/Kconfig.cpu"
495 523
496config HPET_TIMER 524config HPET_TIMER
497 def_bool X86_64 525 def_bool X86_64
498 prompt "HPET Timer Support" if X86_32 526 prompt "HPET Timer Support" if X86_32
499 help 527 ---help---
500 Use the IA-PC HPET (High Precision Event Timer) to manage 528 Use the IA-PC HPET (High Precision Event Timer) to manage
501 time in preference to the PIT and RTC, if a HPET is 529 time in preference to the PIT and RTC, if a HPET is
502 present. 530 present.
503 HPET is the next generation timer replacing legacy 8254s. 531 HPET is the next generation timer replacing legacy 8254s.
504 The HPET provides a stable time base on SMP 532 The HPET provides a stable time base on SMP
505 systems, unlike the TSC, but it is more expensive to access, 533 systems, unlike the TSC, but it is more expensive to access,
506 as it is off-chip. You can find the HPET spec at 534 as it is off-chip. You can find the HPET spec at
507 <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>. 535 <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>.
508 536
509 You can safely choose Y here. However, HPET will only be 537 You can safely choose Y here. However, HPET will only be
510 activated if the platform and the BIOS support this feature. 538 activated if the platform and the BIOS support this feature.
511 Otherwise the 8254 will be used for timing services. 539 Otherwise the 8254 will be used for timing services.
512 540
513 Choose N to continue using the legacy 8254 timer. 541 Choose N to continue using the legacy 8254 timer.
514 542
515config HPET_EMULATE_RTC 543config HPET_EMULATE_RTC
516 def_bool y 544 def_bool y
@@ -521,7 +549,7 @@ config HPET_EMULATE_RTC
521config DMI 549config DMI
522 default y 550 default y
523 bool "Enable DMI scanning" if EMBEDDED 551 bool "Enable DMI scanning" if EMBEDDED
524 help 552 ---help---
525 Enabled scanning of DMI to identify machine quirks. Say Y 553 Enabled scanning of DMI to identify machine quirks. Say Y
526 here unless you have verified that your setup is not 554 here unless you have verified that your setup is not
527 affected by entries in the DMI blacklist. Required by PNP 555 affected by entries in the DMI blacklist. Required by PNP
@@ -533,7 +561,7 @@ config GART_IOMMU
533 select SWIOTLB 561 select SWIOTLB
534 select AGP 562 select AGP
535 depends on X86_64 && PCI 563 depends on X86_64 && PCI
536 help 564 ---help---
537 Support for full DMA access of devices with 32bit memory access only 565 Support for full DMA access of devices with 32bit memory access only
538 on systems with more than 3GB. This is usually needed for USB, 566 on systems with more than 3GB. This is usually needed for USB,
539 sound, many IDE/SATA chipsets and some other devices. 567 sound, many IDE/SATA chipsets and some other devices.
@@ -548,7 +576,7 @@ config CALGARY_IOMMU
548 bool "IBM Calgary IOMMU support" 576 bool "IBM Calgary IOMMU support"
549 select SWIOTLB 577 select SWIOTLB
550 depends on X86_64 && PCI && EXPERIMENTAL 578 depends on X86_64 && PCI && EXPERIMENTAL
551 help 579 ---help---
552 Support for hardware IOMMUs in IBM's xSeries x366 and x460 580 Support for hardware IOMMUs in IBM's xSeries x366 and x460
553 systems. Needed to run systems with more than 3GB of memory 581 systems. Needed to run systems with more than 3GB of memory
554 properly with 32-bit PCI devices that do not support DAC 582 properly with 32-bit PCI devices that do not support DAC
@@ -566,7 +594,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
566 def_bool y 594 def_bool y
567 prompt "Should Calgary be enabled by default?" 595 prompt "Should Calgary be enabled by default?"
568 depends on CALGARY_IOMMU 596 depends on CALGARY_IOMMU
569 help 597 ---help---
570 Should Calgary be enabled by default? if you choose 'y', Calgary 598 Should Calgary be enabled by default? if you choose 'y', Calgary
571 will be used (if it exists). If you choose 'n', Calgary will not be 599 will be used (if it exists). If you choose 'n', Calgary will not be
572 used even if it exists. If you choose 'n' and would like to use 600 used even if it exists. If you choose 'n' and would like to use
@@ -578,7 +606,7 @@ config AMD_IOMMU
578 select SWIOTLB 606 select SWIOTLB
579 select PCI_MSI 607 select PCI_MSI
580 depends on X86_64 && PCI && ACPI 608 depends on X86_64 && PCI && ACPI
581 help 609 ---help---
582 With this option you can enable support for AMD IOMMU hardware in 610 With this option you can enable support for AMD IOMMU hardware in
583 your system. An IOMMU is a hardware component which provides 611 your system. An IOMMU is a hardware component which provides
584 remapping of DMA memory accesses from devices. With an AMD IOMMU you 612 remapping of DMA memory accesses from devices. With an AMD IOMMU you
@@ -593,7 +621,7 @@ config AMD_IOMMU_STATS
593 bool "Export AMD IOMMU statistics to debugfs" 621 bool "Export AMD IOMMU statistics to debugfs"
594 depends on AMD_IOMMU 622 depends on AMD_IOMMU
595 select DEBUG_FS 623 select DEBUG_FS
596 help 624 ---help---
597 This option enables code in the AMD IOMMU driver to collect various 625 This option enables code in the AMD IOMMU driver to collect various
598 statistics about whats happening in the driver and exports that 626 statistics about whats happening in the driver and exports that
599 information to userspace via debugfs. 627 information to userspace via debugfs.
@@ -602,7 +630,7 @@ config AMD_IOMMU_STATS
602# need this always selected by IOMMU for the VIA workaround 630# need this always selected by IOMMU for the VIA workaround
603config SWIOTLB 631config SWIOTLB
604 def_bool y if X86_64 632 def_bool y if X86_64
605 help 633 ---help---
606 Support for software bounce buffers used on x86-64 systems 634 Support for software bounce buffers used on x86-64 systems
607 which don't have a hardware IOMMU (e.g. the current generation 635 which don't have a hardware IOMMU (e.g. the current generation
608 of Intel's x86-64 CPUs). Using this PCI devices which can only 636 of Intel's x86-64 CPUs). Using this PCI devices which can only
@@ -620,7 +648,7 @@ config MAXSMP
620 depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL 648 depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
621 select CPUMASK_OFFSTACK 649 select CPUMASK_OFFSTACK
622 default n 650 default n
623 help 651 ---help---
624 Configure maximum number of CPUS and NUMA Nodes for this architecture. 652 Configure maximum number of CPUS and NUMA Nodes for this architecture.
625 If unsure, say N. 653 If unsure, say N.
626 654
@@ -631,7 +659,7 @@ config NR_CPUS
631 default "4096" if MAXSMP 659 default "4096" if MAXSMP
632 default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000) 660 default "32" if SMP && (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000)
633 default "8" if SMP 661 default "8" if SMP
634 help 662 ---help---
635 This allows you to specify the maximum number of CPUs which this 663 This allows you to specify the maximum number of CPUs which this
636 kernel will support. The maximum supported value is 512 and the 664 kernel will support. The maximum supported value is 512 and the
637 minimum value which makes sense is 2. 665 minimum value which makes sense is 2.
@@ -642,7 +670,7 @@ config NR_CPUS
642config SCHED_SMT 670config SCHED_SMT
643 bool "SMT (Hyperthreading) scheduler support" 671 bool "SMT (Hyperthreading) scheduler support"
644 depends on X86_HT 672 depends on X86_HT
645 help 673 ---help---
646 SMT scheduler support improves the CPU scheduler's decision making 674 SMT scheduler support improves the CPU scheduler's decision making
647 when dealing with Intel Pentium 4 chips with HyperThreading at a 675 when dealing with Intel Pentium 4 chips with HyperThreading at a
648 cost of slightly increased overhead in some places. If unsure say 676 cost of slightly increased overhead in some places. If unsure say
@@ -652,7 +680,7 @@ config SCHED_MC
652 def_bool y 680 def_bool y
653 prompt "Multi-core scheduler support" 681 prompt "Multi-core scheduler support"
654 depends on X86_HT 682 depends on X86_HT
655 help 683 ---help---
656 Multi-core scheduler support improves the CPU scheduler's decision 684 Multi-core scheduler support improves the CPU scheduler's decision
657 making when dealing with multi-core CPU chips at a cost of slightly 685 making when dealing with multi-core CPU chips at a cost of slightly
658 increased overhead in some places. If unsure say N here. 686 increased overhead in some places. If unsure say N here.
@@ -661,8 +689,8 @@ source "kernel/Kconfig.preempt"
661 689
662config X86_UP_APIC 690config X86_UP_APIC
663 bool "Local APIC support on uniprocessors" 691 bool "Local APIC support on uniprocessors"
664 depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH) 692 depends on X86_32 && !SMP && !X86_32_NON_STANDARD
665 help 693 ---help---
666 A local APIC (Advanced Programmable Interrupt Controller) is an 694 A local APIC (Advanced Programmable Interrupt Controller) is an
667 integrated interrupt controller in the CPU. If you have a single-CPU 695 integrated interrupt controller in the CPU. If you have a single-CPU
668 system which has a processor with a local APIC, you can say Y here to 696 system which has a processor with a local APIC, you can say Y here to
@@ -675,7 +703,7 @@ config X86_UP_APIC
675config X86_UP_IOAPIC 703config X86_UP_IOAPIC
676 bool "IO-APIC support on uniprocessors" 704 bool "IO-APIC support on uniprocessors"
677 depends on X86_UP_APIC 705 depends on X86_UP_APIC
678 help 706 ---help---
679 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an 707 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
680 SMP-capable replacement for PC-style interrupt controllers. Most 708 SMP-capable replacement for PC-style interrupt controllers. Most
681 SMP systems and many recent uniprocessor systems have one. 709 SMP systems and many recent uniprocessor systems have one.
@@ -686,11 +714,11 @@ config X86_UP_IOAPIC
686 714
687config X86_LOCAL_APIC 715config X86_LOCAL_APIC
688 def_bool y 716 def_bool y
689 depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH)) 717 depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
690 718
691config X86_IO_APIC 719config X86_IO_APIC
692 def_bool y 720 def_bool y
693 depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH)) 721 depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
694 722
695config X86_VISWS_APIC 723config X86_VISWS_APIC
696 def_bool y 724 def_bool y
@@ -700,7 +728,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
700 bool "Reroute for broken boot IRQs" 728 bool "Reroute for broken boot IRQs"
701 default n 729 default n
702 depends on X86_IO_APIC 730 depends on X86_IO_APIC
703 help 731 ---help---
704 This option enables a workaround that fixes a source of 732 This option enables a workaround that fixes a source of
705 spurious interrupts. This is recommended when threaded 733 spurious interrupts. This is recommended when threaded
706 interrupt handling is used on systems where the generation of 734 interrupt handling is used on systems where the generation of
@@ -722,7 +750,6 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
722 750
723config X86_MCE 751config X86_MCE
724 bool "Machine Check Exception" 752 bool "Machine Check Exception"
725 depends on !X86_VOYAGER
726 ---help--- 753 ---help---
727 Machine Check Exception support allows the processor to notify the 754 Machine Check Exception support allows the processor to notify the
728 kernel if it detects a problem (e.g. overheating, component failure). 755 kernel if it detects a problem (e.g. overheating, component failure).
@@ -741,7 +768,7 @@ config X86_MCE_INTEL
741 def_bool y 768 def_bool y
742 prompt "Intel MCE features" 769 prompt "Intel MCE features"
743 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 770 depends on X86_64 && X86_MCE && X86_LOCAL_APIC
744 help 771 ---help---
745 Additional support for intel specific MCE features such as 772 Additional support for intel specific MCE features such as
746 the thermal monitor. 773 the thermal monitor.
747 774
@@ -749,14 +776,14 @@ config X86_MCE_AMD
749 def_bool y 776 def_bool y
750 prompt "AMD MCE features" 777 prompt "AMD MCE features"
751 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 778 depends on X86_64 && X86_MCE && X86_LOCAL_APIC
752 help 779 ---help---
753 Additional support for AMD specific MCE features such as 780 Additional support for AMD specific MCE features such as
754 the DRAM Error Threshold. 781 the DRAM Error Threshold.
755 782
756config X86_MCE_NONFATAL 783config X86_MCE_NONFATAL
757 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" 784 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
758 depends on X86_32 && X86_MCE 785 depends on X86_32 && X86_MCE
759 help 786 ---help---
760 Enabling this feature starts a timer that triggers every 5 seconds which 787 Enabling this feature starts a timer that triggers every 5 seconds which
761 will look at the machine check registers to see if anything happened. 788 will look at the machine check registers to see if anything happened.
762 Non-fatal problems automatically get corrected (but still logged). 789 Non-fatal problems automatically get corrected (but still logged).
@@ -769,7 +796,7 @@ config X86_MCE_NONFATAL
769config X86_MCE_P4THERMAL 796config X86_MCE_P4THERMAL
770 bool "check for P4 thermal throttling interrupt." 797 bool "check for P4 thermal throttling interrupt."
771 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) 798 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP)
772 help 799 ---help---
773 Enabling this feature will cause a message to be printed when the P4 800 Enabling this feature will cause a message to be printed when the P4
774 enters thermal throttling. 801 enters thermal throttling.
775 802
@@ -777,11 +804,11 @@ config VM86
777 bool "Enable VM86 support" if EMBEDDED 804 bool "Enable VM86 support" if EMBEDDED
778 default y 805 default y
779 depends on X86_32 806 depends on X86_32
780 help 807 ---help---
781 This option is required by programs like DOSEMU to run 16-bit legacy 808 This option is required by programs like DOSEMU to run 16-bit legacy
782 code on X86 processors. It also may be needed by software like 809 code on X86 processors. It also may be needed by software like
783 XFree86 to initialize some video cards via BIOS. Disabling this 810 XFree86 to initialize some video cards via BIOS. Disabling this
784 option saves about 6k. 811 option saves about 6k.
785 812
786config TOSHIBA 813config TOSHIBA
787 tristate "Toshiba Laptop support" 814 tristate "Toshiba Laptop support"
@@ -855,33 +882,33 @@ config MICROCODE
855 module will be called microcode. 882 module will be called microcode.
856 883
857config MICROCODE_INTEL 884config MICROCODE_INTEL
858 bool "Intel microcode patch loading support" 885 bool "Intel microcode patch loading support"
859 depends on MICROCODE 886 depends on MICROCODE
860 default MICROCODE 887 default MICROCODE
861 select FW_LOADER 888 select FW_LOADER
862 --help--- 889 ---help---
863 This options enables microcode patch loading support for Intel 890 This options enables microcode patch loading support for Intel
864 processors. 891 processors.
865 892
866 For latest news and information on obtaining all the required 893 For latest news and information on obtaining all the required
867 Intel ingredients for this driver, check: 894 Intel ingredients for this driver, check:
868 <http://www.urbanmyth.org/microcode/>. 895 <http://www.urbanmyth.org/microcode/>.
869 896
870config MICROCODE_AMD 897config MICROCODE_AMD
871 bool "AMD microcode patch loading support" 898 bool "AMD microcode patch loading support"
872 depends on MICROCODE 899 depends on MICROCODE
873 select FW_LOADER 900 select FW_LOADER
874 --help--- 901 ---help---
875 If you select this option, microcode patch loading support for AMD 902 If you select this option, microcode patch loading support for AMD
876 processors will be enabled. 903 processors will be enabled.
877 904
878 config MICROCODE_OLD_INTERFACE 905config MICROCODE_OLD_INTERFACE
879 def_bool y 906 def_bool y
880 depends on MICROCODE 907 depends on MICROCODE
881 908
882config X86_MSR 909config X86_MSR
883 tristate "/dev/cpu/*/msr - Model-specific register support" 910 tristate "/dev/cpu/*/msr - Model-specific register support"
884 help 911 ---help---
885 This device gives privileged processes access to the x86 912 This device gives privileged processes access to the x86
886 Model-Specific Registers (MSRs). It is a character device with 913 Model-Specific Registers (MSRs). It is a character device with
887 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr. 914 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
@@ -890,7 +917,7 @@ config X86_MSR
890 917
891config X86_CPUID 918config X86_CPUID
892 tristate "/dev/cpu/*/cpuid - CPU information support" 919 tristate "/dev/cpu/*/cpuid - CPU information support"
893 help 920 ---help---
894 This device gives processes access to the x86 CPUID instruction to 921 This device gives processes access to the x86 CPUID instruction to
895 be executed on a specific processor. It is a character device 922 be executed on a specific processor. It is a character device
896 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to 923 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
@@ -942,7 +969,7 @@ config NOHIGHMEM
942config HIGHMEM4G 969config HIGHMEM4G
943 bool "4GB" 970 bool "4GB"
944 depends on !X86_NUMAQ 971 depends on !X86_NUMAQ
945 help 972 ---help---
946 Select this if you have a 32-bit processor and between 1 and 4 973 Select this if you have a 32-bit processor and between 1 and 4
947 gigabytes of physical RAM. 974 gigabytes of physical RAM.
948 975
@@ -950,7 +977,7 @@ config HIGHMEM64G
950 bool "64GB" 977 bool "64GB"
951 depends on !M386 && !M486 978 depends on !M386 && !M486
952 select X86_PAE 979 select X86_PAE
953 help 980 ---help---
954 Select this if you have a 32-bit processor and more than 4 981 Select this if you have a 32-bit processor and more than 4
955 gigabytes of physical RAM. 982 gigabytes of physical RAM.
956 983
@@ -961,7 +988,7 @@ choice
961 prompt "Memory split" if EMBEDDED 988 prompt "Memory split" if EMBEDDED
962 default VMSPLIT_3G 989 default VMSPLIT_3G
963 depends on X86_32 990 depends on X86_32
964 help 991 ---help---
965 Select the desired split between kernel and user memory. 992 Select the desired split between kernel and user memory.
966 993
967 If the address range available to the kernel is less than the 994 If the address range available to the kernel is less than the
@@ -1007,20 +1034,20 @@ config HIGHMEM
1007config X86_PAE 1034config X86_PAE
1008 bool "PAE (Physical Address Extension) Support" 1035 bool "PAE (Physical Address Extension) Support"
1009 depends on X86_32 && !HIGHMEM4G 1036 depends on X86_32 && !HIGHMEM4G
1010 help 1037 ---help---
1011 PAE is required for NX support, and furthermore enables 1038 PAE is required for NX support, and furthermore enables
1012 larger swapspace support for non-overcommit purposes. It 1039 larger swapspace support for non-overcommit purposes. It
1013 has the cost of more pagetable lookup overhead, and also 1040 has the cost of more pagetable lookup overhead, and also
1014 consumes more pagetable space per process. 1041 consumes more pagetable space per process.
1015 1042
1016config ARCH_PHYS_ADDR_T_64BIT 1043config ARCH_PHYS_ADDR_T_64BIT
1017 def_bool X86_64 || X86_PAE 1044 def_bool X86_64 || X86_PAE
1018 1045
1019config DIRECT_GBPAGES 1046config DIRECT_GBPAGES
1020 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED 1047 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED
1021 default y 1048 default y
1022 depends on X86_64 1049 depends on X86_64
1023 help 1050 ---help---
1024 Allow the kernel linear mapping to use 1GB pages on CPUs that 1051 Allow the kernel linear mapping to use 1GB pages on CPUs that
1025 support it. This can improve the kernel's performance a tiny bit by 1052 support it. This can improve the kernel's performance a tiny bit by
1026 reducing TLB pressure. If in doubt, say "Y". 1053 reducing TLB pressure. If in doubt, say "Y".
@@ -1030,9 +1057,8 @@ config NUMA
1030 bool "Numa Memory Allocation and Scheduler Support" 1057 bool "Numa Memory Allocation and Scheduler Support"
1031 depends on SMP 1058 depends on SMP
1032 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) 1059 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
1033 default n if X86_PC
1034 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) 1060 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
1035 help 1061 ---help---
1036 Enable NUMA (Non Uniform Memory Access) support. 1062 Enable NUMA (Non Uniform Memory Access) support.
1037 1063
1038 The kernel will try to allocate memory used by a CPU on the 1064 The kernel will try to allocate memory used by a CPU on the
@@ -1055,19 +1081,19 @@ config K8_NUMA
1055 def_bool y 1081 def_bool y
1056 prompt "Old style AMD Opteron NUMA detection" 1082 prompt "Old style AMD Opteron NUMA detection"
1057 depends on X86_64 && NUMA && PCI 1083 depends on X86_64 && NUMA && PCI
1058 help 1084 ---help---
1059 Enable K8 NUMA node topology detection. You should say Y here if 1085 Enable K8 NUMA node topology detection. You should say Y here if
1060 you have a multi processor AMD K8 system. This uses an old 1086 you have a multi processor AMD K8 system. This uses an old
1061 method to read the NUMA configuration directly from the builtin 1087 method to read the NUMA configuration directly from the builtin
1062 Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA 1088 Northbridge of Opteron. It is recommended to use X86_64_ACPI_NUMA
1063 instead, which also takes priority if both are compiled in. 1089 instead, which also takes priority if both are compiled in.
1064 1090
1065config X86_64_ACPI_NUMA 1091config X86_64_ACPI_NUMA
1066 def_bool y 1092 def_bool y
1067 prompt "ACPI NUMA detection" 1093 prompt "ACPI NUMA detection"
1068 depends on X86_64 && NUMA && ACPI && PCI 1094 depends on X86_64 && NUMA && ACPI && PCI
1069 select ACPI_NUMA 1095 select ACPI_NUMA
1070 help 1096 ---help---
1071 Enable ACPI SRAT based node topology detection. 1097 Enable ACPI SRAT based node topology detection.
1072 1098
1073# Some NUMA nodes have memory ranges that span 1099# Some NUMA nodes have memory ranges that span
@@ -1082,7 +1108,7 @@ config NODES_SPAN_OTHER_NODES
1082config NUMA_EMU 1108config NUMA_EMU
1083 bool "NUMA emulation" 1109 bool "NUMA emulation"
1084 depends on X86_64 && NUMA 1110 depends on X86_64 && NUMA
1085 help 1111 ---help---
1086 Enable NUMA emulation. A flat machine will be split 1112 Enable NUMA emulation. A flat machine will be split
1087 into virtual nodes when booted with "numa=fake=N", where N is the 1113 into virtual nodes when booted with "numa=fake=N", where N is the
1088 number of nodes. This is only useful for debugging. 1114 number of nodes. This is only useful for debugging.
@@ -1095,7 +1121,7 @@ config NODES_SHIFT
1095 default "4" if X86_NUMAQ 1121 default "4" if X86_NUMAQ
1096 default "3" 1122 default "3"
1097 depends on NEED_MULTIPLE_NODES 1123 depends on NEED_MULTIPLE_NODES
1098 help 1124 ---help---
1099 Specify the maximum number of NUMA Nodes available on the target 1125 Specify the maximum number of NUMA Nodes available on the target
1100 system. Increases memory reserved to accomodate various tables. 1126 system. Increases memory reserved to accomodate various tables.
1101 1127
@@ -1133,7 +1159,7 @@ config ARCH_SPARSEMEM_DEFAULT
1133 1159
1134config ARCH_SPARSEMEM_ENABLE 1160config ARCH_SPARSEMEM_ENABLE
1135 def_bool y 1161 def_bool y
1136 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH 1162 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_32) || X86_32_NON_STANDARD
1137 select SPARSEMEM_STATIC if X86_32 1163 select SPARSEMEM_STATIC if X86_32
1138 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 1164 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
1139 1165
@@ -1150,61 +1176,61 @@ source "mm/Kconfig"
1150config HIGHPTE 1176config HIGHPTE
1151 bool "Allocate 3rd-level pagetables from highmem" 1177 bool "Allocate 3rd-level pagetables from highmem"
1152 depends on X86_32 && (HIGHMEM4G || HIGHMEM64G) 1178 depends on X86_32 && (HIGHMEM4G || HIGHMEM64G)
1153 help 1179 ---help---
1154 The VM uses one page table entry for each page of physical memory. 1180 The VM uses one page table entry for each page of physical memory.
1155 For systems with a lot of RAM, this can be wasteful of precious 1181 For systems with a lot of RAM, this can be wasteful of precious
1156 low memory. Setting this option will put user-space page table 1182 low memory. Setting this option will put user-space page table
1157 entries in high memory. 1183 entries in high memory.
1158 1184
1159config X86_CHECK_BIOS_CORRUPTION 1185config X86_CHECK_BIOS_CORRUPTION
1160 bool "Check for low memory corruption" 1186 bool "Check for low memory corruption"
1161 help 1187 ---help---
1162 Periodically check for memory corruption in low memory, which 1188 Periodically check for memory corruption in low memory, which
1163 is suspected to be caused by BIOS. Even when enabled in the 1189 is suspected to be caused by BIOS. Even when enabled in the
1164 configuration, it is disabled at runtime. Enable it by 1190 configuration, it is disabled at runtime. Enable it by
1165 setting "memory_corruption_check=1" on the kernel command 1191 setting "memory_corruption_check=1" on the kernel command
1166 line. By default it scans the low 64k of memory every 60 1192 line. By default it scans the low 64k of memory every 60
1167 seconds; see the memory_corruption_check_size and 1193 seconds; see the memory_corruption_check_size and
1168 memory_corruption_check_period parameters in 1194 memory_corruption_check_period parameters in
1169 Documentation/kernel-parameters.txt to adjust this. 1195 Documentation/kernel-parameters.txt to adjust this.
1170 1196
1171 When enabled with the default parameters, this option has 1197 When enabled with the default parameters, this option has
1172 almost no overhead, as it reserves a relatively small amount 1198 almost no overhead, as it reserves a relatively small amount
1173 of memory and scans it infrequently. It both detects corruption 1199 of memory and scans it infrequently. It both detects corruption
1174 and prevents it from affecting the running system. 1200 and prevents it from affecting the running system.
1175 1201
1176 It is, however, intended as a diagnostic tool; if repeatable 1202 It is, however, intended as a diagnostic tool; if repeatable
1177 BIOS-originated corruption always affects the same memory, 1203 BIOS-originated corruption always affects the same memory,
1178 you can use memmap= to prevent the kernel from using that 1204 you can use memmap= to prevent the kernel from using that
1179 memory. 1205 memory.
1180 1206
1181config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK 1207config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
1182 bool "Set the default setting of memory_corruption_check" 1208 bool "Set the default setting of memory_corruption_check"
1183 depends on X86_CHECK_BIOS_CORRUPTION 1209 depends on X86_CHECK_BIOS_CORRUPTION
1184 default y 1210 default y
1185 help 1211 ---help---
1186 Set whether the default state of memory_corruption_check is 1212 Set whether the default state of memory_corruption_check is
1187 on or off. 1213 on or off.
1188 1214
1189config X86_RESERVE_LOW_64K 1215config X86_RESERVE_LOW_64K
1190 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" 1216 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen"
1191 default y 1217 default y
1192 help 1218 ---help---
1193 Reserve the first 64K of physical RAM on BIOSes that are known 1219 Reserve the first 64K of physical RAM on BIOSes that are known
1194 to potentially corrupt that memory range. A numbers of BIOSes are 1220 to potentially corrupt that memory range. A numbers of BIOSes are
1195 known to utilize this area during suspend/resume, so it must not 1221 known to utilize this area during suspend/resume, so it must not
1196 be used by the kernel. 1222 be used by the kernel.
1197 1223
1198 Set this to N if you are absolutely sure that you trust the BIOS 1224 Set this to N if you are absolutely sure that you trust the BIOS
1199 to get all its memory reservations and usages right. 1225 to get all its memory reservations and usages right.
1200 1226
1201 If you have doubts about the BIOS (e.g. suspend/resume does not 1227 If you have doubts about the BIOS (e.g. suspend/resume does not
1202 work or there's kernel crashes after certain hardware hotplug 1228 work or there's kernel crashes after certain hardware hotplug
1203 events) and it's not AMI or Phoenix, then you might want to enable 1229 events) and it's not AMI or Phoenix, then you might want to enable
1204 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical 1230 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical
1205 corruption patterns. 1231 corruption patterns.
1206 1232
1207 Say Y if unsure. 1233 Say Y if unsure.
1208 1234
1209config MATH_EMULATION 1235config MATH_EMULATION
1210 bool 1236 bool
@@ -1270,7 +1296,7 @@ config MTRR_SANITIZER
1270 def_bool y 1296 def_bool y
1271 prompt "MTRR cleanup support" 1297 prompt "MTRR cleanup support"
1272 depends on MTRR 1298 depends on MTRR
1273 help 1299 ---help---
1274 Convert MTRR layout from continuous to discrete, so X drivers can 1300 Convert MTRR layout from continuous to discrete, so X drivers can
1275 add writeback entries. 1301 add writeback entries.
1276 1302
@@ -1285,7 +1311,7 @@ config MTRR_SANITIZER_ENABLE_DEFAULT
1285 range 0 1 1311 range 0 1
1286 default "0" 1312 default "0"
1287 depends on MTRR_SANITIZER 1313 depends on MTRR_SANITIZER
1288 help 1314 ---help---
1289 Enable mtrr cleanup default value 1315 Enable mtrr cleanup default value
1290 1316
1291config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT 1317config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
@@ -1293,7 +1319,7 @@ config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
1293 range 0 7 1319 range 0 7
1294 default "1" 1320 default "1"
1295 depends on MTRR_SANITIZER 1321 depends on MTRR_SANITIZER
1296 help 1322 ---help---
1297 mtrr cleanup spare entries default, it can be changed via 1323 mtrr cleanup spare entries default, it can be changed via
1298 mtrr_spare_reg_nr=N on the kernel command line. 1324 mtrr_spare_reg_nr=N on the kernel command line.
1299 1325
@@ -1301,7 +1327,7 @@ config X86_PAT
1301 bool 1327 bool
1302 prompt "x86 PAT support" 1328 prompt "x86 PAT support"
1303 depends on MTRR 1329 depends on MTRR
1304 help 1330 ---help---
1305 Use PAT attributes to setup page level cache control. 1331 Use PAT attributes to setup page level cache control.
1306 1332
1307 PATs are the modern equivalents of MTRRs and are much more 1333 PATs are the modern equivalents of MTRRs and are much more
@@ -1316,20 +1342,20 @@ config EFI
1316 bool "EFI runtime service support" 1342 bool "EFI runtime service support"
1317 depends on ACPI 1343 depends on ACPI
1318 ---help--- 1344 ---help---
1319 This enables the kernel to use EFI runtime services that are 1345 This enables the kernel to use EFI runtime services that are
1320 available (such as the EFI variable services). 1346 available (such as the EFI variable services).
1321 1347
1322 This option is only useful on systems that have EFI firmware. 1348 This option is only useful on systems that have EFI firmware.
1323 In addition, you should use the latest ELILO loader available 1349 In addition, you should use the latest ELILO loader available
1324 at <http://elilo.sourceforge.net> in order to take advantage 1350 at <http://elilo.sourceforge.net> in order to take advantage
1325 of EFI runtime services. However, even with this option, the 1351 of EFI runtime services. However, even with this option, the
1326 resultant kernel should continue to boot on existing non-EFI 1352 resultant kernel should continue to boot on existing non-EFI
1327 platforms. 1353 platforms.
1328 1354
1329config SECCOMP 1355config SECCOMP
1330 def_bool y 1356 def_bool y
1331 prompt "Enable seccomp to safely compute untrusted bytecode" 1357 prompt "Enable seccomp to safely compute untrusted bytecode"
1332 help 1358 ---help---
1333 This kernel feature is useful for number crunching applications 1359 This kernel feature is useful for number crunching applications
1334 that may need to compute untrusted bytecode during their 1360 that may need to compute untrusted bytecode during their
1335 execution. By using pipes or other transports made available to 1361 execution. By using pipes or other transports made available to
@@ -1342,13 +1368,16 @@ config SECCOMP
1342 1368
1343 If unsure, say Y. Only embedded should say N here. 1369 If unsure, say Y. Only embedded should say N here.
1344 1370
1371config CC_STACKPROTECTOR_ALL
1372 bool
1373
1345config CC_STACKPROTECTOR 1374config CC_STACKPROTECTOR
1346 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 1375 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1347 depends on X86_64 && EXPERIMENTAL && BROKEN 1376 select CC_STACKPROTECTOR_ALL
1348 help 1377 ---help---
1349 This option turns on the -fstack-protector GCC feature. This 1378 This option turns on the -fstack-protector GCC feature. This
1350 feature puts, at the beginning of critical functions, a canary 1379 feature puts, at the beginning of functions, a canary value on
1351 value on the stack just before the return address, and validates 1380 the stack just before the return address, and validates
1352 the value just before actually returning. Stack based buffer 1381 the value just before actually returning. Stack based buffer
1353 overflows (that need to overwrite this return address) now also 1382 overflows (that need to overwrite this return address) now also
1354 overwrite the canary, which gets detected and the attack is then 1383 overwrite the canary, which gets detected and the attack is then
@@ -1356,22 +1385,14 @@ config CC_STACKPROTECTOR
1356 1385
1357 This feature requires gcc version 4.2 or above, or a distribution 1386 This feature requires gcc version 4.2 or above, or a distribution
1358 gcc with the feature backported. Older versions are automatically 1387 gcc with the feature backported. Older versions are automatically
1359 detected and for those versions, this configuration option is ignored. 1388 detected and for those versions, this configuration option is
1360 1389 ignored. (and a warning is printed during bootup)
1361config CC_STACKPROTECTOR_ALL
1362 bool "Use stack-protector for all functions"
1363 depends on CC_STACKPROTECTOR
1364 help
1365 Normally, GCC only inserts the canary value protection for
1366 functions that use large-ish on-stack buffers. By enabling
1367 this option, GCC will be asked to do this for ALL functions.
1368 1390
1369source kernel/Kconfig.hz 1391source kernel/Kconfig.hz
1370 1392
1371config KEXEC 1393config KEXEC
1372 bool "kexec system call" 1394 bool "kexec system call"
1373 depends on X86_BIOS_REBOOT 1395 ---help---
1374 help
1375 kexec is a system call that implements the ability to shutdown your 1396 kexec is a system call that implements the ability to shutdown your
1376 current kernel, and to start another kernel. It is like a reboot 1397 current kernel, and to start another kernel. It is like a reboot
1377 but it is independent of the system firmware. And like a reboot 1398 but it is independent of the system firmware. And like a reboot
@@ -1388,7 +1409,7 @@ config KEXEC
1388config CRASH_DUMP 1409config CRASH_DUMP
1389 bool "kernel crash dumps" 1410 bool "kernel crash dumps"
1390 depends on X86_64 || (X86_32 && HIGHMEM) 1411 depends on X86_64 || (X86_32 && HIGHMEM)
1391 help 1412 ---help---
1392 Generate crash dump after being started by kexec. 1413 Generate crash dump after being started by kexec.
1393 This should be normally only set in special crash dump kernels 1414 This should be normally only set in special crash dump kernels
1394 which are loaded in the main kernel with kexec-tools into 1415 which are loaded in the main kernel with kexec-tools into
@@ -1403,7 +1424,7 @@ config KEXEC_JUMP
1403 bool "kexec jump (EXPERIMENTAL)" 1424 bool "kexec jump (EXPERIMENTAL)"
1404 depends on EXPERIMENTAL 1425 depends on EXPERIMENTAL
1405 depends on KEXEC && HIBERNATION && X86_32 1426 depends on KEXEC && HIBERNATION && X86_32
1406 help 1427 ---help---
1407 Jump between original kernel and kexeced kernel and invoke 1428 Jump between original kernel and kexeced kernel and invoke
1408 code in physical address mode via KEXEC 1429 code in physical address mode via KEXEC
1409 1430
@@ -1412,7 +1433,7 @@ config PHYSICAL_START
1412 default "0x1000000" if X86_NUMAQ 1433 default "0x1000000" if X86_NUMAQ
1413 default "0x200000" if X86_64 1434 default "0x200000" if X86_64
1414 default "0x100000" 1435 default "0x100000"
1415 help 1436 ---help---
1416 This gives the physical address where the kernel is loaded. 1437 This gives the physical address where the kernel is loaded.
1417 1438
1418 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then 1439 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
@@ -1453,7 +1474,7 @@ config PHYSICAL_START
1453config RELOCATABLE 1474config RELOCATABLE
1454 bool "Build a relocatable kernel (EXPERIMENTAL)" 1475 bool "Build a relocatable kernel (EXPERIMENTAL)"
1455 depends on EXPERIMENTAL 1476 depends on EXPERIMENTAL
1456 help 1477 ---help---
1457 This builds a kernel image that retains relocation information 1478 This builds a kernel image that retains relocation information
1458 so it can be loaded someplace besides the default 1MB. 1479 so it can be loaded someplace besides the default 1MB.
1459 The relocations tend to make the kernel binary about 10% larger, 1480 The relocations tend to make the kernel binary about 10% larger,
@@ -1473,7 +1494,7 @@ config PHYSICAL_ALIGN
1473 default "0x100000" if X86_32 1494 default "0x100000" if X86_32
1474 default "0x200000" if X86_64 1495 default "0x200000" if X86_64
1475 range 0x2000 0x400000 1496 range 0x2000 0x400000
1476 help 1497 ---help---
1477 This value puts the alignment restrictions on physical address 1498 This value puts the alignment restrictions on physical address
1478 where kernel is loaded and run from. Kernel is compiled for an 1499 where kernel is loaded and run from. Kernel is compiled for an
1479 address which meets above alignment restriction. 1500 address which meets above alignment restriction.
@@ -1494,7 +1515,7 @@ config PHYSICAL_ALIGN
1494 1515
1495config HOTPLUG_CPU 1516config HOTPLUG_CPU
1496 bool "Support for hot-pluggable CPUs" 1517 bool "Support for hot-pluggable CPUs"
1497 depends on SMP && HOTPLUG && !X86_VOYAGER 1518 depends on SMP && HOTPLUG
1498 ---help--- 1519 ---help---
1499 Say Y here to allow turning CPUs off and on. CPUs can be 1520 Say Y here to allow turning CPUs off and on. CPUs can be
1500 controlled through /sys/devices/system/cpu. 1521 controlled through /sys/devices/system/cpu.
@@ -1506,7 +1527,7 @@ config COMPAT_VDSO
1506 def_bool y 1527 def_bool y
1507 prompt "Compat VDSO support" 1528 prompt "Compat VDSO support"
1508 depends on X86_32 || IA32_EMULATION 1529 depends on X86_32 || IA32_EMULATION
1509 help 1530 ---help---
1510 Map the 32-bit VDSO to the predictable old-style address too. 1531 Map the 32-bit VDSO to the predictable old-style address too.
1511 ---help--- 1532 ---help---
1512 Say N here if you are running a sufficiently recent glibc 1533 Say N here if you are running a sufficiently recent glibc
@@ -1518,7 +1539,7 @@ config COMPAT_VDSO
1518config CMDLINE_BOOL 1539config CMDLINE_BOOL
1519 bool "Built-in kernel command line" 1540 bool "Built-in kernel command line"
1520 default n 1541 default n
1521 help 1542 ---help---
1522 Allow for specifying boot arguments to the kernel at 1543 Allow for specifying boot arguments to the kernel at
1523 build time. On some systems (e.g. embedded ones), it is 1544 build time. On some systems (e.g. embedded ones), it is
1524 necessary or convenient to provide some or all of the 1545 necessary or convenient to provide some or all of the
@@ -1536,7 +1557,7 @@ config CMDLINE
1536 string "Built-in kernel command string" 1557 string "Built-in kernel command string"
1537 depends on CMDLINE_BOOL 1558 depends on CMDLINE_BOOL
1538 default "" 1559 default ""
1539 help 1560 ---help---
1540 Enter arguments here that should be compiled into the kernel 1561 Enter arguments here that should be compiled into the kernel
1541 image and used at boot time. If the boot loader provides a 1562 image and used at boot time. If the boot loader provides a
1542 command line at boot time, it is appended to this string to 1563 command line at boot time, it is appended to this string to
@@ -1553,7 +1574,7 @@ config CMDLINE_OVERRIDE
1553 bool "Built-in command line overrides boot loader arguments" 1574 bool "Built-in command line overrides boot loader arguments"
1554 default n 1575 default n
1555 depends on CMDLINE_BOOL 1576 depends on CMDLINE_BOOL
1556 help 1577 ---help---
1557 Set this option to 'Y' to have the kernel ignore the boot loader 1578 Set this option to 'Y' to have the kernel ignore the boot loader
1558 command line, and use ONLY the built-in command line. 1579 command line, and use ONLY the built-in command line.
1559 1580
@@ -1575,7 +1596,6 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
1575 depends on NUMA 1596 depends on NUMA
1576 1597
1577menu "Power management and ACPI options" 1598menu "Power management and ACPI options"
1578 depends on !X86_VOYAGER
1579 1599
1580config ARCH_HIBERNATION_HEADER 1600config ARCH_HIBERNATION_HEADER
1581 def_bool y 1601 def_bool y
@@ -1653,7 +1673,7 @@ if APM
1653 1673
1654config APM_IGNORE_USER_SUSPEND 1674config APM_IGNORE_USER_SUSPEND
1655 bool "Ignore USER SUSPEND" 1675 bool "Ignore USER SUSPEND"
1656 help 1676 ---help---
1657 This option will ignore USER SUSPEND requests. On machines with a 1677 This option will ignore USER SUSPEND requests. On machines with a
1658 compliant APM BIOS, you want to say N. However, on the NEC Versa M 1678 compliant APM BIOS, you want to say N. However, on the NEC Versa M
1659 series notebooks, it is necessary to say Y because of a BIOS bug. 1679 series notebooks, it is necessary to say Y because of a BIOS bug.
@@ -1677,7 +1697,7 @@ config APM_DO_ENABLE
1677 1697
1678config APM_CPU_IDLE 1698config APM_CPU_IDLE
1679 bool "Make CPU Idle calls when idle" 1699 bool "Make CPU Idle calls when idle"
1680 help 1700 ---help---
1681 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop. 1701 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
1682 On some machines, this can activate improved power savings, such as 1702 On some machines, this can activate improved power savings, such as
1683 a slowed CPU clock rate, when the machine is idle. These idle calls 1703 a slowed CPU clock rate, when the machine is idle. These idle calls
@@ -1688,7 +1708,7 @@ config APM_CPU_IDLE
1688 1708
1689config APM_DISPLAY_BLANK 1709config APM_DISPLAY_BLANK
1690 bool "Enable console blanking using APM" 1710 bool "Enable console blanking using APM"
1691 help 1711 ---help---
1692 Enable console blanking using the APM. Some laptops can use this to 1712 Enable console blanking using the APM. Some laptops can use this to
1693 turn off the LCD backlight when the screen blanker of the Linux 1713 turn off the LCD backlight when the screen blanker of the Linux
1694 virtual console blanks the screen. Note that this is only used by 1714 virtual console blanks the screen. Note that this is only used by
@@ -1701,7 +1721,7 @@ config APM_DISPLAY_BLANK
1701 1721
1702config APM_ALLOW_INTS 1722config APM_ALLOW_INTS
1703 bool "Allow interrupts during APM BIOS calls" 1723 bool "Allow interrupts during APM BIOS calls"
1704 help 1724 ---help---
1705 Normally we disable external interrupts while we are making calls to 1725 Normally we disable external interrupts while we are making calls to
1706 the APM BIOS as a measure to lessen the effects of a badly behaving 1726 the APM BIOS as a measure to lessen the effects of a badly behaving
1707 BIOS implementation. The BIOS should reenable interrupts if it 1727 BIOS implementation. The BIOS should reenable interrupts if it
@@ -1726,7 +1746,7 @@ config PCI
1726 bool "PCI support" 1746 bool "PCI support"
1727 default y 1747 default y
1728 select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) 1748 select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC)
1729 help 1749 ---help---
1730 Find out whether you have a PCI motherboard. PCI is the name of a 1750 Find out whether you have a PCI motherboard. PCI is the name of a
1731 bus system, i.e. the way the CPU talks to the other stuff inside 1751 bus system, i.e. the way the CPU talks to the other stuff inside
1732 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or 1752 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
@@ -1797,40 +1817,52 @@ config PCI_MMCONFIG
1797config DMAR 1817config DMAR
1798 bool "Support for DMA Remapping Devices (EXPERIMENTAL)" 1818 bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
1799 depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL 1819 depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL
1800 help 1820 ---help---
1801 DMA remapping (DMAR) devices support enables independent address 1821 DMA remapping (DMAR) devices support enables independent address
1802 translations for Direct Memory Access (DMA) from devices. 1822 translations for Direct Memory Access (DMA) from devices.
1803 These DMA remapping devices are reported via ACPI tables 1823 These DMA remapping devices are reported via ACPI tables
1804 and include PCI device scope covered by these DMA 1824 and include PCI device scope covered by these DMA
1805 remapping devices. 1825 remapping devices.
1806 1826
1827config DMAR_DEFAULT_ON
1828 def_bool y
1829 prompt "Enable DMA Remapping Devices by default"
1830 depends on DMAR
1831 help
1832 Selecting this option will enable a DMAR device at boot time if
1833 one is found. If this option is not selected, DMAR support can
1834 be enabled by passing intel_iommu=on to the kernel. It is
1835 recommended you say N here while the DMAR code remains
1836 experimental.
1837
1807config DMAR_GFX_WA 1838config DMAR_GFX_WA
1808 def_bool y 1839 def_bool y
1809 prompt "Support for Graphics workaround" 1840 prompt "Support for Graphics workaround"
1810 depends on DMAR 1841 depends on DMAR
1811 help 1842 ---help---
1812 Current Graphics drivers tend to use physical address 1843 Current Graphics drivers tend to use physical address
1813 for DMA and avoid using DMA APIs. Setting this config 1844 for DMA and avoid using DMA APIs. Setting this config
1814 option permits the IOMMU driver to set a unity map for 1845 option permits the IOMMU driver to set a unity map for
1815 all the OS-visible memory. Hence the driver can continue 1846 all the OS-visible memory. Hence the driver can continue
1816 to use physical addresses for DMA. 1847 to use physical addresses for DMA.
1817 1848
1818config DMAR_FLOPPY_WA 1849config DMAR_FLOPPY_WA
1819 def_bool y 1850 def_bool y
1820 depends on DMAR 1851 depends on DMAR
1821 help 1852 ---help---
1822 Floppy disk drivers are know to bypass DMA API calls 1853 Floppy disk drivers are know to bypass DMA API calls
1823 thereby failing to work when IOMMU is enabled. This 1854 thereby failing to work when IOMMU is enabled. This
1824 workaround will setup a 1:1 mapping for the first 1855 workaround will setup a 1:1 mapping for the first
1825 16M to make floppy (an ISA device) work. 1856 16M to make floppy (an ISA device) work.
1826 1857
1827config INTR_REMAP 1858config INTR_REMAP
1828 bool "Support for Interrupt Remapping (EXPERIMENTAL)" 1859 bool "Support for Interrupt Remapping (EXPERIMENTAL)"
1829 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL 1860 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL
1830 help 1861 select X86_X2APIC
1831 Supports Interrupt remapping for IO-APIC and MSI devices. 1862 ---help---
1832 To use x2apic mode in the CPU's which support x2APIC enhancements or 1863 Supports Interrupt remapping for IO-APIC and MSI devices.
1833 to support platforms with CPU's having > 8 bit APIC ID, say Y. 1864 To use x2apic mode in the CPU's which support x2APIC enhancements or
1865 to support platforms with CPU's having > 8 bit APIC ID, say Y.
1834 1866
1835source "drivers/pci/pcie/Kconfig" 1867source "drivers/pci/pcie/Kconfig"
1836 1868
@@ -1844,8 +1876,7 @@ if X86_32
1844 1876
1845config ISA 1877config ISA
1846 bool "ISA support" 1878 bool "ISA support"
1847 depends on !X86_VOYAGER 1879 ---help---
1848 help
1849 Find out whether you have ISA slots on your motherboard. ISA is the 1880 Find out whether you have ISA slots on your motherboard. ISA is the
1850 name of a bus system, i.e. the way the CPU talks to the other stuff 1881 name of a bus system, i.e. the way the CPU talks to the other stuff
1851 inside your box. Other bus systems are PCI, EISA, MicroChannel 1882 inside your box. Other bus systems are PCI, EISA, MicroChannel
@@ -1871,9 +1902,8 @@ config EISA
1871source "drivers/eisa/Kconfig" 1902source "drivers/eisa/Kconfig"
1872 1903
1873config MCA 1904config MCA
1874 bool "MCA support" if !X86_VOYAGER 1905 bool "MCA support"
1875 default y if X86_VOYAGER 1906 ---help---
1876 help
1877 MicroChannel Architecture is found in some IBM PS/2 machines and 1907 MicroChannel Architecture is found in some IBM PS/2 machines and
1878 laptops. It is a bus system similar to PCI or ISA. See 1908 laptops. It is a bus system similar to PCI or ISA. See
1879 <file:Documentation/mca.txt> (and especially the web page given 1909 <file:Documentation/mca.txt> (and especially the web page given
@@ -1883,8 +1913,7 @@ source "drivers/mca/Kconfig"
1883 1913
1884config SCx200 1914config SCx200
1885 tristate "NatSemi SCx200 support" 1915 tristate "NatSemi SCx200 support"
1886 depends on !X86_VOYAGER 1916 ---help---
1887 help
1888 This provides basic support for National Semiconductor's 1917 This provides basic support for National Semiconductor's
1889 (now AMD's) Geode processors. The driver probes for the 1918 (now AMD's) Geode processors. The driver probes for the
1890 PCI-IDs of several on-chip devices, so its a good dependency 1919 PCI-IDs of several on-chip devices, so its a good dependency
@@ -1896,7 +1925,7 @@ config SCx200HR_TIMER
1896 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" 1925 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
1897 depends on SCx200 && GENERIC_TIME 1926 depends on SCx200 && GENERIC_TIME
1898 default y 1927 default y
1899 help 1928 ---help---
1900 This driver provides a clocksource built upon the on-chip 1929 This driver provides a clocksource built upon the on-chip
1901 27MHz high-resolution timer. Its also a workaround for 1930 27MHz high-resolution timer. Its also a workaround for
1902 NSC Geode SC-1100's buggy TSC, which loses time when the 1931 NSC Geode SC-1100's buggy TSC, which loses time when the
@@ -1907,7 +1936,7 @@ config GEODE_MFGPT_TIMER
1907 def_bool y 1936 def_bool y
1908 prompt "Geode Multi-Function General Purpose Timer (MFGPT) events" 1937 prompt "Geode Multi-Function General Purpose Timer (MFGPT) events"
1909 depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS 1938 depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS
1910 help 1939 ---help---
1911 This driver provides a clock event source based on the MFGPT 1940 This driver provides a clock event source based on the MFGPT
1912 timer(s) in the CS5535 and CS5536 companion chip for the geode. 1941 timer(s) in the CS5535 and CS5536 companion chip for the geode.
1913 MFGPTs have a better resolution and max interval than the 1942 MFGPTs have a better resolution and max interval than the
@@ -1916,7 +1945,7 @@ config GEODE_MFGPT_TIMER
1916config OLPC 1945config OLPC
1917 bool "One Laptop Per Child support" 1946 bool "One Laptop Per Child support"
1918 default n 1947 default n
1919 help 1948 ---help---
1920 Add support for detecting the unique features of the OLPC 1949 Add support for detecting the unique features of the OLPC
1921 XO hardware. 1950 XO hardware.
1922 1951
@@ -1941,16 +1970,16 @@ config IA32_EMULATION
1941 bool "IA32 Emulation" 1970 bool "IA32 Emulation"
1942 depends on X86_64 1971 depends on X86_64
1943 select COMPAT_BINFMT_ELF 1972 select COMPAT_BINFMT_ELF
1944 help 1973 ---help---
1945 Include code to run 32-bit programs under a 64-bit kernel. You should 1974 Include code to run 32-bit programs under a 64-bit kernel. You should
1946 likely turn this on, unless you're 100% sure that you don't have any 1975 likely turn this on, unless you're 100% sure that you don't have any
1947 32-bit programs left. 1976 32-bit programs left.
1948 1977
1949config IA32_AOUT 1978config IA32_AOUT
1950 tristate "IA32 a.out support" 1979 tristate "IA32 a.out support"
1951 depends on IA32_EMULATION 1980 depends on IA32_EMULATION
1952 help 1981 ---help---
1953 Support old a.out binaries in the 32bit emulation. 1982 Support old a.out binaries in the 32bit emulation.
1954 1983
1955config COMPAT 1984config COMPAT
1956 def_bool y 1985 def_bool y