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 ed92864d1325..f65c2744d573 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 | ||
@@ -1020,7 +1042,7 @@ config HAVE_ARCH_ALLOC_REMAP | |||
1020 | 1042 | ||
1021 | config ARCH_FLATMEM_ENABLE | 1043 | config ARCH_FLATMEM_ENABLE |
1022 | def_bool y | 1044 | def_bool y |
1023 | depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA | 1045 | depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA |
1024 | 1046 | ||
1025 | config ARCH_DISCONTIGMEM_ENABLE | 1047 | config ARCH_DISCONTIGMEM_ENABLE |
1026 | def_bool y | 1048 | def_bool y |
@@ -1036,7 +1058,7 @@ config ARCH_SPARSEMEM_DEFAULT | |||
1036 | 1058 | ||
1037 | config ARCH_SPARSEMEM_ENABLE | 1059 | config ARCH_SPARSEMEM_ENABLE |
1038 | def_bool y | 1060 | def_bool y |
1039 | depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) | 1061 | depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH |
1040 | select SPARSEMEM_STATIC if X86_32 | 1062 | select SPARSEMEM_STATIC if X86_32 |
1041 | select SPARSEMEM_VMEMMAP_ENABLE if X86_64 | 1063 | select SPARSEMEM_VMEMMAP_ENABLE if X86_64 |
1042 | 1064 | ||
@@ -1059,6 +1081,56 @@ config HIGHPTE | |||
1059 | low memory. Setting this option will put user-space page table | 1081 | low memory. Setting this option will put user-space page table |
1060 | entries in high memory. | 1082 | entries in high memory. |
1061 | 1083 | ||
1084 | config X86_CHECK_BIOS_CORRUPTION | ||
1085 | bool "Check for low memory corruption" | ||
1086 | help | ||
1087 | Periodically check for memory corruption in low memory, which | ||
1088 | is suspected to be caused by BIOS. Even when enabled in the | ||
1089 | configuration, it is disabled at runtime. Enable it by | ||
1090 | setting "memory_corruption_check=1" on the kernel command | ||
1091 | line. By default it scans the low 64k of memory every 60 | ||
1092 | seconds; see the memory_corruption_check_size and | ||
1093 | memory_corruption_check_period parameters in | ||
1094 | Documentation/kernel-parameters.txt to adjust this. | ||
1095 | |||
1096 | When enabled with the default parameters, this option has | ||
1097 | almost no overhead, as it reserves a relatively small amount | ||
1098 | of memory and scans it infrequently. It both detects corruption | ||
1099 | and prevents it from affecting the running system. | ||
1100 | |||
1101 | It is, however, intended as a diagnostic tool; if repeatable | ||
1102 | BIOS-originated corruption always affects the same memory, | ||
1103 | you can use memmap= to prevent the kernel from using that | ||
1104 | memory. | ||
1105 | |||
1106 | config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK | ||
1107 | bool "Set the default setting of memory_corruption_check" | ||
1108 | depends on X86_CHECK_BIOS_CORRUPTION | ||
1109 | default y | ||
1110 | help | ||
1111 | Set whether the default state of memory_corruption_check is | ||
1112 | on or off. | ||
1113 | |||
1114 | config X86_RESERVE_LOW_64K | ||
1115 | bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen" | ||
1116 | default y | ||
1117 | help | ||
1118 | Reserve the first 64K of physical RAM on BIOSes that are known | ||
1119 | to potentially corrupt that memory range. A numbers of BIOSes are | ||
1120 | known to utilize this area during suspend/resume, so it must not | ||
1121 | be used by the kernel. | ||
1122 | |||
1123 | Set this to N if you are absolutely sure that you trust the BIOS | ||
1124 | to get all its memory reservations and usages right. | ||
1125 | |||
1126 | If you have doubts about the BIOS (e.g. suspend/resume does not | ||
1127 | work or there's kernel crashes after certain hardware hotplug | ||
1128 | events) and it's not AMI or Phoenix, then you might want to enable | ||
1129 | X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical | ||
1130 | corruption patterns. | ||
1131 | |||
1132 | Say Y if unsure. | ||
1133 | |||
1062 | config MATH_EMULATION | 1134 | config MATH_EMULATION |
1063 | bool | 1135 | bool |
1064 | prompt "Math emulation" if X86_32 | 1136 | prompt "Math emulation" if X86_32 |
@@ -1117,10 +1189,10 @@ config MTRR | |||
1117 | You can safely say Y even if your machine doesn't have MTRRs, you'll | 1189 | You can safely say Y even if your machine doesn't have MTRRs, you'll |
1118 | just add about 9 KB to your kernel. | 1190 | just add about 9 KB to your kernel. |
1119 | 1191 | ||
1120 | See <file:Documentation/mtrr.txt> for more information. | 1192 | See <file:Documentation/x86/mtrr.txt> for more information. |
1121 | 1193 | ||
1122 | config MTRR_SANITIZER | 1194 | config MTRR_SANITIZER |
1123 | bool | 1195 | def_bool y |
1124 | prompt "MTRR cleanup support" | 1196 | prompt "MTRR cleanup support" |
1125 | depends on MTRR | 1197 | depends on MTRR |
1126 | help | 1198 | help |
@@ -1131,7 +1203,7 @@ config MTRR_SANITIZER | |||
1131 | The largest mtrr entry size for a continous block can be set with | 1203 | The largest mtrr entry size for a continous block can be set with |
1132 | mtrr_chunk_size. | 1204 | mtrr_chunk_size. |
1133 | 1205 | ||
1134 | If unsure, say N. | 1206 | If unsure, say Y. |
1135 | 1207 | ||
1136 | config MTRR_SANITIZER_ENABLE_DEFAULT | 1208 | config MTRR_SANITIZER_ENABLE_DEFAULT |
1137 | int "MTRR cleanup enable value (0-1)" | 1209 | int "MTRR cleanup enable value (0-1)" |
@@ -1191,7 +1263,6 @@ config IRQBALANCE | |||
1191 | config SECCOMP | 1263 | config SECCOMP |
1192 | def_bool y | 1264 | def_bool y |
1193 | prompt "Enable seccomp to safely compute untrusted bytecode" | 1265 | prompt "Enable seccomp to safely compute untrusted bytecode" |
1194 | depends on PROC_FS | ||
1195 | help | 1266 | help |
1196 | This kernel feature is useful for number crunching applications | 1267 | This kernel feature is useful for number crunching applications |
1197 | that may need to compute untrusted bytecode during their | 1268 | that may need to compute untrusted bytecode during their |
@@ -1199,7 +1270,7 @@ config SECCOMP | |||
1199 | the process as file descriptors supporting the read/write | 1270 | the process as file descriptors supporting the read/write |
1200 | syscalls, it's possible to isolate those applications in | 1271 | syscalls, it's possible to isolate those applications in |
1201 | their own address space using seccomp. Once seccomp is | 1272 | their own address space using seccomp. Once seccomp is |
1202 | enabled via /proc/<pid>/seccomp, it cannot be disabled | 1273 | enabled via prctl(PR_SET_SECCOMP), it cannot be disabled |
1203 | and the task is only allowed to execute a few safe syscalls | 1274 | and the task is only allowed to execute a few safe syscalls |
1204 | defined by each seccomp mode. | 1275 | defined by each seccomp mode. |
1205 | 1276 | ||
@@ -1356,14 +1427,14 @@ config PHYSICAL_ALIGN | |||
1356 | Don't change this unless you know what you are doing. | 1427 | Don't change this unless you know what you are doing. |
1357 | 1428 | ||
1358 | config HOTPLUG_CPU | 1429 | config HOTPLUG_CPU |
1359 | bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)" | 1430 | bool "Support for hot-pluggable CPUs" |
1360 | depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER | 1431 | depends on SMP && HOTPLUG && !X86_VOYAGER |
1361 | ---help--- | 1432 | ---help--- |
1362 | Say Y here to experiment with turning CPUs off and on, and to | 1433 | Say Y here to allow turning CPUs off and on. CPUs can be |
1363 | enable suspend on SMP systems. CPUs can be controlled through | 1434 | controlled through /sys/devices/system/cpu. |
1364 | /sys/devices/system/cpu. | 1435 | ( Note: power management support will enable this option |
1365 | Say N if you want to disable CPU hotplug and don't need to | 1436 | automatically on SMP systems. ) |
1366 | suspend. | 1437 | Say N if you want to disable CPU hotplug. |
1367 | 1438 | ||
1368 | config COMPAT_VDSO | 1439 | config COMPAT_VDSO |
1369 | def_bool y | 1440 | def_bool y |
@@ -1378,6 +1449,51 @@ config COMPAT_VDSO | |||
1378 | 1449 | ||
1379 | If unsure, say Y. | 1450 | If unsure, say Y. |
1380 | 1451 | ||
1452 | config CMDLINE_BOOL | ||
1453 | bool "Built-in kernel command line" | ||
1454 | default n | ||
1455 | help | ||
1456 | Allow for specifying boot arguments to the kernel at | ||
1457 | build time. On some systems (e.g. embedded ones), it is | ||
1458 | necessary or convenient to provide some or all of the | ||
1459 | kernel boot arguments with the kernel itself (that is, | ||
1460 | to not rely on the boot loader to provide them.) | ||
1461 | |||
1462 | To compile command line arguments into the kernel, | ||
1463 | set this option to 'Y', then fill in the | ||
1464 | the boot arguments in CONFIG_CMDLINE. | ||
1465 | |||
1466 | Systems with fully functional boot loaders (i.e. non-embedded) | ||
1467 | should leave this option set to 'N'. | ||
1468 | |||
1469 | config CMDLINE | ||
1470 | string "Built-in kernel command string" | ||
1471 | depends on CMDLINE_BOOL | ||
1472 | default "" | ||
1473 | help | ||
1474 | Enter arguments here that should be compiled into the kernel | ||
1475 | image and used at boot time. If the boot loader provides a | ||
1476 | command line at boot time, it is appended to this string to | ||
1477 | form the full kernel command line, when the system boots. | ||
1478 | |||
1479 | However, you can use the CONFIG_CMDLINE_OVERRIDE option to | ||
1480 | change this behavior. | ||
1481 | |||
1482 | In most cases, the command line (whether built-in or provided | ||
1483 | by the boot loader) should specify the device for the root | ||
1484 | file system. | ||
1485 | |||
1486 | config CMDLINE_OVERRIDE | ||
1487 | bool "Built-in command line overrides boot loader arguments" | ||
1488 | default n | ||
1489 | depends on CMDLINE_BOOL | ||
1490 | help | ||
1491 | Set this option to 'Y' to have the kernel ignore the boot loader | ||
1492 | command line, and use ONLY the built-in command line. | ||
1493 | |||
1494 | This is used to work around broken boot loaders. This should | ||
1495 | be set to 'N' under normal conditions. | ||
1496 | |||
1381 | endmenu | 1497 | endmenu |
1382 | 1498 | ||
1383 | config ARCH_ENABLE_MEMORY_HOTPLUG | 1499 | config ARCH_ENABLE_MEMORY_HOTPLUG |
@@ -1643,6 +1759,14 @@ config DMAR_FLOPPY_WA | |||
1643 | workaround will setup a 1:1 mapping for the first | 1759 | workaround will setup a 1:1 mapping for the first |
1644 | 16M to make floppy (an ISA device) work. | 1760 | 16M to make floppy (an ISA device) work. |
1645 | 1761 | ||
1762 | config INTR_REMAP | ||
1763 | bool "Support for Interrupt Remapping (EXPERIMENTAL)" | ||
1764 | depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL | ||
1765 | help | ||
1766 | Supports Interrupt remapping for IO-APIC and MSI devices. | ||
1767 | To use x2apic mode in the CPU's which support x2APIC enhancements or | ||
1768 | to support platforms with CPU's having > 8 bit APIC ID, say Y. | ||
1769 | |||
1646 | source "drivers/pci/pcie/Kconfig" | 1770 | source "drivers/pci/pcie/Kconfig" |
1647 | 1771 | ||
1648 | source "drivers/pci/Kconfig" | 1772 | source "drivers/pci/Kconfig" |
@@ -1759,7 +1883,7 @@ config IA32_EMULATION | |||
1759 | 1883 | ||
1760 | config IA32_AOUT | 1884 | config IA32_AOUT |
1761 | tristate "IA32 a.out support" | 1885 | tristate "IA32 a.out support" |
1762 | depends on IA32_EMULATION && ARCH_SUPPORTS_AOUT | 1886 | depends on IA32_EMULATION |
1763 | help | 1887 | help |
1764 | Support old a.out binaries in the 32bit emulation. | 1888 | Support old a.out binaries in the 32bit emulation. |
1765 | 1889 | ||
@@ -1773,7 +1897,7 @@ config COMPAT_FOR_U64_ALIGNMENT | |||
1773 | 1897 | ||
1774 | config SYSVIPC_COMPAT | 1898 | config SYSVIPC_COMPAT |
1775 | def_bool y | 1899 | def_bool y |
1776 | depends on X86_64 && COMPAT && SYSVIPC | 1900 | depends on COMPAT && SYSVIPC |
1777 | 1901 | ||
1778 | endmenu | 1902 | endmenu |
1779 | 1903 | ||