aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig207
1 files changed, 160 insertions, 47 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ed92864d1325..bd3c2c53873e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -18,6 +18,7 @@ config X86_64
18### Arch settings 18### Arch settings
19config X86 19config X86
20 def_bool y 20 def_bool y
21 select HAVE_AOUT if X86_32
21 select HAVE_UNSTABLE_SCHED_CLOCK 22 select HAVE_UNSTABLE_SCHED_CLOCK
22 select HAVE_IDE 23 select HAVE_IDE
23 select HAVE_OPROFILE 24 select HAVE_OPROFILE
@@ -29,6 +30,7 @@ config X86
29 select HAVE_FTRACE 30 select HAVE_FTRACE
30 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)
31 select HAVE_ARCH_KGDB if !X86_VOYAGER 32 select HAVE_ARCH_KGDB if !X86_VOYAGER
33 select HAVE_ARCH_TRACEHOOK
32 select HAVE_GENERIC_DMA_COHERENT if X86_32 34 select HAVE_GENERIC_DMA_COHERENT if X86_32
33 select HAVE_EFFICIENT_UNALIGNED_ACCESS 35 select HAVE_EFFICIENT_UNALIGNED_ACCESS
34 36
@@ -37,10 +39,6 @@ config ARCH_DEFCONFIG
37 default "arch/x86/configs/i386_defconfig" if X86_32 39 default "arch/x86/configs/i386_defconfig" if X86_32
38 default "arch/x86/configs/x86_64_defconfig" if X86_64 40 default "arch/x86/configs/x86_64_defconfig" if X86_64
39 41
40
41config GENERIC_LOCKBREAK
42 def_bool n
43
44config GENERIC_TIME 42config GENERIC_TIME
45 def_bool y 43 def_bool y
46 44
@@ -93,7 +91,7 @@ config GENERIC_HWEIGHT
93 def_bool y 91 def_bool y
94 92
95config GENERIC_GPIO 93config GENERIC_GPIO
96 def_bool n 94 bool
97 95
98config ARCH_MAY_HAVE_PC_FDC 96config ARCH_MAY_HAVE_PC_FDC
99 def_bool y 97 def_bool y
@@ -104,12 +102,6 @@ config RWSEM_GENERIC_SPINLOCK
104config RWSEM_XCHGADD_ALGORITHM 102config RWSEM_XCHGADD_ALGORITHM
105 def_bool X86_XADD 103 def_bool X86_XADD
106 104
107config ARCH_HAS_ILOG2_U32
108 def_bool n
109
110config ARCH_HAS_ILOG2_U64
111 def_bool n
112
113config ARCH_HAS_CPU_IDLE_WAIT 105config ARCH_HAS_CPU_IDLE_WAIT
114 def_bool y 106 def_bool y
115 107
@@ -151,9 +143,6 @@ config AUDIT_ARCH
151 bool 143 bool
152 default X86_64 144 default X86_64
153 145
154config ARCH_SUPPORTS_AOUT
155 def_bool y
156
157config ARCH_SUPPORTS_OPTIMIZED_INLINING 146config ARCH_SUPPORTS_OPTIMIZED_INLINING
158 def_bool y 147 def_bool y
159 148
@@ -553,6 +542,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
553config AMD_IOMMU 542config AMD_IOMMU
554 bool "AMD IOMMU support" 543 bool "AMD IOMMU support"
555 select SWIOTLB 544 select SWIOTLB
545 select PCI_MSI
556 depends on X86_64 && PCI && ACPI 546 depends on X86_64 && PCI && ACPI
557 help 547 help
558 With this option you can enable support for AMD IOMMU hardware in 548 With this option you can enable support for AMD IOMMU hardware in
@@ -758,9 +748,8 @@ config I8K
758 Say N otherwise. 748 Say N otherwise.
759 749
760config X86_REBOOTFIXUPS 750config X86_REBOOTFIXUPS
761 def_bool n 751 bool "Enable X86 board specific fixups for reboot"
762 prompt "Enable X86 board specific fixups for reboot" 752 depends on X86_32
763 depends on X86_32 && X86
764 ---help--- 753 ---help---
765 This enables chipset and/or board specific fixups to be done 754 This enables chipset and/or board specific fixups to be done
766 in order to get reboot to work correctly. This is only needed on 755 in order to get reboot to work correctly. This is only needed on
@@ -776,23 +765,45 @@ config X86_REBOOTFIXUPS
776 Say N otherwise. 765 Say N otherwise.
777 766
778config MICROCODE 767config MICROCODE
779 tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support" 768 tristate "/dev/cpu/microcode - microcode support"
780 select FW_LOADER 769 select FW_LOADER
781 ---help--- 770 ---help---
782 If you say Y here, you will be able to update the microcode on 771 If you say Y here, you will be able to update the microcode on
783 Intel processors in the IA32 family, e.g. Pentium Pro, Pentium II, 772 certain Intel and AMD processors. The Intel support is for the
784 Pentium III, Pentium 4, Xeon etc. You will obviously need the 773 IA32 family, e.g. Pentium Pro, Pentium II, Pentium III,
785 actual microcode binary data itself which is not shipped with the 774 Pentium 4, Xeon etc. The AMD support is for family 0x10 and
786 Linux kernel. 775 0x11 processors, e.g. Opteron, Phenom and Turion 64 Ultra.
776 You will obviously need the actual microcode binary data itself
777 which is not shipped with the Linux kernel.
787 778
788 For latest news and information on obtaining all the required 779 This option selects the general module only, you need to select
789 ingredients for this driver, check: 780 at least one vendor specific module as well.
790 <http://www.urbanmyth.org/microcode/>.
791 781
792 To compile this driver as a module, choose M here: the 782 To compile this driver as a module, choose M here: the
793 module will be called microcode. 783 module will be called microcode.
794 784
795config MICROCODE_OLD_INTERFACE 785config MICROCODE_INTEL
786 bool "Intel microcode patch loading support"
787 depends on MICROCODE
788 default MICROCODE
789 select FW_LOADER
790 --help---
791 This options enables microcode patch loading support for Intel
792 processors.
793
794 For latest news and information on obtaining all the required
795 Intel ingredients for this driver, check:
796 <http://www.urbanmyth.org/microcode/>.
797
798config MICROCODE_AMD
799 bool "AMD microcode patch loading support"
800 depends on MICROCODE
801 select FW_LOADER
802 --help---
803 If you select this option, microcode patch loading support for AMD
804 processors will be enabled.
805
806 config MICROCODE_OLD_INTERFACE
796 def_bool y 807 def_bool y
797 depends on MICROCODE 808 depends on MICROCODE
798 809
@@ -922,16 +933,17 @@ config HIGHMEM
922 depends on X86_32 && (HIGHMEM64G || HIGHMEM4G) 933 depends on X86_32 && (HIGHMEM64G || HIGHMEM4G)
923 934
924config X86_PAE 935config X86_PAE
925 def_bool n 936 bool "PAE (Physical Address Extension) Support"
926 prompt "PAE (Physical Address Extension) Support"
927 depends on X86_32 && !HIGHMEM4G 937 depends on X86_32 && !HIGHMEM4G
928 select RESOURCES_64BIT
929 help 938 help
930 PAE is required for NX support, and furthermore enables 939 PAE is required for NX support, and furthermore enables
931 larger swapspace support for non-overcommit purposes. It 940 larger swapspace support for non-overcommit purposes. It
932 has the cost of more pagetable lookup overhead, and also 941 has the cost of more pagetable lookup overhead, and also
933 consumes more pagetable space per process. 942 consumes more pagetable space per process.
934 943
944config ARCH_PHYS_ADDR_T_64BIT
945 def_bool X86_64 || X86_PAE
946
935# Common NUMA Features 947# Common NUMA Features
936config NUMA 948config NUMA
937 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" 949 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
@@ -1020,7 +1032,7 @@ config HAVE_ARCH_ALLOC_REMAP
1020 1032
1021config ARCH_FLATMEM_ENABLE 1033config ARCH_FLATMEM_ENABLE
1022 def_bool y 1034 def_bool y
1023 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA 1035 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA
1024 1036
1025config ARCH_DISCONTIGMEM_ENABLE 1037config ARCH_DISCONTIGMEM_ENABLE
1026 def_bool y 1038 def_bool y
@@ -1036,7 +1048,7 @@ config ARCH_SPARSEMEM_DEFAULT
1036 1048
1037config ARCH_SPARSEMEM_ENABLE 1049config ARCH_SPARSEMEM_ENABLE
1038 def_bool y 1050 def_bool y
1039 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) 1051 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH
1040 select SPARSEMEM_STATIC if X86_32 1052 select SPARSEMEM_STATIC if X86_32
1041 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 1053 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
1042 1054
@@ -1059,6 +1071,56 @@ config HIGHPTE
1059 low memory. Setting this option will put user-space page table 1071 low memory. Setting this option will put user-space page table
1060 entries in high memory. 1072 entries in high memory.
1061 1073
1074config X86_CHECK_BIOS_CORRUPTION
1075 bool "Check for low memory corruption"
1076 help
1077 Periodically check for memory corruption in low memory, which
1078 is suspected to be caused by BIOS. Even when enabled in the
1079 configuration, it is disabled at runtime. Enable it by
1080 setting "memory_corruption_check=1" on the kernel command
1081 line. By default it scans the low 64k of memory every 60
1082 seconds; see the memory_corruption_check_size and
1083 memory_corruption_check_period parameters in
1084 Documentation/kernel-parameters.txt to adjust this.
1085
1086 When enabled with the default parameters, this option has
1087 almost no overhead, as it reserves a relatively small amount
1088 of memory and scans it infrequently. It both detects corruption
1089 and prevents it from affecting the running system.
1090
1091 It is, however, intended as a diagnostic tool; if repeatable
1092 BIOS-originated corruption always affects the same memory,
1093 you can use memmap= to prevent the kernel from using that
1094 memory.
1095
1096config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
1097 bool "Set the default setting of memory_corruption_check"
1098 depends on X86_CHECK_BIOS_CORRUPTION
1099 default y
1100 help
1101 Set whether the default state of memory_corruption_check is
1102 on or off.
1103
1104config X86_RESERVE_LOW_64K
1105 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen"
1106 default y
1107 help
1108 Reserve the first 64K of physical RAM on BIOSes that are known
1109 to potentially corrupt that memory range. A numbers of BIOSes are
1110 known to utilize this area during suspend/resume, so it must not
1111 be used by the kernel.
1112
1113 Set this to N if you are absolutely sure that you trust the BIOS
1114 to get all its memory reservations and usages right.
1115
1116 If you have doubts about the BIOS (e.g. suspend/resume does not
1117 work or there's kernel crashes after certain hardware hotplug
1118 events) and it's not AMI or Phoenix, then you might want to enable
1119 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical
1120 corruption patterns.
1121
1122 Say Y if unsure.
1123
1062config MATH_EMULATION 1124config MATH_EMULATION
1063 bool 1125 bool
1064 prompt "Math emulation" if X86_32 1126 prompt "Math emulation" if X86_32
@@ -1117,10 +1179,10 @@ config MTRR
1117 You can safely say Y even if your machine doesn't have MTRRs, you'll 1179 You can safely say Y even if your machine doesn't have MTRRs, you'll
1118 just add about 9 KB to your kernel. 1180 just add about 9 KB to your kernel.
1119 1181
1120 See <file:Documentation/mtrr.txt> for more information. 1182 See <file:Documentation/x86/mtrr.txt> for more information.
1121 1183
1122config MTRR_SANITIZER 1184config MTRR_SANITIZER
1123 bool 1185 def_bool y
1124 prompt "MTRR cleanup support" 1186 prompt "MTRR cleanup support"
1125 depends on MTRR 1187 depends on MTRR
1126 help 1188 help
@@ -1131,7 +1193,7 @@ config MTRR_SANITIZER
1131 The largest mtrr entry size for a continous block can be set with 1193 The largest mtrr entry size for a continous block can be set with
1132 mtrr_chunk_size. 1194 mtrr_chunk_size.
1133 1195
1134 If unsure, say N. 1196 If unsure, say Y.
1135 1197
1136config MTRR_SANITIZER_ENABLE_DEFAULT 1198config MTRR_SANITIZER_ENABLE_DEFAULT
1137 int "MTRR cleanup enable value (0-1)" 1199 int "MTRR cleanup enable value (0-1)"
@@ -1166,8 +1228,7 @@ config X86_PAT
1166 If unsure, say Y. 1228 If unsure, say Y.
1167 1229
1168config EFI 1230config EFI
1169 def_bool n 1231 bool "EFI runtime service support"
1170 prompt "EFI runtime service support"
1171 depends on ACPI 1232 depends on ACPI
1172 ---help--- 1233 ---help---
1173 This enables the kernel to use EFI runtime services that are 1234 This enables the kernel to use EFI runtime services that are
@@ -1191,7 +1252,6 @@ config IRQBALANCE
1191config SECCOMP 1252config SECCOMP
1192 def_bool y 1253 def_bool y
1193 prompt "Enable seccomp to safely compute untrusted bytecode" 1254 prompt "Enable seccomp to safely compute untrusted bytecode"
1194 depends on PROC_FS
1195 help 1255 help
1196 This kernel feature is useful for number crunching applications 1256 This kernel feature is useful for number crunching applications
1197 that may need to compute untrusted bytecode during their 1257 that may need to compute untrusted bytecode during their
@@ -1199,7 +1259,7 @@ config SECCOMP
1199 the process as file descriptors supporting the read/write 1259 the process as file descriptors supporting the read/write
1200 syscalls, it's possible to isolate those applications in 1260 syscalls, it's possible to isolate those applications in
1201 their own address space using seccomp. Once seccomp is 1261 their own address space using seccomp. Once seccomp is
1202 enabled via /proc/<pid>/seccomp, it cannot be disabled 1262 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
1203 and the task is only allowed to execute a few safe syscalls 1263 and the task is only allowed to execute a few safe syscalls
1204 defined by each seccomp mode. 1264 defined by each seccomp mode.
1205 1265
@@ -1356,14 +1416,14 @@ config PHYSICAL_ALIGN
1356 Don't change this unless you know what you are doing. 1416 Don't change this unless you know what you are doing.
1357 1417
1358config HOTPLUG_CPU 1418config HOTPLUG_CPU
1359 bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)" 1419 bool "Support for hot-pluggable CPUs"
1360 depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER 1420 depends on SMP && HOTPLUG && !X86_VOYAGER
1361 ---help--- 1421 ---help---
1362 Say Y here to experiment with turning CPUs off and on, and to 1422 Say Y here to allow turning CPUs off and on. CPUs can be
1363 enable suspend on SMP systems. CPUs can be controlled through 1423 controlled through /sys/devices/system/cpu.
1364 /sys/devices/system/cpu. 1424 ( Note: power management support will enable this option
1365 Say N if you want to disable CPU hotplug and don't need to 1425 automatically on SMP systems. )
1366 suspend. 1426 Say N if you want to disable CPU hotplug.
1367 1427
1368config COMPAT_VDSO 1428config COMPAT_VDSO
1369 def_bool y 1429 def_bool y
@@ -1378,6 +1438,51 @@ config COMPAT_VDSO
1378 1438
1379 If unsure, say Y. 1439 If unsure, say Y.
1380 1440
1441config CMDLINE_BOOL
1442 bool "Built-in kernel command line"
1443 default n
1444 help
1445 Allow for specifying boot arguments to the kernel at
1446 build time. On some systems (e.g. embedded ones), it is
1447 necessary or convenient to provide some or all of the
1448 kernel boot arguments with the kernel itself (that is,
1449 to not rely on the boot loader to provide them.)
1450
1451 To compile command line arguments into the kernel,
1452 set this option to 'Y', then fill in the
1453 the boot arguments in CONFIG_CMDLINE.
1454
1455 Systems with fully functional boot loaders (i.e. non-embedded)
1456 should leave this option set to 'N'.
1457
1458config CMDLINE
1459 string "Built-in kernel command string"
1460 depends on CMDLINE_BOOL
1461 default ""
1462 help
1463 Enter arguments here that should be compiled into the kernel
1464 image and used at boot time. If the boot loader provides a
1465 command line at boot time, it is appended to this string to
1466 form the full kernel command line, when the system boots.
1467
1468 However, you can use the CONFIG_CMDLINE_OVERRIDE option to
1469 change this behavior.
1470
1471 In most cases, the command line (whether built-in or provided
1472 by the boot loader) should specify the device for the root
1473 file system.
1474
1475config CMDLINE_OVERRIDE
1476 bool "Built-in command line overrides boot loader arguments"
1477 default n
1478 depends on CMDLINE_BOOL
1479 help
1480 Set this option to 'Y' to have the kernel ignore the boot loader
1481 command line, and use ONLY the built-in command line.
1482
1483 This is used to work around broken boot loaders. This should
1484 be set to 'N' under normal conditions.
1485
1381endmenu 1486endmenu
1382 1487
1383config ARCH_ENABLE_MEMORY_HOTPLUG 1488config ARCH_ENABLE_MEMORY_HOTPLUG
@@ -1643,6 +1748,14 @@ config DMAR_FLOPPY_WA
1643 workaround will setup a 1:1 mapping for the first 1748 workaround will setup a 1:1 mapping for the first
1644 16M to make floppy (an ISA device) work. 1749 16M to make floppy (an ISA device) work.
1645 1750
1751config INTR_REMAP
1752 bool "Support for Interrupt Remapping (EXPERIMENTAL)"
1753 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL
1754 help
1755 Supports Interrupt remapping for IO-APIC and MSI devices.
1756 To use x2apic mode in the CPU's which support x2APIC enhancements or
1757 to support platforms with CPU's having > 8 bit APIC ID, say Y.
1758
1646source "drivers/pci/pcie/Kconfig" 1759source "drivers/pci/pcie/Kconfig"
1647 1760
1648source "drivers/pci/Kconfig" 1761source "drivers/pci/Kconfig"
@@ -1759,7 +1872,7 @@ config IA32_EMULATION
1759 1872
1760config IA32_AOUT 1873config IA32_AOUT
1761 tristate "IA32 a.out support" 1874 tristate "IA32 a.out support"
1762 depends on IA32_EMULATION && ARCH_SUPPORTS_AOUT 1875 depends on IA32_EMULATION
1763 help 1876 help
1764 Support old a.out binaries in the 32bit emulation. 1877 Support old a.out binaries in the 32bit emulation.
1765 1878
@@ -1773,7 +1886,7 @@ config COMPAT_FOR_U64_ALIGNMENT
1773 1886
1774config SYSVIPC_COMPAT 1887config SYSVIPC_COMPAT
1775 def_bool y 1888 def_bool y
1776 depends on X86_64 && COMPAT && SYSVIPC 1889 depends on COMPAT && SYSVIPC
1777 1890
1778endmenu 1891endmenu
1779 1892