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