diff options
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 180 |
1 files changed, 152 insertions, 28 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index b4e1875f9861..837a9aae0453 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 | ||
@@ -151,9 +153,6 @@ config AUDIT_ARCH | |||
151 | bool | 153 | bool |
152 | default X86_64 | 154 | default X86_64 |
153 | 155 | ||
154 | config ARCH_SUPPORTS_AOUT | ||
155 | def_bool y | ||
156 | |||
157 | config ARCH_SUPPORTS_OPTIMIZED_INLINING | 156 | config ARCH_SUPPORTS_OPTIMIZED_INLINING |
158 | def_bool y | 157 | def_bool y |
159 | 158 | ||
@@ -553,6 +552,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT | |||
553 | config AMD_IOMMU | 552 | config AMD_IOMMU |
554 | bool "AMD IOMMU support" | 553 | bool "AMD IOMMU support" |
555 | select SWIOTLB | 554 | select SWIOTLB |
555 | select PCI_MSI | ||
556 | depends on X86_64 && PCI && ACPI | 556 | depends on X86_64 && PCI && ACPI |
557 | help | 557 | help |
558 | With this option you can enable support for AMD IOMMU hardware in | 558 | With this option you can enable support for AMD IOMMU hardware in |
@@ -776,23 +776,45 @@ config X86_REBOOTFIXUPS | |||
776 | Say N otherwise. | 776 | Say N otherwise. |
777 | 777 | ||
778 | config MICROCODE | 778 | config MICROCODE |
779 | tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support" | 779 | tristate "/dev/cpu/microcode - microcode support" |
780 | select FW_LOADER | 780 | select FW_LOADER |
781 | ---help--- | 781 | ---help--- |
782 | If you say Y here, you will be able to update the microcode on | 782 | 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, | 783 | certain Intel and AMD processors. The Intel support is for the |
784 | Pentium III, Pentium 4, Xeon etc. You will obviously need the | 784 | IA32 family, e.g. Pentium Pro, Pentium II, Pentium III, |
785 | actual microcode binary data itself which is not shipped with the | 785 | Pentium 4, Xeon etc. The AMD support is for family 0x10 and |
786 | Linux kernel. | 786 | 0x11 processors, e.g. Opteron, Phenom and Turion 64 Ultra. |
787 | You will obviously need the actual microcode binary data itself | ||
788 | which is not shipped with the Linux kernel. | ||
787 | 789 | ||
788 | For latest news and information on obtaining all the required | 790 | This option selects the general module only, you need to select |
789 | ingredients for this driver, check: | 791 | at least one vendor specific module as well. |
790 | <http://www.urbanmyth.org/microcode/>. | ||
791 | 792 | ||
792 | To compile this driver as a module, choose M here: the | 793 | To compile this driver as a module, choose M here: the |
793 | module will be called microcode. | 794 | module will be called microcode. |
794 | 795 | ||
795 | config MICROCODE_OLD_INTERFACE | 796 | config MICROCODE_INTEL |
797 | bool "Intel microcode patch loading support" | ||
798 | depends on MICROCODE | ||
799 | default MICROCODE | ||
800 | select FW_LOADER | ||
801 | --help--- | ||
802 | This options enables microcode patch loading support for Intel | ||
803 | processors. | ||
804 | |||
805 | For latest news and information on obtaining all the required | ||
806 | Intel ingredients for this driver, check: | ||
807 | <http://www.urbanmyth.org/microcode/>. | ||
808 | |||
809 | config MICROCODE_AMD | ||
810 | bool "AMD microcode patch loading support" | ||
811 | depends on MICROCODE | ||
812 | select FW_LOADER | ||
813 | --help--- | ||
814 | If you select this option, microcode patch loading support for AMD | ||
815 | processors will be enabled. | ||
816 | |||
817 | config MICROCODE_OLD_INTERFACE | ||
796 | def_bool y | 818 | def_bool y |
797 | depends on MICROCODE | 819 | depends on MICROCODE |
798 | 820 | ||
@@ -1022,7 +1044,7 @@ config HAVE_ARCH_ALLOC_REMAP | |||
1022 | 1044 | ||
1023 | config ARCH_FLATMEM_ENABLE | 1045 | config ARCH_FLATMEM_ENABLE |
1024 | def_bool y | 1046 | def_bool y |
1025 | depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA | 1047 | depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA |
1026 | 1048 | ||
1027 | config ARCH_DISCONTIGMEM_ENABLE | 1049 | config ARCH_DISCONTIGMEM_ENABLE |
1028 | def_bool y | 1050 | def_bool y |
@@ -1038,7 +1060,7 @@ config ARCH_SPARSEMEM_DEFAULT | |||
1038 | 1060 | ||
1039 | config ARCH_SPARSEMEM_ENABLE | 1061 | config ARCH_SPARSEMEM_ENABLE |
1040 | def_bool y | 1062 | def_bool y |
1041 | depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) | 1063 | depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH |
1042 | select SPARSEMEM_STATIC if X86_32 | 1064 | select SPARSEMEM_STATIC if X86_32 |
1043 | select SPARSEMEM_VMEMMAP_ENABLE if X86_64 | 1065 | select SPARSEMEM_VMEMMAP_ENABLE if X86_64 |
1044 | 1066 | ||
@@ -1061,6 +1083,56 @@ config HIGHPTE | |||
1061 | low memory. Setting this option will put user-space page table | 1083 | low memory. Setting this option will put user-space page table |
1062 | entries in high memory. | 1084 | entries in high memory. |
1063 | 1085 | ||
1086 | config X86_CHECK_BIOS_CORRUPTION | ||
1087 | bool "Check for low memory corruption" | ||
1088 | help | ||
1089 | Periodically check for memory corruption in low memory, which | ||
1090 | is suspected to be caused by BIOS. Even when enabled in the | ||
1091 | configuration, it is disabled at runtime. Enable it by | ||
1092 | setting "memory_corruption_check=1" on the kernel command | ||
1093 | line. By default it scans the low 64k of memory every 60 | ||
1094 | seconds; see the memory_corruption_check_size and | ||
1095 | memory_corruption_check_period parameters in | ||
1096 | Documentation/kernel-parameters.txt to adjust this. | ||
1097 | |||
1098 | When enabled with the default parameters, this option has | ||
1099 | almost no overhead, as it reserves a relatively small amount | ||
1100 | of memory and scans it infrequently. It both detects corruption | ||
1101 | and prevents it from affecting the running system. | ||
1102 | |||
1103 | It is, however, intended as a diagnostic tool; if repeatable | ||
1104 | BIOS-originated corruption always affects the same memory, | ||
1105 | you can use memmap= to prevent the kernel from using that | ||
1106 | memory. | ||
1107 | |||
1108 | config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK | ||
1109 | bool "Set the default setting of memory_corruption_check" | ||
1110 | depends on X86_CHECK_BIOS_CORRUPTION | ||
1111 | default y | ||
1112 | help | ||
1113 | Set whether the default state of memory_corruption_check is | ||
1114 | on or off. | ||
1115 | |||
1116 | config X86_RESERVE_LOW_64K | ||
1117 | bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" | ||
1118 | default y | ||
1119 | help | ||
1120 | Reserve the first 64K of physical RAM on BIOSes that are known | ||
1121 | to potentially corrupt that memory range. A numbers of BIOSes are | ||
1122 | known to utilize this area during suspend/resume, so it must not | ||
1123 | be used by the kernel. | ||
1124 | |||
1125 | Set this to N if you are absolutely sure that you trust the BIOS | ||
1126 | to get all its memory reservations and usages right. | ||
1127 | |||
1128 | If you have doubts about the BIOS (e.g. suspend/resume does not | ||
1129 | work or there's kernel crashes after certain hardware hotplug | ||
1130 | events) and it's not AMI or Phoenix, then you might want to enable | ||
1131 | X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical | ||
1132 | corruption patterns. | ||
1133 | |||
1134 | Say Y if unsure. | ||
1135 | |||
1064 | config MATH_EMULATION | 1136 | config MATH_EMULATION |
1065 | bool | 1137 | bool |
1066 | prompt "Math emulation" if X86_32 | 1138 | prompt "Math emulation" if X86_32 |
@@ -1119,10 +1191,10 @@ config MTRR | |||
1119 | You can safely say Y even if your machine doesn't have MTRRs, you'll | 1191 | You can safely say Y even if your machine doesn't have MTRRs, you'll |
1120 | just add about 9 KB to your kernel. | 1192 | just add about 9 KB to your kernel. |
1121 | 1193 | ||
1122 | See <file:Documentation/mtrr.txt> for more information. | 1194 | See <file:Documentation/x86/mtrr.txt> for more information. |
1123 | 1195 | ||
1124 | config MTRR_SANITIZER | 1196 | config MTRR_SANITIZER |
1125 | bool | 1197 | def_bool y |
1126 | prompt "MTRR cleanup support" | 1198 | prompt "MTRR cleanup support" |
1127 | depends on MTRR | 1199 | depends on MTRR |
1128 | help | 1200 | help |
@@ -1133,7 +1205,7 @@ config MTRR_SANITIZER | |||
1133 | The largest mtrr entry size for a continous block can be set with | 1205 | The largest mtrr entry size for a continous block can be set with |
1134 | mtrr_chunk_size. | 1206 | mtrr_chunk_size. |
1135 | 1207 | ||
1136 | If unsure, say N. | 1208 | If unsure, say Y. |
1137 | 1209 | ||
1138 | config MTRR_SANITIZER_ENABLE_DEFAULT | 1210 | config MTRR_SANITIZER_ENABLE_DEFAULT |
1139 | int "MTRR cleanup enable value (0-1)" | 1211 | int "MTRR cleanup enable value (0-1)" |
@@ -1193,7 +1265,6 @@ config IRQBALANCE | |||
1193 | config SECCOMP | 1265 | config SECCOMP |
1194 | def_bool y | 1266 | def_bool y |
1195 | prompt "Enable seccomp to safely compute untrusted bytecode" | 1267 | prompt "Enable seccomp to safely compute untrusted bytecode" |
1196 | depends on PROC_FS | ||
1197 | help | 1268 | help |
1198 | This kernel feature is useful for number crunching applications | 1269 | This kernel feature is useful for number crunching applications |
1199 | that may need to compute untrusted bytecode during their | 1270 | that may need to compute untrusted bytecode during their |
@@ -1201,7 +1272,7 @@ config SECCOMP | |||
1201 | the process as file descriptors supporting the read/write | 1272 | the process as file descriptors supporting the read/write |
1202 | syscalls, it's possible to isolate those applications in | 1273 | syscalls, it's possible to isolate those applications in |
1203 | their own address space using seccomp. Once seccomp is | 1274 | their own address space using seccomp. Once seccomp is |
1204 | enabled via /proc/<pid>/seccomp, it cannot be disabled | 1275 | enabled via prctl(PR_SET_SECCOMP), it cannot be disabled |
1205 | and the task is only allowed to execute a few safe syscalls | 1276 | and the task is only allowed to execute a few safe syscalls |
1206 | defined by each seccomp mode. | 1277 | defined by each seccomp mode. |
1207 | 1278 | ||
@@ -1358,14 +1429,14 @@ config PHYSICAL_ALIGN | |||
1358 | Don't change this unless you know what you are doing. | 1429 | Don't change this unless you know what you are doing. |
1359 | 1430 | ||
1360 | config HOTPLUG_CPU | 1431 | config HOTPLUG_CPU |
1361 | bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)" | 1432 | bool "Support for hot-pluggable CPUs" |
1362 | depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER | 1433 | depends on SMP && HOTPLUG && !X86_VOYAGER |
1363 | ---help--- | 1434 | ---help--- |
1364 | Say Y here to experiment with turning CPUs off and on, and to | 1435 | Say Y here to allow turning CPUs off and on. CPUs can be |
1365 | enable suspend on SMP systems. CPUs can be controlled through | 1436 | controlled through /sys/devices/system/cpu. |
1366 | /sys/devices/system/cpu. | 1437 | ( Note: power management support will enable this option |
1367 | Say N if you want to disable CPU hotplug and don't need to | 1438 | automatically on SMP systems. ) |
1368 | suspend. | 1439 | Say N if you want to disable CPU hotplug. |
1369 | 1440 | ||
1370 | config COMPAT_VDSO | 1441 | config COMPAT_VDSO |
1371 | def_bool y | 1442 | def_bool y |
@@ -1380,6 +1451,51 @@ config COMPAT_VDSO | |||
1380 | 1451 | ||
1381 | If unsure, say Y. | 1452 | If unsure, say Y. |
1382 | 1453 | ||
1454 | config CMDLINE_BOOL | ||
1455 | bool "Built-in kernel command line" | ||
1456 | default n | ||
1457 | help | ||
1458 | Allow for specifying boot arguments to the kernel at | ||
1459 | build time. On some systems (e.g. embedded ones), it is | ||
1460 | necessary or convenient to provide some or all of the | ||
1461 | kernel boot arguments with the kernel itself (that is, | ||
1462 | to not rely on the boot loader to provide them.) | ||
1463 | |||
1464 | To compile command line arguments into the kernel, | ||
1465 | set this option to 'Y', then fill in the | ||
1466 | the boot arguments in CONFIG_CMDLINE. | ||
1467 | |||
1468 | Systems with fully functional boot loaders (i.e. non-embedded) | ||
1469 | should leave this option set to 'N'. | ||
1470 | |||
1471 | config CMDLINE | ||
1472 | string "Built-in kernel command string" | ||
1473 | depends on CMDLINE_BOOL | ||
1474 | default "" | ||
1475 | help | ||
1476 | Enter arguments here that should be compiled into the kernel | ||
1477 | image and used at boot time. If the boot loader provides a | ||
1478 | command line at boot time, it is appended to this string to | ||
1479 | form the full kernel command line, when the system boots. | ||
1480 | |||
1481 | However, you can use the CONFIG_CMDLINE_OVERRIDE option to | ||
1482 | change this behavior. | ||
1483 | |||
1484 | In most cases, the command line (whether built-in or provided | ||
1485 | by the boot loader) should specify the device for the root | ||
1486 | file system. | ||
1487 | |||
1488 | config CMDLINE_OVERRIDE | ||
1489 | bool "Built-in command line overrides boot loader arguments" | ||
1490 | default n | ||
1491 | depends on CMDLINE_BOOL | ||
1492 | help | ||
1493 | Set this option to 'Y' to have the kernel ignore the boot loader | ||
1494 | command line, and use ONLY the built-in command line. | ||
1495 | |||
1496 | This is used to work around broken boot loaders. This should | ||
1497 | be set to 'N' under normal conditions. | ||
1498 | |||
1383 | endmenu | 1499 | endmenu |
1384 | 1500 | ||
1385 | config ARCH_ENABLE_MEMORY_HOTPLUG | 1501 | config ARCH_ENABLE_MEMORY_HOTPLUG |
@@ -1645,6 +1761,14 @@ config DMAR_FLOPPY_WA | |||
1645 | workaround will setup a 1:1 mapping for the first | 1761 | workaround will setup a 1:1 mapping for the first |
1646 | 16M to make floppy (an ISA device) work. | 1762 | 16M to make floppy (an ISA device) work. |
1647 | 1763 | ||
1764 | config INTR_REMAP | ||
1765 | bool "Support for Interrupt Remapping (EXPERIMENTAL)" | ||
1766 | depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL | ||
1767 | help | ||
1768 | Supports Interrupt remapping for IO-APIC and MSI devices. | ||
1769 | To use x2apic mode in the CPU's which support x2APIC enhancements or | ||
1770 | to support platforms with CPU's having > 8 bit APIC ID, say Y. | ||
1771 | |||
1648 | source "drivers/pci/pcie/Kconfig" | 1772 | source "drivers/pci/pcie/Kconfig" |
1649 | 1773 | ||
1650 | source "drivers/pci/Kconfig" | 1774 | source "drivers/pci/Kconfig" |
@@ -1761,7 +1885,7 @@ config IA32_EMULATION | |||
1761 | 1885 | ||
1762 | config IA32_AOUT | 1886 | config IA32_AOUT |
1763 | tristate "IA32 a.out support" | 1887 | tristate "IA32 a.out support" |
1764 | depends on IA32_EMULATION && ARCH_SUPPORTS_AOUT | 1888 | depends on IA32_EMULATION |
1765 | help | 1889 | help |
1766 | Support old a.out binaries in the 32bit emulation. | 1890 | Support old a.out binaries in the 32bit emulation. |
1767 | 1891 | ||
@@ -1775,7 +1899,7 @@ config COMPAT_FOR_U64_ALIGNMENT | |||
1775 | 1899 | ||
1776 | config SYSVIPC_COMPAT | 1900 | config SYSVIPC_COMPAT |
1777 | def_bool y | 1901 | def_bool y |
1778 | depends on X86_64 && COMPAT && SYSVIPC | 1902 | depends on COMPAT && SYSVIPC |
1779 | 1903 | ||
1780 | endmenu | 1904 | endmenu |
1781 | 1905 | ||