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