aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig308
1 files changed, 197 insertions, 111 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 52e18e6d2ba0..3d0f2b6a5a16 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -21,10 +21,17 @@ config X86
21 select HAVE_UNSTABLE_SCHED_CLOCK 21 select HAVE_UNSTABLE_SCHED_CLOCK
22 select HAVE_IDE 22 select HAVE_IDE
23 select HAVE_OPROFILE 23 select HAVE_OPROFILE
24 select HAVE_IOREMAP_PROT
25 select HAVE_GET_USER_PAGES_FAST
24 select HAVE_KPROBES 26 select HAVE_KPROBES
27 select ARCH_WANT_OPTIONAL_GPIOLIB
25 select HAVE_KRETPROBES 28 select HAVE_KRETPROBES
29 select HAVE_DYNAMIC_FTRACE
30 select HAVE_FTRACE
26 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) 31 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
27 select HAVE_ARCH_KGDB if !X86_VOYAGER 32 select HAVE_ARCH_KGDB if !X86_VOYAGER
33 select HAVE_GENERIC_DMA_COHERENT if X86_32
34 select HAVE_EFFICIENT_UNALIGNED_ACCESS
28 35
29config ARCH_DEFCONFIG 36config ARCH_DEFCONFIG
30 string 37 string
@@ -121,7 +128,7 @@ config ARCH_HAS_CACHE_LINE_SIZE
121 def_bool y 128 def_bool y
122 129
123config HAVE_SETUP_PER_CPU_AREA 130config HAVE_SETUP_PER_CPU_AREA
124 def_bool X86_64 || (X86_SMP && !X86_VOYAGER) 131 def_bool X86_64_SMP || (X86_SMP && !X86_VOYAGER)
125 132
126config HAVE_CPUMASK_OF_CPU_MAP 133config HAVE_CPUMASK_OF_CPU_MAP
127 def_bool X86_64_SMP 134 def_bool X86_64_SMP
@@ -168,6 +175,7 @@ config GENERIC_PENDING_IRQ
168config X86_SMP 175config X86_SMP
169 bool 176 bool
170 depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64) 177 depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
178 select USE_GENERIC_SMP_HELPERS
171 default y 179 default y
172 180
173config X86_32_SMP 181config X86_32_SMP
@@ -181,12 +189,12 @@ config X86_64_SMP
181config X86_HT 189config X86_HT
182 bool 190 bool
183 depends on SMP 191 depends on SMP
184 depends on (X86_32 && !(X86_VISWS || X86_VOYAGER)) || X86_64 192 depends on (X86_32 && !X86_VOYAGER) || X86_64
185 default y 193 default y
186 194
187config X86_BIOS_REBOOT 195config X86_BIOS_REBOOT
188 bool 196 bool
189 depends on !X86_VISWS && !X86_VOYAGER 197 depends on !X86_VOYAGER
190 default y 198 default y
191 199
192config X86_TRAMPOLINE 200config X86_TRAMPOLINE
@@ -230,6 +238,26 @@ config SMP
230 238
231 If you don't know what to do here, say N. 239 If you don't know what to do here, say N.
232 240
241config X86_FIND_SMP_CONFIG
242 def_bool y
243 depends on X86_MPPARSE || X86_VOYAGER
244
245if ACPI
246config X86_MPPARSE
247 def_bool y
248 bool "Enable MPS table"
249 depends on X86_LOCAL_APIC
250 help
251 For old smp systems that do not have proper acpi support. Newer systems
252 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
253endif
254
255if !ACPI
256config X86_MPPARSE
257 def_bool y
258 depends on X86_LOCAL_APIC
259endif
260
233choice 261choice
234 prompt "Subarchitecture Type" 262 prompt "Subarchitecture Type"
235 default X86_PC 263 default X86_PC
@@ -251,7 +279,7 @@ config X86_ELAN
251 279
252config X86_VOYAGER 280config X86_VOYAGER
253 bool "Voyager (NCR)" 281 bool "Voyager (NCR)"
254 depends on X86_32 && (SMP || BROKEN) 282 depends on X86_32 && (SMP || BROKEN) && !PCI
255 help 283 help
256 Voyager is an MCA-based 32-way capable SMP architecture proprietary 284 Voyager is an MCA-based 32-way capable SMP architecture proprietary
257 to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based. 285 to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based.
@@ -261,16 +289,27 @@ config X86_VOYAGER
261 If you do not specifically know you have a Voyager based machine, 289 If you do not specifically know you have a Voyager based machine,
262 say N here, otherwise the kernel you build will not be bootable. 290 say N here, otherwise the kernel you build will not be bootable.
263 291
292config X86_GENERICARCH
293 bool "Generic architecture"
294 depends on X86_32
295 help
296 This option compiles in the NUMAQ, Summit, bigsmp, ES7000, default
297 subarchitectures. It is intended for a generic binary kernel.
298 if you select them all, kernel will probe it one by one. and will
299 fallback to default.
300
301if X86_GENERICARCH
302
264config X86_NUMAQ 303config X86_NUMAQ
265 bool "NUMAQ (IBM/Sequent)" 304 bool "NUMAQ (IBM/Sequent)"
266 depends on SMP && X86_32 305 depends on SMP && X86_32 && PCI && X86_MPPARSE
267 select NUMA 306 select NUMA
268 help 307 help
269 This option is used for getting Linux to run on a (IBM/Sequent) NUMA 308 This option is used for getting Linux to run on a NUMAQ (IBM/Sequent)
270 multiquad box. This changes the way that processors are bootstrapped, 309 NUMA multiquad box. This changes the way that processors are
271 and uses Clustered Logical APIC addressing mode instead of Flat Logical. 310 bootstrapped, and uses Clustered Logical APIC addressing mode instead
272 You will need a new lynxer.elf file to flash your firmware with - send 311 of Flat Logical. You will need a new lynxer.elf file to flash your
273 email to <Martin.Bligh@us.ibm.com>. 312 firmware with - send email to <Martin.Bligh@us.ibm.com>.
274 313
275config X86_SUMMIT 314config X86_SUMMIT
276 bool "Summit/EXA (IBM x440)" 315 bool "Summit/EXA (IBM x440)"
@@ -279,72 +318,55 @@ config X86_SUMMIT
279 This option is needed for IBM systems that use the Summit/EXA chipset. 318 This option is needed for IBM systems that use the Summit/EXA chipset.
280 In particular, it is needed for the x440. 319 In particular, it is needed for the x440.
281 320
282 If you don't have one of these computers, you should say N here. 321config X86_ES7000
283 If you want to build a NUMA kernel, you must select ACPI. 322 bool "Support for Unisys ES7000 IA32 series"
323 depends on X86_32 && SMP
324 help
325 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
326 supposed to run on an IA32-based Unisys ES7000 system.
284 327
285config X86_BIGSMP 328config X86_BIGSMP
286 bool "Support for other sub-arch SMP systems with more than 8 CPUs" 329 bool "Support for big SMP systems with more than 8 CPUs"
287 depends on X86_32 && SMP 330 depends on X86_32 && SMP
288 help 331 help
289 This option is needed for the systems that have more than 8 CPUs 332 This option is needed for the systems that have more than 8 CPUs
290 and if the system is not of any sub-arch type above. 333 and if the system is not of any sub-arch type above.
291 334
292 If you don't have such a system, you should say N here. 335endif
336
337config X86_VSMP
338 bool "Support for ScaleMP vSMP"
339 select PARAVIRT
340 depends on X86_64 && PCI
341 help
342 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is
343 supposed to run on these EM64T-based machines. Only choose this option
344 if you have one of these machines.
345
346endchoice
293 347
294config X86_VISWS 348config X86_VISWS
295 bool "SGI 320/540 (Visual Workstation)" 349 bool "SGI 320/540 (Visual Workstation)"
296 depends on X86_32 350 depends on X86_32 && PCI && !X86_VOYAGER && X86_MPPARSE && PCI_GODIRECT
297 help 351 help
298 The SGI Visual Workstation series is an IA32-based workstation 352 The SGI Visual Workstation series is an IA32-based workstation
299 based on SGI systems chips with some legacy PC hardware attached. 353 based on SGI systems chips with some legacy PC hardware attached.
300 354
301 Say Y here to create a kernel to run on the SGI 320 or 540. 355 Say Y here to create a kernel to run on the SGI 320 or 540.
302 356
303 A kernel compiled for the Visual Workstation will not run on PCs 357 A kernel compiled for the Visual Workstation will run on general
304 and vice versa. See <file:Documentation/sgi-visws.txt> for details. 358 PCs as well. See <file:Documentation/sgi-visws.txt> for details.
305
306config X86_GENERICARCH
307 bool "Generic architecture (Summit, bigsmp, ES7000, default)"
308 depends on X86_32
309 help
310 This option compiles in the Summit, bigsmp, ES7000, default subarchitectures.
311 It is intended for a generic binary kernel.
312 If you want a NUMA kernel, select ACPI. We need SRAT for NUMA.
313
314config X86_ES7000
315 bool "Support for Unisys ES7000 IA32 series"
316 depends on X86_32 && SMP
317 help
318 Support for Unisys ES7000 systems. Say 'Y' here if this kernel is
319 supposed to run on an IA32-based Unisys ES7000 system.
320 Only choose this option if you have such a system, otherwise you
321 should say N here.
322 359
323config X86_RDC321X 360config X86_RDC321X
324 bool "RDC R-321x SoC" 361 bool "RDC R-321x SoC"
325 depends on X86_32 362 depends on X86_32
326 select M486 363 select M486
327 select X86_REBOOTFIXUPS 364 select X86_REBOOTFIXUPS
328 select GENERIC_GPIO
329 select LEDS_CLASS
330 select LEDS_GPIO
331 select NEW_LEDS
332 help 365 help
333 This option is needed for RDC R-321x system-on-chip, also known 366 This option is needed for RDC R-321x system-on-chip, also known
334 as R-8610-(G). 367 as R-8610-(G).
335 If you don't have one of these chips, you should say N here. 368 If you don't have one of these chips, you should say N here.
336 369
337config X86_VSMP
338 bool "Support for ScaleMP vSMP"
339 select PARAVIRT
340 depends on X86_64
341 help
342 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is
343 supposed to run on these EM64T-based machines. Only choose this option
344 if you have one of these machines.
345
346endchoice
347
348config SCHED_NO_NO_OMIT_FRAME_POINTER 370config SCHED_NO_NO_OMIT_FRAME_POINTER
349 def_bool y 371 def_bool y
350 prompt "Single-depth WCHAN output" 372 prompt "Single-depth WCHAN output"
@@ -373,7 +395,7 @@ config VMI
373 bool "VMI Guest support" 395 bool "VMI Guest support"
374 select PARAVIRT 396 select PARAVIRT
375 depends on X86_32 397 depends on X86_32
376 depends on !(X86_VISWS || X86_VOYAGER) 398 depends on !X86_VOYAGER
377 help 399 help
378 VMI provides a paravirtualized interface to the VMware ESX server 400 VMI provides a paravirtualized interface to the VMware ESX server
379 (it could be used by other hypervisors in theory too, but is not 401 (it could be used by other hypervisors in theory too, but is not
@@ -383,7 +405,8 @@ config VMI
383config KVM_CLOCK 405config KVM_CLOCK
384 bool "KVM paravirtualized clock" 406 bool "KVM paravirtualized clock"
385 select PARAVIRT 407 select PARAVIRT
386 depends on !(X86_VISWS || X86_VOYAGER) 408 select PARAVIRT_CLOCK
409 depends on !X86_VOYAGER
387 help 410 help
388 Turning on this option will allow you to run a paravirtualized clock 411 Turning on this option will allow you to run a paravirtualized clock
389 when running over the KVM hypervisor. Instead of relying on a PIT 412 when running over the KVM hypervisor. Instead of relying on a PIT
@@ -394,7 +417,7 @@ config KVM_CLOCK
394config KVM_GUEST 417config KVM_GUEST
395 bool "KVM Guest support" 418 bool "KVM Guest support"
396 select PARAVIRT 419 select PARAVIRT
397 depends on !(X86_VISWS || X86_VOYAGER) 420 depends on !X86_VOYAGER
398 help 421 help
399 This option enables various optimizations for running under the KVM 422 This option enables various optimizations for running under the KVM
400 hypervisor. 423 hypervisor.
@@ -403,60 +426,44 @@ source "arch/x86/lguest/Kconfig"
403 426
404config PARAVIRT 427config PARAVIRT
405 bool "Enable paravirtualization code" 428 bool "Enable paravirtualization code"
406 depends on !(X86_VISWS || X86_VOYAGER) 429 depends on !X86_VOYAGER
407 help 430 help
408 This changes the kernel so it can modify itself when it is run 431 This changes the kernel so it can modify itself when it is run
409 under a hypervisor, potentially improving performance significantly 432 under a hypervisor, potentially improving performance significantly
410 over full virtualization. However, when run without a hypervisor 433 over full virtualization. However, when run without a hypervisor
411 the kernel is theoretically slower and slightly larger. 434 the kernel is theoretically slower and slightly larger.
412 435
413endif 436config PARAVIRT_CLOCK
437 bool
438 default n
414 439
415config MEMTEST_BOOTPARAM 440endif
416 bool "Memtest boot parameter"
417 depends on X86_64
418 default y
419 help
420 This option adds a kernel parameter 'memtest', which allows memtest
421 to be disabled at boot. If this option is selected, memtest
422 functionality can be disabled with memtest=0 on the kernel
423 command line. The purpose of this option is to allow a single
424 kernel image to be distributed with memtest built in, but not
425 necessarily enabled.
426 441
427 If you are unsure how to answer this question, answer Y. 442config PARAVIRT_DEBUG
443 bool "paravirt-ops debugging"
444 depends on PARAVIRT && DEBUG_KERNEL
445 help
446 Enable to debug paravirt_ops internals. Specifically, BUG if
447 a paravirt_op is missing when it is called.
428 448
429config MEMTEST_BOOTPARAM_VALUE 449config MEMTEST
430 int "Memtest boot parameter default value (0-4)" 450 bool "Memtest"
431 depends on MEMTEST_BOOTPARAM
432 range 0 4
433 default 0
434 help 451 help
435 This option sets the default value for the kernel parameter 452 This option adds a kernel parameter 'memtest', which allows memtest
436 'memtest', which allows memtest to be disabled at boot. If this 453 to be set.
437 option is set to 0 (zero), the memtest kernel parameter will 454 memtest=0, mean disabled; -- default
438 default to 0, disabling memtest at bootup. If this option is 455 memtest=1, mean do 1 test pattern;
439 set to 4, the memtest kernel parameter will default to 4, 456 ...
440 enabling memtest at bootup, and use that as pattern number. 457 memtest=4, mean do 4 test patterns.
441 458 If you are unsure how to answer this question, answer N.
442 If you are unsure how to answer this question, answer 0.
443
444config ACPI_SRAT
445 def_bool y
446 depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
447 select ACPI_NUMA
448
449config HAVE_ARCH_PARSE_SRAT
450 def_bool y
451 depends on ACPI_SRAT
452 459
453config X86_SUMMIT_NUMA 460config X86_SUMMIT_NUMA
454 def_bool y 461 def_bool y
455 depends on X86_32 && NUMA && (X86_SUMMIT || X86_GENERICARCH) 462 depends on X86_32 && NUMA && X86_GENERICARCH
456 463
457config X86_CYCLONE_TIMER 464config X86_CYCLONE_TIMER
458 def_bool y 465 def_bool y
459 depends on X86_32 && X86_SUMMIT || X86_GENERICARCH 466 depends on X86_GENERICARCH
460 467
461config ES7000_CLUSTERED_APIC 468config ES7000_CLUSTERED_APIC
462 def_bool y 469 def_bool y
@@ -544,6 +551,21 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
544 Calgary anyway, pass 'iommu=calgary' on the kernel command line. 551 Calgary anyway, pass 'iommu=calgary' on the kernel command line.
545 If unsure, say Y. 552 If unsure, say Y.
546 553
554config AMD_IOMMU
555 bool "AMD IOMMU support"
556 select SWIOTLB
557 depends on X86_64 && PCI && ACPI
558 help
559 With this option you can enable support for AMD IOMMU hardware in
560 your system. An IOMMU is a hardware component which provides
561 remapping of DMA memory accesses from devices. With an AMD IOMMU you
562 can isolate the the DMA memory of different devices and protect the
563 system from misbehaving device drivers or hardware.
564
565 You can find out if your system has an AMD IOMMU if you look into
566 your BIOS for an option to enable it or if you have an IVRS ACPI
567 table.
568
547# need this always selected by IOMMU for the VIA workaround 569# need this always selected by IOMMU for the VIA workaround
548config SWIOTLB 570config SWIOTLB
549 bool 571 bool
@@ -555,21 +577,36 @@ config SWIOTLB
555 3 GB of memory. If unsure, say Y. 577 3 GB of memory. If unsure, say Y.
556 578
557config IOMMU_HELPER 579config IOMMU_HELPER
558 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB) 580 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
581config MAXSMP
582 bool "Configure Maximum number of SMP Processors and NUMA Nodes"
583 depends on X86_64 && SMP
584 default n
585 help
586 Configure maximum number of CPUS and NUMA Nodes for this architecture.
587 If unsure, say N.
588
589if MAXSMP
590config NR_CPUS
591 int
592 default "4096"
593endif
559 594
595if !MAXSMP
560config NR_CPUS 596config NR_CPUS
561 int "Maximum number of CPUs (2-255)" 597 int "Maximum number of CPUs (2-4096)"
562 range 2 255 598 range 2 4096
563 depends on SMP 599 depends on SMP
564 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000 600 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
565 default "8" 601 default "8"
566 help 602 help
567 This allows you to specify the maximum number of CPUs which this 603 This allows you to specify the maximum number of CPUs which this
568 kernel will support. The maximum supported value is 255 and the 604 kernel will support. The maximum supported value is 4096 and the
569 minimum value which makes sense is 2. 605 minimum value which makes sense is 2.
570 606
571 This is purely to save memory - each supported CPU adds 607 This is purely to save memory - each supported CPU adds
572 approximately eight kilobytes to the kernel image. 608 approximately eight kilobytes to the kernel image.
609endif
573 610
574config SCHED_SMT 611config SCHED_SMT
575 bool "SMT (Hyperthreading) scheduler support" 612 bool "SMT (Hyperthreading) scheduler support"
@@ -593,7 +630,7 @@ source "kernel/Kconfig.preempt"
593 630
594config X86_UP_APIC 631config X86_UP_APIC
595 bool "Local APIC support on uniprocessors" 632 bool "Local APIC support on uniprocessors"
596 depends on X86_32 && !SMP && !(X86_VISWS || X86_VOYAGER || X86_GENERICARCH) 633 depends on X86_32 && !SMP && !(X86_VOYAGER || X86_GENERICARCH)
597 help 634 help
598 A local APIC (Advanced Programmable Interrupt Controller) is an 635 A local APIC (Advanced Programmable Interrupt Controller) is an
599 integrated interrupt controller in the CPU. If you have a single-CPU 636 integrated interrupt controller in the CPU. If you have a single-CPU
@@ -618,11 +655,11 @@ config X86_UP_IOAPIC
618 655
619config X86_LOCAL_APIC 656config X86_LOCAL_APIC
620 def_bool y 657 def_bool y
621 depends on X86_64 || (X86_32 && (X86_UP_APIC || ((X86_VISWS || SMP) && !X86_VOYAGER) || X86_GENERICARCH)) 658 depends on X86_64 || (X86_32 && (X86_UP_APIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
622 659
623config X86_IO_APIC 660config X86_IO_APIC
624 def_bool y 661 def_bool y
625 depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !(X86_VISWS || X86_VOYAGER)) || X86_GENERICARCH)) 662 depends on X86_64 || (X86_32 && (X86_UP_IOAPIC || (SMP && !X86_VOYAGER) || X86_GENERICARCH))
626 663
627config X86_VISWS_APIC 664config X86_VISWS_APIC
628 def_bool y 665 def_bool y
@@ -676,7 +713,7 @@ config X86_MCE_NONFATAL
676 713
677config X86_MCE_P4THERMAL 714config X86_MCE_P4THERMAL
678 bool "check for P4 thermal throttling interrupt." 715 bool "check for P4 thermal throttling interrupt."
679 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) && !X86_VISWS 716 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP)
680 help 717 help
681 Enabling this feature will cause a message to be printed when the P4 718 Enabling this feature will cause a message to be printed when the P4
682 enters thermal throttling. 719 enters thermal throttling.
@@ -906,9 +943,9 @@ config X86_PAE
906config NUMA 943config NUMA
907 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" 944 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
908 depends on SMP 945 depends on SMP
909 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL) 946 depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
910 default n if X86_PC 947 default n if X86_PC
911 default y if (X86_NUMAQ || X86_SUMMIT) 948 default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
912 help 949 help
913 Enable NUMA (Non Uniform Memory Access) support. 950 Enable NUMA (Non Uniform Memory Access) support.
914 The kernel will try to allocate memory used by a CPU on the 951 The kernel will try to allocate memory used by a CPU on the
@@ -960,13 +997,25 @@ config NUMA_EMU
960 into virtual nodes when booted with "numa=fake=N", where N is the 997 into virtual nodes when booted with "numa=fake=N", where N is the
961 number of nodes. This is only useful for debugging. 998 number of nodes. This is only useful for debugging.
962 999
1000if MAXSMP
1001
1002config NODES_SHIFT
1003 int
1004 default "9"
1005endif
1006
1007if !MAXSMP
963config NODES_SHIFT 1008config NODES_SHIFT
964 int "Max num nodes shift(1-15)" 1009 int "Maximum NUMA Nodes (as a power of 2)"
965 range 1 15 if X86_64 1010 range 1 9 if X86_64
966 default "6" if X86_64 1011 default "6" if X86_64
967 default "4" if X86_NUMAQ 1012 default "4" if X86_NUMAQ
968 default "3" 1013 default "3"
969 depends on NEED_MULTIPLE_NODES 1014 depends on NEED_MULTIPLE_NODES
1015 help
1016 Specify the maximum number of NUMA Nodes available on the target
1017 system. Increases memory reserved to accomodate various tables.
1018endif
970 1019
971config HAVE_ARCH_BOOTMEM_NODE 1020config HAVE_ARCH_BOOTMEM_NODE
972 def_bool y 1021 def_bool y
@@ -1085,6 +1134,37 @@ config MTRR
1085 1134
1086 See <file:Documentation/mtrr.txt> for more information. 1135 See <file:Documentation/mtrr.txt> for more information.
1087 1136
1137config MTRR_SANITIZER
1138 bool
1139 prompt "MTRR cleanup support"
1140 depends on MTRR
1141 help
1142 Convert MTRR layout from continuous to discrete, so X drivers can
1143 add writeback entries.
1144
1145 Can be disabled with disable_mtrr_cleanup on the kernel command line.
1146 The largest mtrr entry size for a continous block can be set with
1147 mtrr_chunk_size.
1148
1149 If unsure, say N.
1150
1151config MTRR_SANITIZER_ENABLE_DEFAULT
1152 int "MTRR cleanup enable value (0-1)"
1153 range 0 1
1154 default "0"
1155 depends on MTRR_SANITIZER
1156 help
1157 Enable mtrr cleanup default value
1158
1159config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
1160 int "MTRR cleanup spare reg num (0-7)"
1161 range 0 7
1162 default "1"
1163 depends on MTRR_SANITIZER
1164 help
1165 mtrr cleanup spare entries default, it can be changed via
1166 mtrr_spare_reg_nr=N on the kernel command line.
1167
1088config X86_PAT 1168config X86_PAT
1089 bool 1169 bool
1090 prompt "x86 PAT support" 1170 prompt "x86 PAT support"
@@ -1185,7 +1265,6 @@ config KEXEC
1185 1265
1186config CRASH_DUMP 1266config CRASH_DUMP
1187 bool "kernel crash dumps (EXPERIMENTAL)" 1267 bool "kernel crash dumps (EXPERIMENTAL)"
1188 depends on EXPERIMENTAL
1189 depends on X86_64 || (X86_32 && HIGHMEM) 1268 depends on X86_64 || (X86_32 && HIGHMEM)
1190 help 1269 help
1191 Generate crash dump after being started by kexec. 1270 Generate crash dump after being started by kexec.
@@ -1198,6 +1277,14 @@ config CRASH_DUMP
1198 (CONFIG_RELOCATABLE=y). 1277 (CONFIG_RELOCATABLE=y).
1199 For more details see Documentation/kdump/kdump.txt 1278 For more details see Documentation/kdump/kdump.txt
1200 1279
1280config KEXEC_JUMP
1281 bool "kexec jump (EXPERIMENTAL)"
1282 depends on EXPERIMENTAL
1283 depends on KEXEC && HIBERNATION && X86_32
1284 help
1285 Jump between original kernel and kexeced kernel and invoke
1286 code in physical address mode via KEXEC
1287
1201config PHYSICAL_START 1288config PHYSICAL_START
1202 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) 1289 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
1203 default "0x1000000" if X86_NUMAQ 1290 default "0x1000000" if X86_NUMAQ
@@ -1334,7 +1421,7 @@ config X86_APM_BOOT
1334 1421
1335menuconfig APM 1422menuconfig APM
1336 tristate "APM (Advanced Power Management) BIOS support" 1423 tristate "APM (Advanced Power Management) BIOS support"
1337 depends on X86_32 && PM_SLEEP && !X86_VISWS 1424 depends on X86_32 && PM_SLEEP
1338 ---help--- 1425 ---help---
1339 APM is a BIOS specification for saving power using several different 1426 APM is a BIOS specification for saving power using several different
1340 techniques. This is mostly useful for battery powered laptops with 1427 techniques. This is mostly useful for battery powered laptops with
@@ -1470,8 +1557,7 @@ endmenu
1470menu "Bus options (PCI etc.)" 1557menu "Bus options (PCI etc.)"
1471 1558
1472config PCI 1559config PCI
1473 bool "PCI support" if !X86_VISWS && !X86_VSMP 1560 bool "PCI support"
1474 depends on !X86_VOYAGER
1475 default y 1561 default y
1476 select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC) 1562 select ARCH_SUPPORTS_MSI if (X86_LOCAL_APIC && X86_IO_APIC)
1477 help 1563 help
@@ -1482,7 +1568,7 @@ config PCI
1482 1568
1483choice 1569choice
1484 prompt "PCI access mode" 1570 prompt "PCI access mode"
1485 depends on X86_32 && PCI && !X86_VISWS 1571 depends on X86_32 && PCI
1486 default PCI_GOANY 1572 default PCI_GOANY
1487 ---help--- 1573 ---help---
1488 On PCI systems, the BIOS can be used to detect the PCI devices and 1574 On PCI systems, the BIOS can be used to detect the PCI devices and
@@ -1519,12 +1605,12 @@ endchoice
1519 1605
1520config PCI_BIOS 1606config PCI_BIOS
1521 def_bool y 1607 def_bool y
1522 depends on X86_32 && !X86_VISWS && PCI && (PCI_GOBIOS || PCI_GOANY) 1608 depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY)
1523 1609
1524# x86-64 doesn't support PCI BIOS access from long mode so always go direct. 1610# x86-64 doesn't support PCI BIOS access from long mode so always go direct.
1525config PCI_DIRECT 1611config PCI_DIRECT
1526 def_bool y 1612 def_bool y
1527 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC) || X86_VISWS) 1613 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC))
1528 1614
1529config PCI_MMCONFIG 1615config PCI_MMCONFIG
1530 def_bool y 1616 def_bool y
@@ -1584,7 +1670,7 @@ if X86_32
1584 1670
1585config ISA 1671config ISA
1586 bool "ISA support" 1672 bool "ISA support"
1587 depends on !(X86_VOYAGER || X86_VISWS) 1673 depends on !X86_VOYAGER
1588 help 1674 help
1589 Find out whether you have ISA slots on your motherboard. ISA is the 1675 Find out whether you have ISA slots on your motherboard. ISA is the
1590 name of a bus system, i.e. the way the CPU talks to the other stuff 1676 name of a bus system, i.e. the way the CPU talks to the other stuff
@@ -1611,7 +1697,7 @@ config EISA
1611source "drivers/eisa/Kconfig" 1697source "drivers/eisa/Kconfig"
1612 1698
1613config MCA 1699config MCA
1614 bool "MCA support" if !(X86_VISWS || X86_VOYAGER) 1700 bool "MCA support" if !X86_VOYAGER
1615 default y if X86_VOYAGER 1701 default y if X86_VOYAGER
1616 help 1702 help
1617 MicroChannel Architecture is found in some IBM PS/2 machines and 1703 MicroChannel Architecture is found in some IBM PS/2 machines and