aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-06-17 06:52:15 -0400
committerIngo Molnar <mingo@elte.hu>2009-06-17 06:56:49 -0400
commiteadb8a091b27a840de7450f84ecff5ef13476424 (patch)
tree58c3782d40def63baa8167f3d31e3048cb4c7660 /arch/x86/Kconfig
parent73874005cd8800440be4299bd095387fff4b90ac (diff)
parent65795efbd380a832ae508b04dba8f8e53f0b84d9 (diff)
Merge branch 'linus' into tracing/hw-breakpoints
Conflicts: arch/x86/Kconfig arch/x86/kernel/traps.c arch/x86/power/cpu.c arch/x86/power/cpu_32.c kernel/Makefile Semantic conflict: arch/x86/kernel/hw_breakpoint.c Merge reason: Resolve the conflicts, move from put_cpu_no_sched() to put_cpu() in arch/x86/kernel/hw_breakpoint.c. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig113
1 files changed, 83 insertions, 30 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 3033375ed6bc..52421d52f21e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -47,6 +47,12 @@ config X86
47 select HAVE_KERNEL_BZIP2 47 select HAVE_KERNEL_BZIP2
48 select HAVE_KERNEL_LZMA 48 select HAVE_KERNEL_LZMA
49 select HAVE_HW_BREAKPOINT 49 select HAVE_HW_BREAKPOINT
50 select HAVE_ARCH_KMEMCHECK
51
52config OUTPUT_FORMAT
53 string
54 default "elf32-i386" if X86_32
55 default "elf64-x86-64" if X86_64
50 56
51config ARCH_DEFCONFIG 57config ARCH_DEFCONFIG
52 string 58 string
@@ -275,15 +281,9 @@ config SPARSE_IRQ
275 281
276 If you don't know what to do here, say N. 282 If you don't know what to do here, say N.
277 283
278config NUMA_MIGRATE_IRQ_DESC 284config NUMA_IRQ_DESC
279 bool "Move irq desc when changing irq smp_affinity" 285 def_bool y
280 depends on SPARSE_IRQ && NUMA 286 depends on SPARSE_IRQ && NUMA
281 depends on BROKEN
282 default n
283 ---help---
284 This enables moving irq_desc to cpu/node that irq will use handled.
285
286 If you don't know what to do here, say N.
287 287
288config X86_MPPARSE 288config X86_MPPARSE
289 bool "Enable MPS table" if ACPI 289 bool "Enable MPS table" if ACPI
@@ -356,7 +356,7 @@ config X86_UV
356 depends on X86_64 356 depends on X86_64
357 depends on X86_EXTENDED_PLATFORM 357 depends on X86_EXTENDED_PLATFORM
358 depends on NUMA 358 depends on NUMA
359 select X86_X2APIC 359 depends on X86_X2APIC
360 ---help--- 360 ---help---
361 This option is needed in order to support SGI Ultraviolet systems. 361 This option is needed in order to support SGI Ultraviolet systems.
362 If you don't have one of these, you should say N here. 362 If you don't have one of these, you should say N here.
@@ -499,6 +499,19 @@ config PARAVIRT
499 over full virtualization. However, when run without a hypervisor 499 over full virtualization. However, when run without a hypervisor
500 the kernel is theoretically slower and slightly larger. 500 the kernel is theoretically slower and slightly larger.
501 501
502config PARAVIRT_SPINLOCKS
503 bool "Paravirtualization layer for spinlocks"
504 depends on PARAVIRT && SMP && EXPERIMENTAL
505 ---help---
506 Paravirtualized spinlocks allow a pvops backend to replace the
507 spinlock implementation with something virtualization-friendly
508 (for example, block the virtual CPU rather than spinning).
509
510 Unfortunately the downside is an up to 5% performance hit on
511 native kernels, with various workloads.
512
513 If you are unsure how to answer this question, answer N.
514
502config PARAVIRT_CLOCK 515config PARAVIRT_CLOCK
503 bool 516 bool
504 default n 517 default n
@@ -728,6 +741,7 @@ config X86_UP_IOAPIC
728config X86_LOCAL_APIC 741config X86_LOCAL_APIC
729 def_bool y 742 def_bool y
730 depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC 743 depends on X86_64 || SMP || X86_32_NON_STANDARD || X86_UP_APIC
744 select HAVE_PERF_COUNTERS if (!M386 && !M486)
731 745
732config X86_IO_APIC 746config X86_IO_APIC
733 def_bool y 747 def_bool y
@@ -777,10 +791,26 @@ config X86_MCE
777 to disable it. MCE support simply ignores non-MCE processors like 791 to disable it. MCE support simply ignores non-MCE processors like
778 the 386 and 486, so nearly everyone can say Y here. 792 the 386 and 486, so nearly everyone can say Y here.
779 793
794config X86_OLD_MCE
795 depends on X86_32 && X86_MCE
796 bool "Use legacy machine check code (will go away)"
797 default n
798 select X86_ANCIENT_MCE
799 ---help---
800 Use the old i386 machine check code. This is merely intended for
801 testing in a transition period. Try this if you run into any machine
802 check related software problems, but report the problem to
803 linux-kernel. When in doubt say no.
804
805config X86_NEW_MCE
806 depends on X86_MCE
807 bool
808 default y if (!X86_OLD_MCE && X86_32) || X86_64
809
780config X86_MCE_INTEL 810config X86_MCE_INTEL
781 def_bool y 811 def_bool y
782 prompt "Intel MCE features" 812 prompt "Intel MCE features"
783 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 813 depends on X86_NEW_MCE && X86_LOCAL_APIC
784 ---help--- 814 ---help---
785 Additional support for intel specific MCE features such as 815 Additional support for intel specific MCE features such as
786 the thermal monitor. 816 the thermal monitor.
@@ -788,19 +818,36 @@ config X86_MCE_INTEL
788config X86_MCE_AMD 818config X86_MCE_AMD
789 def_bool y 819 def_bool y
790 prompt "AMD MCE features" 820 prompt "AMD MCE features"
791 depends on X86_64 && X86_MCE && X86_LOCAL_APIC 821 depends on X86_NEW_MCE && X86_LOCAL_APIC
792 ---help--- 822 ---help---
793 Additional support for AMD specific MCE features such as 823 Additional support for AMD specific MCE features such as
794 the DRAM Error Threshold. 824 the DRAM Error Threshold.
795 825
826config X86_ANCIENT_MCE
827 def_bool n
828 depends on X86_32
829 prompt "Support for old Pentium 5 / WinChip machine checks"
830 ---help---
831 Include support for machine check handling on old Pentium 5 or WinChip
832 systems. These typically need to be enabled explicitely on the command
833 line.
834
796config X86_MCE_THRESHOLD 835config X86_MCE_THRESHOLD
797 depends on X86_MCE_AMD || X86_MCE_INTEL 836 depends on X86_MCE_AMD || X86_MCE_INTEL
798 bool 837 bool
799 default y 838 default y
800 839
840config X86_MCE_INJECT
841 depends on X86_NEW_MCE
842 tristate "Machine check injector support"
843 ---help---
844 Provide support for injecting machine checks for testing purposes.
845 If you don't know what a machine check is and you don't do kernel
846 QA it is safe to say n.
847
801config X86_MCE_NONFATAL 848config X86_MCE_NONFATAL
802 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" 849 tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4"
803 depends on X86_32 && X86_MCE 850 depends on X86_OLD_MCE
804 ---help--- 851 ---help---
805 Enabling this feature starts a timer that triggers every 5 seconds which 852 Enabling this feature starts a timer that triggers every 5 seconds which
806 will look at the machine check registers to see if anything happened. 853 will look at the machine check registers to see if anything happened.
@@ -813,11 +860,15 @@ config X86_MCE_NONFATAL
813 860
814config X86_MCE_P4THERMAL 861config X86_MCE_P4THERMAL
815 bool "check for P4 thermal throttling interrupt." 862 bool "check for P4 thermal throttling interrupt."
816 depends on X86_32 && X86_MCE && (X86_UP_APIC || SMP) 863 depends on X86_OLD_MCE && X86_MCE && (X86_UP_APIC || SMP)
817 ---help--- 864 ---help---
818 Enabling this feature will cause a message to be printed when the P4 865 Enabling this feature will cause a message to be printed when the P4
819 enters thermal throttling. 866 enters thermal throttling.
820 867
868config X86_THERMAL_VECTOR
869 def_bool y
870 depends on X86_MCE_P4THERMAL || X86_MCE_INTEL
871
821config VM86 872config VM86
822 bool "Enable VM86 support" if EMBEDDED 873 bool "Enable VM86 support" if EMBEDDED
823 default y 874 default y
@@ -1454,9 +1505,7 @@ config KEXEC_JUMP
1454 1505
1455config PHYSICAL_START 1506config PHYSICAL_START
1456 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP) 1507 hex "Physical address where the kernel is loaded" if (EMBEDDED || CRASH_DUMP)
1457 default "0x1000000" if X86_NUMAQ 1508 default "0x1000000"
1458 default "0x200000" if X86_64
1459 default "0x100000"
1460 ---help--- 1509 ---help---
1461 This gives the physical address where the kernel is loaded. 1510 This gives the physical address where the kernel is loaded.
1462 1511
@@ -1475,15 +1524,15 @@ config PHYSICAL_START
1475 to be specifically compiled to run from a specific memory area 1524 to be specifically compiled to run from a specific memory area
1476 (normally a reserved region) and this option comes handy. 1525 (normally a reserved region) and this option comes handy.
1477 1526
1478 So if you are using bzImage for capturing the crash dump, leave 1527 So if you are using bzImage for capturing the crash dump,
1479 the value here unchanged to 0x100000 and set CONFIG_RELOCATABLE=y. 1528 leave the value here unchanged to 0x1000000 and set
1480 Otherwise if you plan to use vmlinux for capturing the crash dump 1529 CONFIG_RELOCATABLE=y. Otherwise if you plan to use vmlinux
1481 change this value to start of the reserved region (Typically 16MB 1530 for capturing the crash dump change this value to start of
1482 0x1000000). In other words, it can be set based on the "X" value as 1531 the reserved region. In other words, it can be set based on
1483 specified in the "crashkernel=YM@XM" command line boot parameter 1532 the "X" value as specified in the "crashkernel=YM@XM"
1484 passed to the panic-ed kernel. Typically this parameter is set as 1533 command line boot parameter passed to the panic-ed
1485 crashkernel=64M@16M. Please take a look at 1534 kernel. Please take a look at Documentation/kdump/kdump.txt
1486 Documentation/kdump/kdump.txt for more details about crash dumps. 1535 for more details about crash dumps.
1487 1536
1488 Usage of bzImage for capturing the crash dump is recommended as 1537 Usage of bzImage for capturing the crash dump is recommended as
1489 one does not have to build two kernels. Same kernel can be used 1538 one does not have to build two kernels. Same kernel can be used
@@ -1496,8 +1545,8 @@ config PHYSICAL_START
1496 Don't change this unless you know what you are doing. 1545 Don't change this unless you know what you are doing.
1497 1546
1498config RELOCATABLE 1547config RELOCATABLE
1499 bool "Build a relocatable kernel (EXPERIMENTAL)" 1548 bool "Build a relocatable kernel"
1500 depends on EXPERIMENTAL 1549 default y
1501 ---help--- 1550 ---help---
1502 This builds a kernel image that retains relocation information 1551 This builds a kernel image that retains relocation information
1503 so it can be loaded someplace besides the default 1MB. 1552 so it can be loaded someplace besides the default 1MB.
@@ -1512,12 +1561,16 @@ config RELOCATABLE
1512 it has been loaded at and the compile time physical address 1561 it has been loaded at and the compile time physical address
1513 (CONFIG_PHYSICAL_START) is ignored. 1562 (CONFIG_PHYSICAL_START) is ignored.
1514 1563
1564# Relocation on x86-32 needs some additional build support
1565config X86_NEED_RELOCS
1566 def_bool y
1567 depends on X86_32 && RELOCATABLE
1568
1515config PHYSICAL_ALIGN 1569config PHYSICAL_ALIGN
1516 hex 1570 hex
1517 prompt "Alignment value to which kernel should be aligned" if X86_32 1571 prompt "Alignment value to which kernel should be aligned" if X86_32
1518 default "0x100000" if X86_32 1572 default "0x1000000"
1519 default "0x200000" if X86_64 1573 range 0x2000 0x1000000
1520 range 0x2000 0x400000
1521 ---help--- 1574 ---help---
1522 This value puts the alignment restrictions on physical address 1575 This value puts the alignment restrictions on physical address
1523 where kernel is loaded and run from. Kernel is compiled for an 1576 where kernel is loaded and run from. Kernel is compiled for an