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 ed92864d1325..f65c2744d573 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
@@ -1020,7 +1042,7 @@ config HAVE_ARCH_ALLOC_REMAP
1020 1042
1021config ARCH_FLATMEM_ENABLE 1043config 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
1025config ARCH_DISCONTIGMEM_ENABLE 1047config ARCH_DISCONTIGMEM_ENABLE
1026 def_bool y 1048 def_bool y
@@ -1036,7 +1058,7 @@ config ARCH_SPARSEMEM_DEFAULT
1036 1058
1037config ARCH_SPARSEMEM_ENABLE 1059config 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
1084config 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
1106config 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
1114config 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
1062config MATH_EMULATION 1134config 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
1122config MTRR_SANITIZER 1194config 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
1136config MTRR_SANITIZER_ENABLE_DEFAULT 1208config 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
1191config SECCOMP 1263config 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
1358config HOTPLUG_CPU 1429config 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
1368config COMPAT_VDSO 1439config 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
1452config 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
1469config 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
1486config 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
1381endmenu 1497endmenu
1382 1498
1383config ARCH_ENABLE_MEMORY_HOTPLUG 1499config 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
1762config 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
1646source "drivers/pci/pcie/Kconfig" 1770source "drivers/pci/pcie/Kconfig"
1647 1771
1648source "drivers/pci/Kconfig" 1772source "drivers/pci/Kconfig"
@@ -1759,7 +1883,7 @@ config IA32_EMULATION
1759 1883
1760config IA32_AOUT 1884config 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
1774config SYSVIPC_COMPAT 1898config SYSVIPC_COMPAT
1775 def_bool y 1899 def_bool y
1776 depends on X86_64 && COMPAT && SYSVIPC 1900 depends on COMPAT && SYSVIPC
1777 1901
1778endmenu 1902endmenu
1779 1903