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