aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig180
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
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
@@ -151,9 +153,6 @@ config AUDIT_ARCH
151 bool 153 bool
152 default X86_64 154 default X86_64
153 155
154config ARCH_SUPPORTS_AOUT
155 def_bool y
156
157config ARCH_SUPPORTS_OPTIMIZED_INLINING 156config ARCH_SUPPORTS_OPTIMIZED_INLINING
158 def_bool y 157 def_bool y
159 158
@@ -553,6 +552,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
553config AMD_IOMMU 552config 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
778config MICROCODE 778config 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
795config MICROCODE_OLD_INTERFACE 796config 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
809config 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
1023config ARCH_FLATMEM_ENABLE 1045config 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
1027config ARCH_DISCONTIGMEM_ENABLE 1049config ARCH_DISCONTIGMEM_ENABLE
1028 def_bool y 1050 def_bool y
@@ -1038,7 +1060,7 @@ config ARCH_SPARSEMEM_DEFAULT
1038 1060
1039config ARCH_SPARSEMEM_ENABLE 1061config 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
1086config 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
1108config 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
1116config 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
1064config MATH_EMULATION 1136config 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
1124config MTRR_SANITIZER 1196config 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
1138config MTRR_SANITIZER_ENABLE_DEFAULT 1210config 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
1193config SECCOMP 1265config 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
1360config HOTPLUG_CPU 1431config 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
1370config COMPAT_VDSO 1441config 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
1454config 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
1471config 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
1488config 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
1383endmenu 1499endmenu
1384 1500
1385config ARCH_ENABLE_MEMORY_HOTPLUG 1501config 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
1764config 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
1648source "drivers/pci/pcie/Kconfig" 1772source "drivers/pci/pcie/Kconfig"
1649 1773
1650source "drivers/pci/Kconfig" 1774source "drivers/pci/Kconfig"
@@ -1761,7 +1885,7 @@ config IA32_EMULATION
1761 1885
1762config IA32_AOUT 1886config 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
1776config SYSVIPC_COMPAT 1900config SYSVIPC_COMPAT
1777 def_bool y 1901 def_bool y
1778 depends on X86_64 && COMPAT && SYSVIPC 1902 depends on COMPAT && SYSVIPC
1779 1903
1780endmenu 1904endmenu
1781 1905