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