diff options
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 308 |
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 | ||
29 | config ARCH_DEFCONFIG | 36 | config 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 | ||
123 | config HAVE_SETUP_PER_CPU_AREA | 130 | config 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 | ||
126 | config HAVE_CPUMASK_OF_CPU_MAP | 133 | config 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 | |||
168 | config X86_SMP | 175 | config 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 | ||
173 | config X86_32_SMP | 181 | config X86_32_SMP |
@@ -181,12 +189,12 @@ config X86_64_SMP | |||
181 | config X86_HT | 189 | config 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 | ||
187 | config X86_BIOS_REBOOT | 195 | config 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 | ||
192 | config X86_TRAMPOLINE | 200 | config 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 | ||
241 | config X86_FIND_SMP_CONFIG | ||
242 | def_bool y | ||
243 | depends on X86_MPPARSE || X86_VOYAGER | ||
244 | |||
245 | if ACPI | ||
246 | config 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 | ||
253 | endif | ||
254 | |||
255 | if !ACPI | ||
256 | config X86_MPPARSE | ||
257 | def_bool y | ||
258 | depends on X86_LOCAL_APIC | ||
259 | endif | ||
260 | |||
233 | choice | 261 | choice |
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 | ||
252 | config X86_VOYAGER | 280 | config 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 | ||
292 | config 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 | |||
301 | if X86_GENERICARCH | ||
302 | |||
264 | config X86_NUMAQ | 303 | config 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 | ||
275 | config X86_SUMMIT | 314 | config 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. | 321 | config 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 | ||
285 | config X86_BIGSMP | 328 | config 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. | 335 | endif |
336 | |||
337 | config 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 | |||
346 | endchoice | ||
293 | 347 | ||
294 | config X86_VISWS | 348 | config 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 | |||
306 | config 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 | |||
314 | config 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 | ||
323 | config X86_RDC321X | 360 | config 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 | ||
337 | config 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 | |||
346 | endchoice | ||
347 | |||
348 | config SCHED_NO_NO_OMIT_FRAME_POINTER | 370 | config 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 | |||
383 | config KVM_CLOCK | 405 | config 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 | |||
394 | config KVM_GUEST | 417 | config 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 | ||
404 | config PARAVIRT | 427 | config 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 | ||
413 | endif | 436 | config PARAVIRT_CLOCK |
437 | bool | ||
438 | default n | ||
414 | 439 | ||
415 | config MEMTEST_BOOTPARAM | 440 | endif |
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. | 442 | config 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 | ||
429 | config MEMTEST_BOOTPARAM_VALUE | 449 | config 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 | |||
444 | config ACPI_SRAT | ||
445 | def_bool y | ||
446 | depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH) | ||
447 | select ACPI_NUMA | ||
448 | |||
449 | config HAVE_ARCH_PARSE_SRAT | ||
450 | def_bool y | ||
451 | depends on ACPI_SRAT | ||
452 | 459 | ||
453 | config X86_SUMMIT_NUMA | 460 | config 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 | ||
457 | config X86_CYCLONE_TIMER | 464 | config 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 | ||
461 | config ES7000_CLUSTERED_APIC | 468 | config 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 | ||
554 | config 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 |
548 | config SWIOTLB | 570 | config 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 | ||
557 | config IOMMU_HELPER | 579 | config IOMMU_HELPER |
558 | def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB) | 580 | def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU) |
581 | config 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 | |||
589 | if MAXSMP | ||
590 | config NR_CPUS | ||
591 | int | ||
592 | default "4096" | ||
593 | endif | ||
559 | 594 | ||
595 | if !MAXSMP | ||
560 | config NR_CPUS | 596 | config 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. |
609 | endif | ||
573 | 610 | ||
574 | config SCHED_SMT | 611 | config SCHED_SMT |
575 | bool "SMT (Hyperthreading) scheduler support" | 612 | bool "SMT (Hyperthreading) scheduler support" |
@@ -593,7 +630,7 @@ source "kernel/Kconfig.preempt" | |||
593 | 630 | ||
594 | config X86_UP_APIC | 631 | config 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 | ||
619 | config X86_LOCAL_APIC | 656 | config 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 | ||
623 | config X86_IO_APIC | 660 | config 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 | ||
627 | config X86_VISWS_APIC | 664 | config X86_VISWS_APIC |
628 | def_bool y | 665 | def_bool y |
@@ -676,7 +713,7 @@ config X86_MCE_NONFATAL | |||
676 | 713 | ||
677 | config X86_MCE_P4THERMAL | 714 | config 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 | |||
906 | config NUMA | 943 | config 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 | ||
1000 | if MAXSMP | ||
1001 | |||
1002 | config NODES_SHIFT | ||
1003 | int | ||
1004 | default "9" | ||
1005 | endif | ||
1006 | |||
1007 | if !MAXSMP | ||
963 | config NODES_SHIFT | 1008 | config 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. | ||
1018 | endif | ||
970 | 1019 | ||
971 | config HAVE_ARCH_BOOTMEM_NODE | 1020 | config 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 | ||
1137 | config 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 | |||
1151 | config 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 | |||
1159 | config 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 | |||
1088 | config X86_PAT | 1168 | config X86_PAT |
1089 | bool | 1169 | bool |
1090 | prompt "x86 PAT support" | 1170 | prompt "x86 PAT support" |
@@ -1185,7 +1265,6 @@ config KEXEC | |||
1185 | 1265 | ||
1186 | config CRASH_DUMP | 1266 | config 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 | ||
1280 | config 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 | |||
1201 | config PHYSICAL_START | 1288 | config 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 | ||
1335 | menuconfig APM | 1422 | menuconfig 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 | |||
1470 | menu "Bus options (PCI etc.)" | 1557 | menu "Bus options (PCI etc.)" |
1471 | 1558 | ||
1472 | config PCI | 1559 | config 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 | ||
1483 | choice | 1569 | choice |
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 | ||
1520 | config PCI_BIOS | 1606 | config 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. |
1525 | config PCI_DIRECT | 1611 | config 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 | ||
1529 | config PCI_MMCONFIG | 1615 | config PCI_MMCONFIG |
1530 | def_bool y | 1616 | def_bool y |
@@ -1584,7 +1670,7 @@ if X86_32 | |||
1584 | 1670 | ||
1585 | config ISA | 1671 | config 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 | |||
1611 | source "drivers/eisa/Kconfig" | 1697 | source "drivers/eisa/Kconfig" |
1612 | 1698 | ||
1613 | config MCA | 1699 | config 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 |