aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig675
1 files changed, 356 insertions, 319 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index bc2fbadff9f..34bc3a89228 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
@@ -165,6 +169,9 @@ config GENERIC_HARDIRQS
165 bool 169 bool
166 default y 170 default y
167 171
172config GENERIC_HARDIRQS_NO__DO_IRQ
173 def_bool y
174
168config GENERIC_IRQ_PROBE 175config GENERIC_IRQ_PROBE
169 bool 176 bool
170 default y 177 default y
@@ -174,11 +181,6 @@ config GENERIC_PENDING_IRQ
174 depends on GENERIC_HARDIRQS && SMP 181 depends on GENERIC_HARDIRQS && SMP
175 default y 182 default y
176 183
177config X86_SMP
178 bool
179 depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
180 default y
181
182config USE_GENERIC_SMP_HELPERS 184config USE_GENERIC_SMP_HELPERS
183 def_bool y 185 def_bool y
184 depends on SMP 186 depends on SMP
@@ -194,19 +196,17 @@ config X86_64_SMP
194config X86_HT 196config X86_HT
195 bool 197 bool
196 depends on SMP 198 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 199 default y
204 200
205config X86_TRAMPOLINE 201config X86_TRAMPOLINE
206 bool 202 bool
207 depends on X86_SMP || (X86_VOYAGER && SMP) || (64BIT && ACPI_SLEEP) 203 depends on SMP || (64BIT && ACPI_SLEEP)
208 default y 204 default y
209 205
206config X86_32_LAZY_GS
207 def_bool y
208 depends on X86_32 && !CC_STACKPROTECTOR
209
210config KTIME_SCALAR 210config KTIME_SCALAR
211 def_bool X86_32 211 def_bool X86_32
212source "init/Kconfig" 212source "init/Kconfig"
@@ -244,14 +244,24 @@ config SMP
244 244
245 If you don't know what to do here, say N. 245 If you don't know what to do here, say N.
246 246
247config X86_HAS_BOOT_CPU_ID 247config X86_X2APIC
248 def_bool y 248 bool "Support x2apic"
249 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.
250 260
251config SPARSE_IRQ 261config SPARSE_IRQ
252 bool "Support sparse irq numbering" 262 bool "Support sparse irq numbering"
253 depends on PCI_MSI || HT_IRQ 263 depends on PCI_MSI || HT_IRQ
254 help 264 ---help---
255 This enables support for sparse irqs. This is useful for distro 265 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 266 kernels that want to define a high CONFIG_NR_CPUS value but still
257 want to have low kernel memory footprint on smaller machines. 267 want to have low kernel memory footprint on smaller machines.
@@ -265,114 +275,140 @@ config NUMA_MIGRATE_IRQ_DESC
265 bool "Move irq desc when changing irq smp_affinity" 275 bool "Move irq desc when changing irq smp_affinity"
266 depends on SPARSE_IRQ && NUMA 276 depends on SPARSE_IRQ && NUMA
267 default n 277 default n
268 help 278 ---help---
269 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.
270 280
271 If you don't know what to do here, say N. 281 If you don't know what to do here, say N.
272 282
273config X86_FIND_SMP_CONFIG
274 def_bool y
275 depends on X86_MPPARSE || X86_VOYAGER
276
277config X86_MPPARSE 283config X86_MPPARSE
278 bool "Enable MPS table" if ACPI 284 bool "Enable MPS table" if ACPI
279 default y 285 default y
280 depends on X86_LOCAL_APIC 286 depends on X86_LOCAL_APIC
281 help 287 ---help---
282 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
283 (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
284 290
285choice 291config X86_BIGSMP
286 prompt "Subarchitecture Type" 292 bool "Support for big SMP systems with more than 8 CPUs"
287 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
288 296
289config X86_PC 297if X86_32
290 bool "PC-compatible" 298config X86_EXTENDED_PLATFORM
291 help 299 bool "Support for extended (non-PC) x86 platforms"
292 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
293 360
294config X86_ELAN 361config X86_ELAN
295 bool "AMD Elan" 362 bool "AMD Elan"
296 depends on X86_32 363 depends on X86_32
297 help 364 depends on X86_EXTENDED_PLATFORM
365 ---help---
298 Select this for an AMD Elan processor. 366 Select this for an AMD Elan processor.
299 367
300 Do not use this option for K6/Athlon/Opteron processors! 368 Do not use this option for K6/Athlon/Opteron processors!
301 369
302 If unsure, choose "PC-compatible" instead. 370 If unsure, choose "PC-compatible" instead.
303 371
304config X86_VOYAGER 372config X86_RDC321X
305 bool "Voyager (NCR)" 373 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 374 depends on X86_32
319 help 375 depends on X86_EXTENDED_PLATFORM
320 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
321 subarchitectures. It is intended for a generic binary kernel. 389 subarchitectures. It is intended for a generic binary kernel.
322 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
323 fallback to default. 391 fallback to default.
324 392
325if X86_GENERICARCH 393# Alphabetically sorted list of Non standard 32 bit platforms
326 394
327config X86_NUMAQ 395config X86_NUMAQ
328 bool "NUMAQ (IBM/Sequent)" 396 bool "NUMAQ (IBM/Sequent)"
329 depends on SMP && X86_32 && PCI && X86_MPPARSE 397 depends on X86_32_NON_STANDARD
330 select NUMA 398 select NUMA
331 help 399 select X86_MPPARSE
400 ---help---
332 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)
333 NUMA multiquad box. This changes the way that processors are 402 NUMA multiquad box. This changes the way that processors are
334 bootstrapped, and uses Clustered Logical APIC addressing mode instead 403 bootstrapped, and uses Clustered Logical APIC addressing mode instead
335 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
336 firmware with - send email to <Martin.Bligh@us.ibm.com>. 405 firmware with - send email to <Martin.Bligh@us.ibm.com>.
337 406
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 407config X86_VISWS
373 bool "SGI 320/540 (Visual Workstation)" 408 bool "SGI 320/540 (Visual Workstation)"
374 depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT 409 depends on X86_32 && PCI && X86_MPPARSE && PCI_GODIRECT
375 help 410 depends on X86_32_NON_STANDARD
411 ---help---
376 The SGI Visual Workstation series is an IA32-based workstation 412 The SGI Visual Workstation series is an IA32-based workstation
377 based on SGI systems chips with some legacy PC hardware attached. 413 based on SGI systems chips with some legacy PC hardware attached.
378 414
@@ -381,21 +417,25 @@ config X86_VISWS
381 A kernel compiled for the Visual Workstation will run on general 417 A kernel compiled for the Visual Workstation will run on general
382 PCs as well. See <file:Documentation/sgi-visws.txt> for details. 418 PCs as well. See <file:Documentation/sgi-visws.txt> for details.
383 419
384config X86_RDC321X 420config X86_SUMMIT
385 bool "RDC R-321x SoC" 421 bool "Summit/EXA (IBM x440)"
386 depends on X86_32 422 depends on X86_32_NON_STANDARD
387 select M486 423 ---help---
388 select X86_REBOOTFIXUPS 424 This option is needed for IBM systems that use the Summit/EXA chipset.
389 help 425 In particular, it is needed for the x440.
390 This option is needed for RDC R-321x system-on-chip, also known 426
391 as R-8610-(G). 427config X86_ES7000
392 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.
393 433
394config SCHED_OMIT_FRAME_POINTER 434config SCHED_OMIT_FRAME_POINTER
395 def_bool y 435 def_bool y
396 prompt "Single-depth WCHAN output" 436 prompt "Single-depth WCHAN output"
397 depends on X86 437 depends on X86
398 help 438 ---help---
399 Calculate simpler /proc/<PID>/wchan values. If this option 439 Calculate simpler /proc/<PID>/wchan values. If this option
400 is disabled then wchan values will recurse back to the 440 is disabled then wchan values will recurse back to the
401 caller function. This provides more accurate wchan values, 441 caller function. This provides more accurate wchan values,
@@ -405,7 +445,7 @@ config SCHED_OMIT_FRAME_POINTER
405 445
406menuconfig PARAVIRT_GUEST 446menuconfig PARAVIRT_GUEST
407 bool "Paravirtualized guest support" 447 bool "Paravirtualized guest support"
408 help 448 ---help---
409 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
410 various hypervisors. This option alone does not add any kernel code. 450 various hypervisors. This option alone does not add any kernel code.
411 451
@@ -419,8 +459,7 @@ config VMI
419 bool "VMI Guest support" 459 bool "VMI Guest support"
420 select PARAVIRT 460 select PARAVIRT
421 depends on X86_32 461 depends on X86_32
422 depends on !X86_VOYAGER 462 ---help---
423 help
424 VMI provides a paravirtualized interface to the VMware ESX server 463 VMI provides a paravirtualized interface to the VMware ESX server
425 (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
426 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
@@ -430,8 +469,7 @@ config KVM_CLOCK
430 bool "KVM paravirtualized clock" 469 bool "KVM paravirtualized clock"
431 select PARAVIRT 470 select PARAVIRT
432 select PARAVIRT_CLOCK 471 select PARAVIRT_CLOCK
433 depends on !X86_VOYAGER 472 ---help---
434 help
435 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
436 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
437 (or probably other) emulation by the underlying device model, the host 475 (or probably other) emulation by the underlying device model, the host
@@ -441,17 +479,15 @@ config KVM_CLOCK
441config KVM_GUEST 479config KVM_GUEST
442 bool "KVM Guest support" 480 bool "KVM Guest support"
443 select PARAVIRT 481 select PARAVIRT
444 depends on !X86_VOYAGER 482 ---help---
445 help 483 This option enables various optimizations for running under the KVM
446 This option enables various optimizations for running under the KVM 484 hypervisor.
447 hypervisor.
448 485
449source "arch/x86/lguest/Kconfig" 486source "arch/x86/lguest/Kconfig"
450 487
451config PARAVIRT 488config PARAVIRT
452 bool "Enable paravirtualization code" 489 bool "Enable paravirtualization code"
453 depends on !X86_VOYAGER 490 ---help---
454 help
455 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
456 under a hypervisor, potentially improving performance significantly 492 under a hypervisor, potentially improving performance significantly
457 over full virtualization. However, when run without a hypervisor 493 over full virtualization. However, when run without a hypervisor
@@ -464,51 +500,51 @@ config PARAVIRT_CLOCK
464endif 500endif
465 501
466config PARAVIRT_DEBUG 502config PARAVIRT_DEBUG
467 bool "paravirt-ops debugging" 503 bool "paravirt-ops debugging"
468 depends on PARAVIRT && DEBUG_KERNEL 504 depends on PARAVIRT && DEBUG_KERNEL
469 help 505 ---help---
470 Enable to debug paravirt_ops internals. Specifically, BUG if 506 Enable to debug paravirt_ops internals. Specifically, BUG if
471 a paravirt_op is missing when it is called. 507 a paravirt_op is missing when it is called.
472 508
473config MEMTEST 509config MEMTEST
474 bool "Memtest" 510 bool "Memtest"
475 help 511 ---help---
476 This option adds a kernel parameter 'memtest', which allows memtest 512 This option adds a kernel parameter 'memtest', which allows memtest
477 to be set. 513 to be set.
478 memtest=0, mean disabled; -- default 514 memtest=0, mean disabled; -- default
479 memtest=1, mean do 1 test pattern; 515 memtest=1, mean do 1 test pattern;
480 ... 516 ...
481 memtest=4, mean do 4 test patterns. 517 memtest=4, mean do 4 test patterns.
482 If you are unsure how to answer this question, answer N. 518 If you are unsure how to answer this question, answer N.
483 519
484config X86_SUMMIT_NUMA 520config X86_SUMMIT_NUMA
485 def_bool y 521 def_bool y
486 depends on X86_32 && NUMA && X86_GENERICARCH 522 depends on X86_32 && NUMA && X86_32_NON_STANDARD
487 523
488config X86_CYCLONE_TIMER 524config X86_CYCLONE_TIMER
489 def_bool y 525 def_bool y
490 depends on X86_GENERICARCH 526 depends on X86_32_NON_STANDARD
491 527
492source "arch/x86/Kconfig.cpu" 528source "arch/x86/Kconfig.cpu"
493 529
494config HPET_TIMER 530config HPET_TIMER
495 def_bool X86_64 531 def_bool X86_64
496 prompt "HPET Timer Support" if X86_32 532 prompt "HPET Timer Support" if X86_32
497 help 533 ---help---
498 Use the IA-PC HPET (High Precision Event Timer) to manage 534 Use the IA-PC HPET (High Precision Event Timer) to manage
499 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
500 present. 536 present.
501 HPET is the next generation timer replacing legacy 8254s. 537 HPET is the next generation timer replacing legacy 8254s.
502 The HPET provides a stable time base on SMP 538 The HPET provides a stable time base on SMP
503 systems, unlike the TSC, but it is more expensive to access, 539 systems, unlike the TSC, but it is more expensive to access,
504 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
505 <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>. 541 <http://www.intel.com/hardwaredesign/hpetspec_1.pdf>.
506 542
507 You can safely choose Y here. However, HPET will only be 543 You can safely choose Y here. However, HPET will only be
508 activated if the platform and the BIOS support this feature. 544 activated if the platform and the BIOS support this feature.
509 Otherwise the 8254 will be used for timing services. 545 Otherwise the 8254 will be used for timing services.
510 546
511 Choose N to continue using the legacy 8254 timer. 547 Choose N to continue using the legacy 8254 timer.
512 548
513config HPET_EMULATE_RTC 549config HPET_EMULATE_RTC
514 def_bool y 550 def_bool y
@@ -519,7 +555,7 @@ config HPET_EMULATE_RTC
519config DMI 555config DMI
520 default y 556 default y
521 bool "Enable DMI scanning" if EMBEDDED 557 bool "Enable DMI scanning" if EMBEDDED
522 help 558 ---help---
523 Enabled scanning of DMI to identify machine quirks. Say Y 559 Enabled scanning of DMI to identify machine quirks. Say Y
524 here unless you have verified that your setup is not 560 here unless you have verified that your setup is not
525 affected by entries in the DMI blacklist. Required by PNP 561 affected by entries in the DMI blacklist. Required by PNP
@@ -531,7 +567,7 @@ config GART_IOMMU
531 select SWIOTLB 567 select SWIOTLB
532 select AGP 568 select AGP
533 depends on X86_64 && PCI 569 depends on X86_64 && PCI
534 help 570 ---help---
535 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
536 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,
537 sound, many IDE/SATA chipsets and some other devices. 573 sound, many IDE/SATA chipsets and some other devices.
@@ -546,7 +582,7 @@ config CALGARY_IOMMU
546 bool "IBM Calgary IOMMU support" 582 bool "IBM Calgary IOMMU support"
547 select SWIOTLB 583 select SWIOTLB
548 depends on X86_64 && PCI && EXPERIMENTAL 584 depends on X86_64 && PCI && EXPERIMENTAL
549 help 585 ---help---
550 Support for hardware IOMMUs in IBM's xSeries x366 and x460 586 Support for hardware IOMMUs in IBM's xSeries x366 and x460
551 systems. Needed to run systems with more than 3GB of memory 587 systems. Needed to run systems with more than 3GB of memory
552 properly with 32-bit PCI devices that do not support DAC 588 properly with 32-bit PCI devices that do not support DAC
@@ -564,7 +600,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
564 def_bool y 600 def_bool y
565 prompt "Should Calgary be enabled by default?" 601 prompt "Should Calgary be enabled by default?"
566 depends on CALGARY_IOMMU 602 depends on CALGARY_IOMMU
567 help 603 ---help---
568 Should Calgary be enabled by default? if you choose 'y', Calgary 604 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 605 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 606 used even if it exists. If you choose 'n' and would like to use
@@ -576,7 +612,7 @@ config AMD_IOMMU
576 select SWIOTLB 612 select SWIOTLB
577 select PCI_MSI 613 select PCI_MSI
578 depends on X86_64 && PCI && ACPI 614 depends on X86_64 && PCI && ACPI
579 help 615 ---help---
580 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
581 your system. An IOMMU is a hardware component which provides 617 your system. An IOMMU is a hardware component which provides
582 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
@@ -591,7 +627,7 @@ config AMD_IOMMU_STATS
591 bool "Export AMD IOMMU statistics to debugfs" 627 bool "Export AMD IOMMU statistics to debugfs"
592 depends on AMD_IOMMU 628 depends on AMD_IOMMU
593 select DEBUG_FS 629 select DEBUG_FS
594 help 630 ---help---
595 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
596 statistics about whats happening in the driver and exports that 632 statistics about whats happening in the driver and exports that
597 information to userspace via debugfs. 633 information to userspace via debugfs.
@@ -600,7 +636,7 @@ config AMD_IOMMU_STATS
600# need this always selected by IOMMU for the VIA workaround 636# need this always selected by IOMMU for the VIA workaround
601config SWIOTLB 637config SWIOTLB
602 def_bool y if X86_64 638 def_bool y if X86_64
603 help 639 ---help---
604 Support for software bounce buffers used on x86-64 systems 640 Support for software bounce buffers used on x86-64 systems
605 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
606 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
@@ -618,7 +654,7 @@ config MAXSMP
618 depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL 654 depends on X86_64 && SMP && DEBUG_KERNEL && EXPERIMENTAL
619 select CPUMASK_OFFSTACK 655 select CPUMASK_OFFSTACK
620 default n 656 default n
621 help 657 ---help---
622 Configure maximum number of CPUS and NUMA Nodes for this architecture. 658 Configure maximum number of CPUS and NUMA Nodes for this architecture.
623 If unsure, say N. 659 If unsure, say N.
624 660
@@ -629,7 +665,7 @@ config NR_CPUS
629 default "4096" if MAXSMP 665 default "4096" if MAXSMP
630 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)
631 default "8" if SMP 667 default "8" if SMP
632 help 668 ---help---
633 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
634 kernel will support. The maximum supported value is 512 and the 670 kernel will support. The maximum supported value is 512 and the
635 minimum value which makes sense is 2. 671 minimum value which makes sense is 2.
@@ -640,7 +676,7 @@ config NR_CPUS
640config SCHED_SMT 676config SCHED_SMT
641 bool "SMT (Hyperthreading) scheduler support" 677 bool "SMT (Hyperthreading) scheduler support"
642 depends on X86_HT 678 depends on X86_HT
643 help 679 ---help---
644 SMT scheduler support improves the CPU scheduler's decision making 680 SMT scheduler support improves the CPU scheduler's decision making
645 when dealing with Intel Pentium 4 chips with HyperThreading at a 681 when dealing with Intel Pentium 4 chips with HyperThreading at a
646 cost of slightly increased overhead in some places. If unsure say 682 cost of slightly increased overhead in some places. If unsure say
@@ -650,7 +686,7 @@ config SCHED_MC
650 def_bool y 686 def_bool y
651 prompt "Multi-core scheduler support" 687 prompt "Multi-core scheduler support"
652 depends on X86_HT 688 depends on X86_HT
653 help 689 ---help---
654 Multi-core scheduler support improves the CPU scheduler's decision 690 Multi-core scheduler support improves the CPU scheduler's decision
655 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
656 increased overhead in some places. If unsure say N here. 692 increased overhead in some places. If unsure say N here.
@@ -659,8 +695,8 @@ source "kernel/Kconfig.preempt"
659 695
660config X86_UP_APIC 696config X86_UP_APIC
661 bool "Local APIC support on uniprocessors" 697 bool "Local APIC support on uniprocessors"
662 depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH) 698 depends on X86_32 && !SMP && !X86_32_NON_STANDARD
663 help 699 ---help---
664 A local APIC (Advanced Programmable Interrupt Controller) is an 700 A local APIC (Advanced Programmable Interrupt Controller) is an
665 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
666 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
@@ -673,7 +709,7 @@ config X86_UP_APIC
673config X86_UP_IOAPIC 709config X86_UP_IOAPIC
674 bool "IO-APIC support on uniprocessors" 710 bool "IO-APIC support on uniprocessors"
675 depends on X86_UP_APIC 711 depends on X86_UP_APIC
676 help 712 ---help---
677 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an 713 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
678 SMP-capable replacement for PC-style interrupt controllers. Most 714 SMP-capable replacement for PC-style interrupt controllers. Most
679 SMP systems and many recent uniprocessor systems have one. 715 SMP systems and many recent uniprocessor systems have one.
@@ -684,11 +720,11 @@ config X86_UP_IOAPIC
684 720
685config X86_LOCAL_APIC 721config X86_LOCAL_APIC
686 def_bool y 722 def_bool y
687 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
688 724
689config X86_IO_APIC 725config X86_IO_APIC
690 def_bool y 726 def_bool y
691 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
692 728
693config X86_VISWS_APIC 729config X86_VISWS_APIC
694 def_bool y 730 def_bool y
@@ -698,7 +734,7 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
698 bool "Reroute for broken boot IRQs" 734 bool "Reroute for broken boot IRQs"
699 default n 735 default n
700 depends on X86_IO_APIC 736 depends on X86_IO_APIC
701 help 737 ---help---
702 This option enables a workaround that fixes a source of 738 This option enables a workaround that fixes a source of
703 spurious interrupts. This is recommended when threaded 739 spurious interrupts. This is recommended when threaded
704 interrupt handling is used on systems where the generation of 740 interrupt handling is used on systems where the generation of
@@ -720,7 +756,6 @@ config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
720 756
721config X86_MCE 757config X86_MCE
722 bool "Machine Check Exception" 758 bool "Machine Check Exception"
723 depends on !X86_VOYAGER
724 ---help--- 759 ---help---
725 Machine Check Exception support allows the processor to notify the 760 Machine Check Exception support allows the processor to notify the
726 kernel if it detects a problem (e.g. overheating, component failure). 761 kernel if it detects a problem (e.g. overheating, component failure).
@@ -739,7 +774,7 @@ config X86_MCE_INTEL
739 def_bool y 774 def_bool y
740 prompt "Intel MCE features" 775 prompt "Intel MCE features"
741 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 776 depends on X86_64 && X86_MCE && X86_LOCAL_APIC
742 help 777 ---help---
743 Additional support for intel specific MCE features such as 778 Additional support for intel specific MCE features such as
744 the thermal monitor. 779 the thermal monitor.
745 780
@@ -747,14 +782,19 @@ config X86_MCE_AMD
747 def_bool y 782 def_bool y
748 prompt "AMD MCE features" 783 prompt "AMD MCE features"
749 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 784 depends on X86_64 && X86_MCE && X86_LOCAL_APIC
750 help 785 ---help---
751 Additional support for AMD specific MCE features such as 786 Additional support for AMD specific MCE features such as
752 the DRAM Error Threshold. 787 the DRAM Error Threshold.
753 788
789config X86_MCE_THRESHOLD
790 depends on X86_MCE_AMD || X86_MCE_INTEL
791 bool
792 default y
793
754config X86_MCE_NONFATAL 794config X86_MCE_NONFATAL
755 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"
756 depends on X86_32 && X86_MCE 796 depends on X86_32 && X86_MCE
757 help 797 ---help---
758 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
759 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.
760 Non-fatal problems automatically get corrected (but still logged). 800 Non-fatal problems automatically get corrected (but still logged).
@@ -767,7 +807,7 @@ config X86_MCE_NONFATAL
767config X86_MCE_P4THERMAL 807config X86_MCE_P4THERMAL
768 bool "check for P4 thermal throttling interrupt." 808 bool "check for P4 thermal throttling interrupt."
769 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) 809 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP)
770 help 810 ---help---
771 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
772 enters thermal throttling. 812 enters thermal throttling.
773 813
@@ -775,11 +815,11 @@ config VM86
775 bool "Enable VM86 support" if EMBEDDED 815 bool "Enable VM86 support" if EMBEDDED
776 default y 816 default y
777 depends on X86_32 817 depends on X86_32
778 help 818 ---help---
779 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
780 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
781 XFree86 to initialize some video cards via BIOS. Disabling this 821 XFree86 to initialize some video cards via BIOS. Disabling this
782 option saves about 6k. 822 option saves about 6k.
783 823
784config TOSHIBA 824config TOSHIBA
785 tristate "Toshiba Laptop support" 825 tristate "Toshiba Laptop support"
@@ -853,33 +893,33 @@ config MICROCODE
853 module will be called microcode. 893 module will be called microcode.
854 894
855config MICROCODE_INTEL 895config MICROCODE_INTEL
856 bool "Intel microcode patch loading support" 896 bool "Intel microcode patch loading support"
857 depends on MICROCODE 897 depends on MICROCODE
858 default MICROCODE 898 default MICROCODE
859 select FW_LOADER 899 select FW_LOADER
860 --help--- 900 ---help---
861 This options enables microcode patch loading support for Intel 901 This options enables microcode patch loading support for Intel
862 processors. 902 processors.
863 903
864 For latest news and information on obtaining all the required 904 For latest news and information on obtaining all the required
865 Intel ingredients for this driver, check: 905 Intel ingredients for this driver, check:
866 <http://www.urbanmyth.org/microcode/>. 906 <http://www.urbanmyth.org/microcode/>.
867 907
868config MICROCODE_AMD 908config MICROCODE_AMD
869 bool "AMD microcode patch loading support" 909 bool "AMD microcode patch loading support"
870 depends on MICROCODE 910 depends on MICROCODE
871 select FW_LOADER 911 select FW_LOADER
872 --help--- 912 ---help---
873 If you select this option, microcode patch loading support for AMD 913 If you select this option, microcode patch loading support for AMD
874 processors will be enabled. 914 processors will be enabled.
875 915
876 config MICROCODE_OLD_INTERFACE 916config MICROCODE_OLD_INTERFACE
877 def_bool y 917 def_bool y
878 depends on MICROCODE 918 depends on MICROCODE
879 919
880config X86_MSR 920config X86_MSR
881 tristate "/dev/cpu/*/msr - Model-specific register support" 921 tristate "/dev/cpu/*/msr - Model-specific register support"
882 help 922 ---help---
883 This device gives privileged processes access to the x86 923 This device gives privileged processes access to the x86
884 Model-Specific Registers (MSRs). It is a character device with 924 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. 925 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
@@ -888,12 +928,18 @@ config X86_MSR
888 928
889config X86_CPUID 929config X86_CPUID
890 tristate "/dev/cpu/*/cpuid - CPU information support" 930 tristate "/dev/cpu/*/cpuid - CPU information support"
891 help 931 ---help---
892 This device gives processes access to the x86 CPUID instruction to 932 This device gives processes access to the x86 CPUID instruction to
893 be executed on a specific processor. It is a character device 933 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 934 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
895 /dev/cpu/31/cpuid. 935 /dev/cpu/31/cpuid.
896 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
897choice 943choice
898 prompt "High Memory Support" 944 prompt "High Memory Support"
899 default HIGHMEM4G if !X86_NUMAQ 945 default HIGHMEM4G if !X86_NUMAQ
@@ -940,7 +986,7 @@ config NOHIGHMEM
940config HIGHMEM4G 986config HIGHMEM4G
941 bool "4GB" 987 bool "4GB"
942 depends on !X86_NUMAQ 988 depends on !X86_NUMAQ
943 help 989 ---help---
944 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
945 gigabytes of physical RAM. 991 gigabytes of physical RAM.
946 992
@@ -948,7 +994,7 @@ config HIGHMEM64G
948 bool "64GB" 994 bool "64GB"
949 depends on !M386 && !M486 995 depends on !M386 && !M486
950 select X86_PAE 996 select X86_PAE
951 help 997 ---help---
952 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
953 gigabytes of physical RAM. 999 gigabytes of physical RAM.
954 1000
@@ -959,7 +1005,7 @@ choice
959 prompt "Memory split" if EMBEDDED 1005 prompt "Memory split" if EMBEDDED
960 default VMSPLIT_3G 1006 default VMSPLIT_3G
961 depends on X86_32 1007 depends on X86_32
962 help 1008 ---help---
963 Select the desired split between kernel and user memory. 1009 Select the desired split between kernel and user memory.
964 1010
965 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
@@ -1005,20 +1051,20 @@ config HIGHMEM
1005config X86_PAE 1051config X86_PAE
1006 bool "PAE (Physical Address Extension) Support" 1052 bool "PAE (Physical Address Extension) Support"
1007 depends on X86_32 && !HIGHMEM4G 1053 depends on X86_32 && !HIGHMEM4G
1008 help 1054 ---help---
1009 PAE is required for NX support, and furthermore enables 1055 PAE is required for NX support, and furthermore enables
1010 larger swapspace support for non-overcommit purposes. It 1056 larger swapspace support for non-overcommit purposes. It
1011 has the cost of more pagetable lookup overhead, and also 1057 has the cost of more pagetable lookup overhead, and also
1012 consumes more pagetable space per process. 1058 consumes more pagetable space per process.
1013 1059
1014config ARCH_PHYS_ADDR_T_64BIT 1060config ARCH_PHYS_ADDR_T_64BIT
1015 def_bool X86_64 || X86_PAE 1061 def_bool X86_64 || X86_PAE
1016 1062
1017config DIRECT_GBPAGES 1063config DIRECT_GBPAGES
1018 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED 1064 bool "Enable 1GB pages for kernel pagetables" if EMBEDDED
1019 default y 1065 default y
1020 depends on X86_64 1066 depends on X86_64
1021 help 1067 ---help---
1022 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
1023 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
1024 reducing TLB pressure. If in doubt, say "Y". 1070 reducing TLB pressure. If in doubt, say "Y".
@@ -1028,9 +1074,8 @@ config NUMA
1028 bool "Numa Memory Allocation and Scheduler Support" 1074 bool "Numa Memory Allocation and Scheduler Support"
1029 depends on SMP 1075 depends on SMP
1030 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)
1031 default n if X86_PC
1032 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) 1077 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
1033 help 1078 ---help---
1034 Enable NUMA (Non Uniform Memory Access) support. 1079 Enable NUMA (Non Uniform Memory Access) support.
1035 1080
1036 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
@@ -1053,19 +1098,19 @@ config K8_NUMA
1053 def_bool y 1098 def_bool y
1054 prompt "Old style AMD Opteron NUMA detection" 1099 prompt "Old style AMD Opteron NUMA detection"
1055 depends on X86_64 && NUMA && PCI 1100 depends on X86_64 && NUMA && PCI
1056 help 1101 ---help---
1057 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
1058 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
1059 method to read the NUMA configuration directly from the builtin 1104 method to read the NUMA configuration directly from the builtin
1060 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
1061 instead, which also takes priority if both are compiled in. 1106 instead, which also takes priority if both are compiled in.
1062 1107
1063config X86_64_ACPI_NUMA 1108config X86_64_ACPI_NUMA
1064 def_bool y 1109 def_bool y
1065 prompt "ACPI NUMA detection" 1110 prompt "ACPI NUMA detection"
1066 depends on X86_64 && NUMA && ACPI && PCI 1111 depends on X86_64 && NUMA && ACPI && PCI
1067 select ACPI_NUMA 1112 select ACPI_NUMA
1068 help 1113 ---help---
1069 Enable ACPI SRAT based node topology detection. 1114 Enable ACPI SRAT based node topology detection.
1070 1115
1071# Some NUMA nodes have memory ranges that span 1116# Some NUMA nodes have memory ranges that span
@@ -1080,24 +1125,24 @@ config NODES_SPAN_OTHER_NODES
1080config NUMA_EMU 1125config NUMA_EMU
1081 bool "NUMA emulation" 1126 bool "NUMA emulation"
1082 depends on X86_64 && NUMA 1127 depends on X86_64 && NUMA
1083 help 1128 ---help---
1084 Enable NUMA emulation. A flat machine will be split 1129 Enable NUMA emulation. A flat machine will be split
1085 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
1086 number of nodes. This is only useful for debugging. 1131 number of nodes. This is only useful for debugging.
1087 1132
1088config NODES_SHIFT 1133config NODES_SHIFT
1089 int "Maximum NUMA Nodes (as a power of 2)" if !MAXSMP 1134 int "Maximum NUMA Nodes (as a power of 2)" if !MAXSMP
1090 range 1 9 if X86_64 1135 range 1 9
1091 default "9" if MAXSMP 1136 default "9" if MAXSMP
1092 default "6" if X86_64 1137 default "6" if X86_64
1093 default "4" if X86_NUMAQ 1138 default "4" if X86_NUMAQ
1094 default "3" 1139 default "3"
1095 depends on NEED_MULTIPLE_NODES 1140 depends on NEED_MULTIPLE_NODES
1096 help 1141 ---help---
1097 Specify the maximum number of NUMA Nodes available on the target 1142 Specify the maximum number of NUMA Nodes available on the target
1098 system. Increases memory reserved to accomodate various tables. 1143 system. Increases memory reserved to accomodate various tables.
1099 1144
1100config HAVE_ARCH_BOOTMEM_NODE 1145config HAVE_ARCH_BOOTMEM
1101 def_bool y 1146 def_bool y
1102 depends on X86_32 && NUMA 1147 depends on X86_32 && NUMA
1103 1148
@@ -1131,7 +1176,7 @@ config ARCH_SPARSEMEM_DEFAULT
1131 1176
1132config ARCH_SPARSEMEM_ENABLE 1177config ARCH_SPARSEMEM_ENABLE
1133 def_bool y 1178 def_bool y
1134 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH 1179 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_32) || X86_32_NON_STANDARD
1135 select SPARSEMEM_STATIC if X86_32 1180 select SPARSEMEM_STATIC if X86_32
1136 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 1181 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
1137 1182
@@ -1148,61 +1193,61 @@ source "mm/Kconfig"
1148config HIGHPTE 1193config HIGHPTE
1149 bool "Allocate 3rd-level pagetables from highmem" 1194 bool "Allocate 3rd-level pagetables from highmem"
1150 depends on X86_32 && (HIGHMEM4G || HIGHMEM64G) 1195 depends on X86_32 && (HIGHMEM4G || HIGHMEM64G)
1151 help 1196 ---help---
1152 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.
1153 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
1154 low memory. Setting this option will put user-space page table 1199 low memory. Setting this option will put user-space page table
1155 entries in high memory. 1200 entries in high memory.
1156 1201
1157config X86_CHECK_BIOS_CORRUPTION 1202config X86_CHECK_BIOS_CORRUPTION
1158 bool "Check for low memory corruption" 1203 bool "Check for low memory corruption"
1159 help 1204 ---help---
1160 Periodically check for memory corruption in low memory, which 1205 Periodically check for memory corruption in low memory, which
1161 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
1162 configuration, it is disabled at runtime. Enable it by 1207 configuration, it is disabled at runtime. Enable it by
1163 setting "memory_corruption_check=1" on the kernel command 1208 setting "memory_corruption_check=1" on the kernel command
1164 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
1165 seconds; see the memory_corruption_check_size and 1210 seconds; see the memory_corruption_check_size and
1166 memory_corruption_check_period parameters in 1211 memory_corruption_check_period parameters in
1167 Documentation/kernel-parameters.txt to adjust this. 1212 Documentation/kernel-parameters.txt to adjust this.
1168 1213
1169 When enabled with the default parameters, this option has 1214 When enabled with the default parameters, this option has
1170 almost no overhead, as it reserves a relatively small amount 1215 almost no overhead, as it reserves a relatively small amount
1171 of memory and scans it infrequently. It both detects corruption 1216 of memory and scans it infrequently. It both detects corruption
1172 and prevents it from affecting the running system. 1217 and prevents it from affecting the running system.
1173 1218
1174 It is, however, intended as a diagnostic tool; if repeatable 1219 It is, however, intended as a diagnostic tool; if repeatable
1175 BIOS-originated corruption always affects the same memory, 1220 BIOS-originated corruption always affects the same memory,
1176 you can use memmap= to prevent the kernel from using that 1221 you can use memmap= to prevent the kernel from using that
1177 memory. 1222 memory.
1178 1223
1179config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK 1224config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
1180 bool "Set the default setting of memory_corruption_check" 1225 bool "Set the default setting of memory_corruption_check"
1181 depends on X86_CHECK_BIOS_CORRUPTION 1226 depends on X86_CHECK_BIOS_CORRUPTION
1182 default y 1227 default y
1183 help 1228 ---help---
1184 Set whether the default state of memory_corruption_check is 1229 Set whether the default state of memory_corruption_check is
1185 on or off. 1230 on or off.
1186 1231
1187config X86_RESERVE_LOW_64K 1232config X86_RESERVE_LOW_64K
1188 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" 1233 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen"
1189 default y 1234 default y
1190 help 1235 ---help---
1191 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
1192 to potentially corrupt that memory range. A numbers of BIOSes are 1237 to potentially corrupt that memory range. A numbers of BIOSes are
1193 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
1194 be used by the kernel. 1239 be used by the kernel.
1195 1240
1196 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
1197 to get all its memory reservations and usages right. 1242 to get all its memory reservations and usages right.
1198 1243
1199 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
1200 work or there's kernel crashes after certain hardware hotplug 1245 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 1246 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 1247 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical
1203 corruption patterns. 1248 corruption patterns.
1204 1249
1205 Say Y if unsure. 1250 Say Y if unsure.
1206 1251
1207config MATH_EMULATION 1252config MATH_EMULATION
1208 bool 1253 bool
@@ -1268,7 +1313,7 @@ config MTRR_SANITIZER
1268 def_bool y 1313 def_bool y
1269 prompt "MTRR cleanup support" 1314 prompt "MTRR cleanup support"
1270 depends on MTRR 1315 depends on MTRR
1271 help 1316 ---help---
1272 Convert MTRR layout from continuous to discrete, so X drivers can 1317 Convert MTRR layout from continuous to discrete, so X drivers can
1273 add writeback entries. 1318 add writeback entries.
1274 1319
@@ -1283,7 +1328,7 @@ config MTRR_SANITIZER_ENABLE_DEFAULT
1283 range 0 1 1328 range 0 1
1284 default "0" 1329 default "0"
1285 depends on MTRR_SANITIZER 1330 depends on MTRR_SANITIZER
1286 help 1331 ---help---
1287 Enable mtrr cleanup default value 1332 Enable mtrr cleanup default value
1288 1333
1289config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT 1334config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
@@ -1291,7 +1336,7 @@ config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
1291 range 0 7 1336 range 0 7
1292 default "1" 1337 default "1"
1293 depends on MTRR_SANITIZER 1338 depends on MTRR_SANITIZER
1294 help 1339 ---help---
1295 mtrr cleanup spare entries default, it can be changed via 1340 mtrr cleanup spare entries default, it can be changed via
1296 mtrr_spare_reg_nr=N on the kernel command line. 1341 mtrr_spare_reg_nr=N on the kernel command line.
1297 1342
@@ -1299,7 +1344,7 @@ config X86_PAT
1299 bool 1344 bool
1300 prompt "x86 PAT support" 1345 prompt "x86 PAT support"
1301 depends on MTRR 1346 depends on MTRR
1302 help 1347 ---help---
1303 Use PAT attributes to setup page level cache control. 1348 Use PAT attributes to setup page level cache control.
1304 1349
1305 PATs are the modern equivalents of MTRRs and are much more 1350 PATs are the modern equivalents of MTRRs and are much more
@@ -1314,20 +1359,20 @@ config EFI
1314 bool "EFI runtime service support" 1359 bool "EFI runtime service support"
1315 depends on ACPI 1360 depends on ACPI
1316 ---help--- 1361 ---help---
1317 This enables the kernel to use EFI runtime services that are 1362 This enables the kernel to use EFI runtime services that are
1318 available (such as the EFI variable services). 1363 available (such as the EFI variable services).
1319 1364
1320 This option is only useful on systems that have EFI firmware. 1365 This option is only useful on systems that have EFI firmware.
1321 In addition, you should use the latest ELILO loader available 1366 In addition, you should use the latest ELILO loader available
1322 at <http://elilo.sourceforge.net> in order to take advantage 1367 at <http://elilo.sourceforge.net> in order to take advantage
1323 of EFI runtime services. However, even with this option, the 1368 of EFI runtime services. However, even with this option, the
1324 resultant kernel should continue to boot on existing non-EFI 1369 resultant kernel should continue to boot on existing non-EFI
1325 platforms. 1370 platforms.
1326 1371
1327config SECCOMP 1372config SECCOMP
1328 def_bool y 1373 def_bool y
1329 prompt "Enable seccomp to safely compute untrusted bytecode" 1374 prompt "Enable seccomp to safely compute untrusted bytecode"
1330 help 1375 ---help---
1331 This kernel feature is useful for number crunching applications 1376 This kernel feature is useful for number crunching applications
1332 that may need to compute untrusted bytecode during their 1377 that may need to compute untrusted bytecode during their
1333 execution. By using pipes or other transports made available to 1378 execution. By using pipes or other transports made available to
@@ -1340,13 +1385,16 @@ config SECCOMP
1340 1385
1341 If unsure, say Y. Only embedded should say N here. 1386 If unsure, say Y. Only embedded should say N here.
1342 1387
1388config CC_STACKPROTECTOR_ALL
1389 bool
1390
1343config CC_STACKPROTECTOR 1391config CC_STACKPROTECTOR
1344 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)" 1392 bool "Enable -fstack-protector buffer overflow detection (EXPERIMENTAL)"
1345 depends on X86_64 && EXPERIMENTAL && BROKEN 1393 select CC_STACKPROTECTOR_ALL
1346 help 1394 ---help---
1347 This option turns on the -fstack-protector GCC feature. This 1395 This option turns on the -fstack-protector GCC feature. This
1348 feature puts, at the beginning of critical functions, a canary 1396 feature puts, at the beginning of functions, a canary value on
1349 value on the stack just before the return address, and validates 1397 the stack just before the return address, and validates
1350 the value just before actually returning. Stack based buffer 1398 the value just before actually returning. Stack based buffer
1351 overflows (that need to overwrite this return address) now also 1399 overflows (that need to overwrite this return address) now also
1352 overwrite the canary, which gets detected and the attack is then 1400 overwrite the canary, which gets detected and the attack is then
@@ -1354,22 +1402,14 @@ config CC_STACKPROTECTOR
1354 1402
1355 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
1356 gcc with the feature backported. Older versions are automatically 1404 gcc with the feature backported. Older versions are automatically
1357 detected and for those versions, this configuration option is ignored. 1405 detected and for those versions, this configuration option is
1358 1406 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 1407
1367source kernel/Kconfig.hz 1408source kernel/Kconfig.hz
1368 1409
1369config KEXEC 1410config KEXEC
1370 bool "kexec system call" 1411 bool "kexec system call"
1371 depends on X86_BIOS_REBOOT 1412 ---help---
1372 help
1373 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
1374 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
1375 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
@@ -1386,7 +1426,7 @@ config KEXEC
1386config CRASH_DUMP 1426config CRASH_DUMP
1387 bool "kernel crash dumps" 1427 bool "kernel crash dumps"
1388 depends on X86_64 || (X86_32 && HIGHMEM) 1428 depends on X86_64 || (X86_32 && HIGHMEM)
1389 help 1429 ---help---
1390 Generate crash dump after being started by kexec. 1430 Generate crash dump after being started by kexec.
1391 This should be normally only set in special crash dump kernels 1431 This should be normally only set in special crash dump kernels
1392 which are loaded in the main kernel with kexec-tools into 1432 which are loaded in the main kernel with kexec-tools into
@@ -1400,8 +1440,8 @@ config CRASH_DUMP
1400config KEXEC_JUMP 1440config KEXEC_JUMP
1401 bool "kexec jump (EXPERIMENTAL)" 1441 bool "kexec jump (EXPERIMENTAL)"
1402 depends on EXPERIMENTAL 1442 depends on EXPERIMENTAL
1403 depends on KEXEC && HIBERNATION && X86_32 1443 depends on KEXEC && HIBERNATION
1404 help 1444 ---help---
1405 Jump between original kernel and kexeced kernel and invoke 1445 Jump between original kernel and kexeced kernel and invoke
1406 code in physical address mode via KEXEC 1446 code in physical address mode via KEXEC
1407 1447
@@ -1410,7 +1450,7 @@ config PHYSICAL_START
1410 default "0x1000000" if X86_NUMAQ 1450 default "0x1000000" if X86_NUMAQ
1411 default "0x200000" if X86_64 1451 default "0x200000" if X86_64
1412 default "0x100000" 1452 default "0x100000"
1413 help 1453 ---help---
1414 This gives the physical address where the kernel is loaded. 1454 This gives the physical address where the kernel is loaded.
1415 1455
1416 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then 1456 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
@@ -1451,7 +1491,7 @@ config PHYSICAL_START
1451config RELOCATABLE 1491config RELOCATABLE
1452 bool "Build a relocatable kernel (EXPERIMENTAL)" 1492 bool "Build a relocatable kernel (EXPERIMENTAL)"
1453 depends on EXPERIMENTAL 1493 depends on EXPERIMENTAL
1454 help 1494 ---help---
1455 This builds a kernel image that retains relocation information 1495 This builds a kernel image that retains relocation information
1456 so it can be loaded someplace besides the default 1MB. 1496 so it can be loaded someplace besides the default 1MB.
1457 The relocations tend to make the kernel binary about 10% larger, 1497 The relocations tend to make the kernel binary about 10% larger,
@@ -1471,7 +1511,7 @@ config PHYSICAL_ALIGN
1471 default "0x100000" if X86_32 1511 default "0x100000" if X86_32
1472 default "0x200000" if X86_64 1512 default "0x200000" if X86_64
1473 range 0x2000 0x400000 1513 range 0x2000 0x400000
1474 help 1514 ---help---
1475 This value puts the alignment restrictions on physical address 1515 This value puts the alignment restrictions on physical address
1476 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
1477 address which meets above alignment restriction. 1517 address which meets above alignment restriction.
@@ -1492,7 +1532,7 @@ config PHYSICAL_ALIGN
1492 1532
1493config HOTPLUG_CPU 1533config HOTPLUG_CPU
1494 bool "Support for hot-pluggable CPUs" 1534 bool "Support for hot-pluggable CPUs"
1495 depends on SMP && HOTPLUG && !X86_VOYAGER 1535 depends on SMP && HOTPLUG
1496 ---help--- 1536 ---help---
1497 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
1498 controlled through /sys/devices/system/cpu. 1538 controlled through /sys/devices/system/cpu.
@@ -1504,7 +1544,7 @@ config COMPAT_VDSO
1504 def_bool y 1544 def_bool y
1505 prompt "Compat VDSO support" 1545 prompt "Compat VDSO support"
1506 depends on X86_32 || IA32_EMULATION 1546 depends on X86_32 || IA32_EMULATION
1507 help 1547 ---help---
1508 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.
1509 ---help--- 1549 ---help---
1510 Say N here if you are running a sufficiently recent glibc 1550 Say N here if you are running a sufficiently recent glibc
@@ -1516,7 +1556,7 @@ config COMPAT_VDSO
1516config CMDLINE_BOOL 1556config CMDLINE_BOOL
1517 bool "Built-in kernel command line" 1557 bool "Built-in kernel command line"
1518 default n 1558 default n
1519 help 1559 ---help---
1520 Allow for specifying boot arguments to the kernel at 1560 Allow for specifying boot arguments to the kernel at
1521 build time. On some systems (e.g. embedded ones), it is 1561 build time. On some systems (e.g. embedded ones), it is
1522 necessary or convenient to provide some or all of the 1562 necessary or convenient to provide some or all of the
@@ -1534,7 +1574,7 @@ config CMDLINE
1534 string "Built-in kernel command string" 1574 string "Built-in kernel command string"
1535 depends on CMDLINE_BOOL 1575 depends on CMDLINE_BOOL
1536 default "" 1576 default ""
1537 help 1577 ---help---
1538 Enter arguments here that should be compiled into the kernel 1578 Enter arguments here that should be compiled into the kernel
1539 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
1540 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
@@ -1551,7 +1591,7 @@ config CMDLINE_OVERRIDE
1551 bool "Built-in command line overrides boot loader arguments" 1591 bool "Built-in command line overrides boot loader arguments"
1552 default n 1592 default n
1553 depends on CMDLINE_BOOL 1593 depends on CMDLINE_BOOL
1554 help 1594 ---help---
1555 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
1556 command line, and use ONLY the built-in command line. 1596 command line, and use ONLY the built-in command line.
1557 1597
@@ -1573,7 +1613,6 @@ config HAVE_ARCH_EARLY_PFN_TO_NID
1573 depends on NUMA 1613 depends on NUMA
1574 1614
1575menu "Power management and ACPI options" 1615menu "Power management and ACPI options"
1576 depends on !X86_VOYAGER
1577 1616
1578config ARCH_HIBERNATION_HEADER 1617config ARCH_HIBERNATION_HEADER
1579 def_bool y 1618 def_bool y
@@ -1651,7 +1690,7 @@ if APM
1651 1690
1652config APM_IGNORE_USER_SUSPEND 1691config APM_IGNORE_USER_SUSPEND
1653 bool "Ignore USER SUSPEND" 1692 bool "Ignore USER SUSPEND"
1654 help 1693 ---help---
1655 This option will ignore USER SUSPEND requests. On machines with a 1694 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 1695 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. 1696 series notebooks, it is necessary to say Y because of a BIOS bug.
@@ -1675,7 +1714,7 @@ config APM_DO_ENABLE
1675 1714
1676config APM_CPU_IDLE 1715config APM_CPU_IDLE
1677 bool "Make CPU Idle calls when idle" 1716 bool "Make CPU Idle calls when idle"
1678 help 1717 ---help---
1679 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.
1680 On some machines, this can activate improved power savings, such as 1719 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 1720 a slowed CPU clock rate, when the machine is idle. These idle calls
@@ -1686,7 +1725,7 @@ config APM_CPU_IDLE
1686 1725
1687config APM_DISPLAY_BLANK 1726config APM_DISPLAY_BLANK
1688 bool "Enable console blanking using APM" 1727 bool "Enable console blanking using APM"
1689 help 1728 ---help---
1690 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
1691 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
1692 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
@@ -1699,7 +1738,7 @@ config APM_DISPLAY_BLANK
1699 1738
1700config APM_ALLOW_INTS 1739config APM_ALLOW_INTS
1701 bool "Allow interrupts during APM BIOS calls" 1740 bool "Allow interrupts during APM BIOS calls"
1702 help 1741 ---help---
1703 Normally we disable external interrupts while we are making calls to 1742 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 1743 the APM BIOS as a measure to lessen the effects of a badly behaving
1705 BIOS implementation. The BIOS should reenable interrupts if it 1744 BIOS implementation. The BIOS should reenable interrupts if it
@@ -1724,7 +1763,7 @@ config PCI
1724 bool "PCI support" 1763 bool "PCI support"
1725 default y 1764 default y
1726 select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) 1765 select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC)
1727 help 1766 ---help---
1728 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
1729 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
1730 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or 1769 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
@@ -1795,7 +1834,7 @@ config PCI_MMCONFIG
1795config DMAR 1834config DMAR
1796 bool "Support for DMA Remapping Devices (EXPERIMENTAL)" 1835 bool "Support for DMA Remapping Devices (EXPERIMENTAL)"
1797 depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL 1836 depends on X86_64 && PCI_MSI && ACPI && EXPERIMENTAL
1798 help 1837 ---help---
1799 DMA remapping (DMAR) devices support enables independent address 1838 DMA remapping (DMAR) devices support enables independent address
1800 translations for Direct Memory Access (DMA) from devices. 1839 translations for Direct Memory Access (DMA) from devices.
1801 These DMA remapping devices are reported via ACPI tables 1840 These DMA remapping devices are reported via ACPI tables
@@ -1817,29 +1856,30 @@ config DMAR_GFX_WA
1817 def_bool y 1856 def_bool y
1818 prompt "Support for Graphics workaround" 1857 prompt "Support for Graphics workaround"
1819 depends on DMAR 1858 depends on DMAR
1820 help 1859 ---help---
1821 Current Graphics drivers tend to use physical address 1860 Current Graphics drivers tend to use physical address
1822 for DMA and avoid using DMA APIs. Setting this config 1861 for DMA and avoid using DMA APIs. Setting this config
1823 option permits the IOMMU driver to set a unity map for 1862 option permits the IOMMU driver to set a unity map for
1824 all the OS-visible memory. Hence the driver can continue 1863 all the OS-visible memory. Hence the driver can continue
1825 to use physical addresses for DMA. 1864 to use physical addresses for DMA.
1826 1865
1827config DMAR_FLOPPY_WA 1866config DMAR_FLOPPY_WA
1828 def_bool y 1867 def_bool y
1829 depends on DMAR 1868 depends on DMAR
1830 help 1869 ---help---
1831 Floppy disk drivers are know to bypass DMA API calls 1870 Floppy disk drivers are know to bypass DMA API calls
1832 thereby failing to work when IOMMU is enabled. This 1871 thereby failing to work when IOMMU is enabled. This
1833 workaround will setup a 1:1 mapping for the first 1872 workaround will setup a 1:1 mapping for the first
1834 16M to make floppy (an ISA device) work. 1873 16M to make floppy (an ISA device) work.
1835 1874
1836config INTR_REMAP 1875config INTR_REMAP
1837 bool "Support for Interrupt Remapping (EXPERIMENTAL)" 1876 bool "Support for Interrupt Remapping (EXPERIMENTAL)"
1838 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL 1877 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL
1839 help 1878 select X86_X2APIC
1840 Supports Interrupt remapping for IO-APIC and MSI devices. 1879 ---help---
1841 To use x2apic mode in the CPU's which support x2APIC enhancements or 1880 Supports Interrupt remapping for IO-APIC and MSI devices.
1842 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.
1843 1883
1844source "drivers/pci/pcie/Kconfig" 1884source "drivers/pci/pcie/Kconfig"
1845 1885
@@ -1853,8 +1893,7 @@ if X86_32
1853 1893
1854config ISA 1894config ISA
1855 bool "ISA support" 1895 bool "ISA support"
1856 depends on !X86_VOYAGER 1896 ---help---
1857 help
1858 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
1859 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
1860 inside your box. Other bus systems are PCI, EISA, MicroChannel 1899 inside your box. Other bus systems are PCI, EISA, MicroChannel
@@ -1880,9 +1919,8 @@ config EISA
1880source "drivers/eisa/Kconfig" 1919source "drivers/eisa/Kconfig"
1881 1920
1882config MCA 1921config MCA
1883 bool "MCA support" if !X86_VOYAGER 1922 bool "MCA support"
1884 default y if X86_VOYAGER 1923 ---help---
1885 help
1886 MicroChannel Architecture is found in some IBM PS/2 machines and 1924 MicroChannel Architecture is found in some IBM PS/2 machines and
1887 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
1888 <file:Documentation/mca.txt> (and especially the web page given 1926 <file:Documentation/mca.txt> (and especially the web page given
@@ -1892,8 +1930,7 @@ source "drivers/mca/Kconfig"
1892 1930
1893config SCx200 1931config SCx200
1894 tristate "NatSemi SCx200 support" 1932 tristate "NatSemi SCx200 support"
1895 depends on !X86_VOYAGER 1933 ---help---
1896 help
1897 This provides basic support for National Semiconductor's 1934 This provides basic support for National Semiconductor's
1898 (now AMD's) Geode processors. The driver probes for the 1935 (now AMD's) Geode processors. The driver probes for the
1899 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
@@ -1905,7 +1942,7 @@ config SCx200HR_TIMER
1905 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support" 1942 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
1906 depends on SCx200 && GENERIC_TIME 1943 depends on SCx200 && GENERIC_TIME
1907 default y 1944 default y
1908 help 1945 ---help---
1909 This driver provides a clocksource built upon the on-chip 1946 This driver provides a clocksource built upon the on-chip
1910 27MHz high-resolution timer. Its also a workaround for 1947 27MHz high-resolution timer. Its also a workaround for
1911 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
@@ -1916,7 +1953,7 @@ config GEODE_MFGPT_TIMER
1916 def_bool y 1953 def_bool y
1917 prompt "Geode Multi-Function General Purpose Timer (MFGPT) events" 1954 prompt "Geode Multi-Function General Purpose Timer (MFGPT) events"
1918 depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS 1955 depends on MGEODE_LX && GENERIC_TIME && GENERIC_CLOCKEVENTS
1919 help 1956 ---help---
1920 This driver provides a clock event source based on the MFGPT 1957 This driver provides a clock event source based on the MFGPT
1921 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.
1922 MFGPTs have a better resolution and max interval than the 1959 MFGPTs have a better resolution and max interval than the
@@ -1925,7 +1962,7 @@ config GEODE_MFGPT_TIMER
1925config OLPC 1962config OLPC
1926 bool "One Laptop Per Child support" 1963 bool "One Laptop Per Child support"
1927 default n 1964 default n
1928 help 1965 ---help---
1929 Add support for detecting the unique features of the OLPC 1966 Add support for detecting the unique features of the OLPC
1930 XO hardware. 1967 XO hardware.
1931 1968
@@ -1950,16 +1987,16 @@ config IA32_EMULATION
1950 bool "IA32 Emulation" 1987 bool "IA32 Emulation"
1951 depends on X86_64 1988 depends on X86_64
1952 select COMPAT_BINFMT_ELF 1989 select COMPAT_BINFMT_ELF
1953 help 1990 ---help---
1954 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
1955 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
1956 32-bit programs left. 1993 32-bit programs left.
1957 1994
1958config IA32_AOUT 1995config IA32_AOUT
1959 tristate "IA32 a.out support" 1996 tristate "IA32 a.out support"
1960 depends on IA32_EMULATION 1997 depends on IA32_EMULATION
1961 help 1998 ---help---
1962 Support old a.out binaries in the 32bit emulation. 1999 Support old a.out binaries in the 32bit emulation.
1963 2000
1964config COMPAT 2001config COMPAT
1965 def_bool y 2002 def_bool y