diff options
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 207 |
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 |
19 | config X86 | 19 | config 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 | |||
41 | config GENERIC_LOCKBREAK | ||
42 | def_bool n | ||
43 | |||
44 | config GENERIC_TIME | 42 | config 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 | ||
95 | config GENERIC_GPIO | 93 | config GENERIC_GPIO |
96 | def_bool n | 94 | bool |
97 | 95 | ||
98 | config ARCH_MAY_HAVE_PC_FDC | 96 | config ARCH_MAY_HAVE_PC_FDC |
99 | def_bool y | 97 | def_bool y |
@@ -104,12 +102,6 @@ config RWSEM_GENERIC_SPINLOCK | |||
104 | config RWSEM_XCHGADD_ALGORITHM | 102 | config RWSEM_XCHGADD_ALGORITHM |
105 | def_bool X86_XADD | 103 | def_bool X86_XADD |
106 | 104 | ||
107 | config ARCH_HAS_ILOG2_U32 | ||
108 | def_bool n | ||
109 | |||
110 | config ARCH_HAS_ILOG2_U64 | ||
111 | def_bool n | ||
112 | |||
113 | config ARCH_HAS_CPU_IDLE_WAIT | 105 | config 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 | ||
154 | config ARCH_SUPPORTS_AOUT | ||
155 | def_bool y | ||
156 | |||
157 | config ARCH_SUPPORTS_OPTIMIZED_INLINING | 146 | config ARCH_SUPPORTS_OPTIMIZED_INLINING |
158 | def_bool y | 147 | def_bool y |
159 | 148 | ||
@@ -553,6 +542,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT | |||
553 | config AMD_IOMMU | 542 | config 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 | ||
760 | config X86_REBOOTFIXUPS | 750 | config 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 | ||
778 | config MICROCODE | 767 | config 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 | ||
795 | config MICROCODE_OLD_INTERFACE | 785 | config 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 | |||
798 | config 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 | ||
924 | config X86_PAE | 935 | config 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 | ||
944 | config ARCH_PHYS_ADDR_T_64BIT | ||
945 | def_bool X86_64 || X86_PAE | ||
946 | |||
935 | # Common NUMA Features | 947 | # Common NUMA Features |
936 | config NUMA | 948 | config 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 | ||
1021 | config ARCH_FLATMEM_ENABLE | 1033 | config 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 | ||
1025 | config ARCH_DISCONTIGMEM_ENABLE | 1037 | config ARCH_DISCONTIGMEM_ENABLE |
1026 | def_bool y | 1038 | def_bool y |
@@ -1036,7 +1048,7 @@ config ARCH_SPARSEMEM_DEFAULT | |||
1036 | 1048 | ||
1037 | config ARCH_SPARSEMEM_ENABLE | 1049 | config 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 | ||
1074 | config 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 | |||
1096 | config 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 | |||
1104 | config 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 | |||
1062 | config MATH_EMULATION | 1124 | config 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 | ||
1122 | config MTRR_SANITIZER | 1184 | config 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 | ||
1136 | config MTRR_SANITIZER_ENABLE_DEFAULT | 1198 | config 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 | ||
1168 | config EFI | 1230 | config 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 | |||
1191 | config SECCOMP | 1252 | config 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 | ||
1358 | config HOTPLUG_CPU | 1418 | config 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 | ||
1368 | config COMPAT_VDSO | 1428 | config 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 | ||
1441 | config 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 | |||
1458 | config 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 | |||
1475 | config 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 | |||
1381 | endmenu | 1486 | endmenu |
1382 | 1487 | ||
1383 | config ARCH_ENABLE_MEMORY_HOTPLUG | 1488 | config 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 | ||
1751 | config 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 | |||
1646 | source "drivers/pci/pcie/Kconfig" | 1759 | source "drivers/pci/pcie/Kconfig" |
1647 | 1760 | ||
1648 | source "drivers/pci/Kconfig" | 1761 | source "drivers/pci/Kconfig" |
@@ -1759,7 +1872,7 @@ config IA32_EMULATION | |||
1759 | 1872 | ||
1760 | config IA32_AOUT | 1873 | config 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 | ||
1774 | config SYSVIPC_COMPAT | 1887 | config SYSVIPC_COMPAT |
1775 | def_bool y | 1888 | def_bool y |
1776 | depends on X86_64 && COMPAT && SYSVIPC | 1889 | depends on COMPAT && SYSVIPC |
1777 | 1890 | ||
1778 | endmenu | 1891 | endmenu |
1779 | 1892 | ||