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