aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig222
1 files changed, 167 insertions, 55 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ed92864d132..350bee1d54d 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
@@ -25,10 +26,12 @@ config X86
25 select HAVE_KPROBES 26 select HAVE_KPROBES
26 select ARCH_WANT_OPTIONAL_GPIOLIB 27 select ARCH_WANT_OPTIONAL_GPIOLIB
27 select HAVE_KRETPROBES 28 select HAVE_KRETPROBES
29 select HAVE_FTRACE_MCOUNT_RECORD
28 select HAVE_DYNAMIC_FTRACE 30 select HAVE_DYNAMIC_FTRACE
29 select HAVE_FTRACE 31 select HAVE_FTRACE
30 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) 32 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
31 select HAVE_ARCH_KGDB if !X86_VOYAGER 33 select HAVE_ARCH_KGDB if !X86_VOYAGER
34 select HAVE_ARCH_TRACEHOOK
32 select HAVE_GENERIC_DMA_COHERENT if X86_32 35 select HAVE_GENERIC_DMA_COHERENT if X86_32
33 select HAVE_EFFICIENT_UNALIGNED_ACCESS 36 select HAVE_EFFICIENT_UNALIGNED_ACCESS
34 37
@@ -37,10 +40,6 @@ config ARCH_DEFCONFIG
37 default "arch/x86/configs/i386_defconfig" if X86_32 40 default "arch/x86/configs/i386_defconfig" if X86_32
38 default "arch/x86/configs/x86_64_defconfig" if X86_64 41 default "arch/x86/configs/x86_64_defconfig" if X86_64
39 42
40
41config GENERIC_LOCKBREAK
42 def_bool n
43
44config GENERIC_TIME 43config GENERIC_TIME
45 def_bool y 44 def_bool y
46 45
@@ -93,7 +92,7 @@ config GENERIC_HWEIGHT
93 def_bool y 92 def_bool y
94 93
95config GENERIC_GPIO 94config GENERIC_GPIO
96 def_bool n 95 bool
97 96
98config ARCH_MAY_HAVE_PC_FDC 97config ARCH_MAY_HAVE_PC_FDC
99 def_bool y 98 def_bool y
@@ -104,12 +103,6 @@ config RWSEM_GENERIC_SPINLOCK
104config RWSEM_XCHGADD_ALGORITHM 103config RWSEM_XCHGADD_ALGORITHM
105 def_bool X86_XADD 104 def_bool X86_XADD
106 105
107config ARCH_HAS_ILOG2_U32
108 def_bool n
109
110config ARCH_HAS_ILOG2_U64
111 def_bool n
112
113config ARCH_HAS_CPU_IDLE_WAIT 106config ARCH_HAS_CPU_IDLE_WAIT
114 def_bool y 107 def_bool y
115 108
@@ -123,6 +116,9 @@ config GENERIC_TIME_VSYSCALL
123config ARCH_HAS_CPU_RELAX 116config ARCH_HAS_CPU_RELAX
124 def_bool y 117 def_bool y
125 118
119config ARCH_HAS_DEFAULT_IDLE
120 def_bool y
121
126config ARCH_HAS_CACHE_LINE_SIZE 122config ARCH_HAS_CACHE_LINE_SIZE
127 def_bool y 123 def_bool y
128 124
@@ -151,9 +147,6 @@ config AUDIT_ARCH
151 bool 147 bool
152 default X86_64 148 default X86_64
153 149
154config ARCH_SUPPORTS_AOUT
155 def_bool y
156
157config ARCH_SUPPORTS_OPTIMIZED_INLINING 150config ARCH_SUPPORTS_OPTIMIZED_INLINING
158 def_bool y 151 def_bool y
159 152
@@ -204,6 +197,7 @@ config X86_TRAMPOLINE
204config KTIME_SCALAR 197config KTIME_SCALAR
205 def_bool X86_32 198 def_bool X86_32
206source "init/Kconfig" 199source "init/Kconfig"
200source "kernel/Kconfig.freezer"
207 201
208menu "Processor type and features" 202menu "Processor type and features"
209 203
@@ -553,6 +547,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
553config AMD_IOMMU 547config AMD_IOMMU
554 bool "AMD IOMMU support" 548 bool "AMD IOMMU support"
555 select SWIOTLB 549 select SWIOTLB
550 select PCI_MSI
556 depends on X86_64 && PCI && ACPI 551 depends on X86_64 && PCI && ACPI
557 help 552 help
558 With this option you can enable support for AMD IOMMU hardware in 553 With this option you can enable support for AMD IOMMU hardware in
@@ -758,9 +753,8 @@ config I8K
758 Say N otherwise. 753 Say N otherwise.
759 754
760config X86_REBOOTFIXUPS 755config X86_REBOOTFIXUPS
761 def_bool n 756 bool "Enable X86 board specific fixups for reboot"
762 prompt "Enable X86 board specific fixups for reboot" 757 depends on X86_32
763 depends on X86_32 && X86
764 ---help--- 758 ---help---
765 This enables chipset and/or board specific fixups to be done 759 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 760 in order to get reboot to work correctly. This is only needed on
@@ -776,23 +770,45 @@ config X86_REBOOTFIXUPS
776 Say N otherwise. 770 Say N otherwise.
777 771
778config MICROCODE 772config MICROCODE
779 tristate "/dev/cpu/microcode - Intel IA32 CPU microcode support" 773 tristate "/dev/cpu/microcode - microcode support"
780 select FW_LOADER 774 select FW_LOADER
781 ---help--- 775 ---help---
782 If you say Y here, you will be able to update the microcode on 776 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, 777 certain Intel and AMD processors. The Intel support is for the
784 Pentium III, Pentium 4, Xeon etc. You will obviously need the 778 IA32 family, e.g. Pentium Pro, Pentium II, Pentium III,
785 actual microcode binary data itself which is not shipped with the 779 Pentium 4, Xeon etc. The AMD support is for family 0x10 and
786 Linux kernel. 780 0x11 processors, e.g. Opteron, Phenom and Turion 64 Ultra.
781 You will obviously need the actual microcode binary data itself
782 which is not shipped with the Linux kernel.
787 783
788 For latest news and information on obtaining all the required 784 This option selects the general module only, you need to select
789 ingredients for this driver, check: 785 at least one vendor specific module as well.
790 <http://www.urbanmyth.org/microcode/>.
791 786
792 To compile this driver as a module, choose M here: the 787 To compile this driver as a module, choose M here: the
793 module will be called microcode. 788 module will be called microcode.
794 789
795config MICROCODE_OLD_INTERFACE 790config MICROCODE_INTEL
791 bool "Intel microcode patch loading support"
792 depends on MICROCODE
793 default MICROCODE
794 select FW_LOADER
795 --help---
796 This options enables microcode patch loading support for Intel
797 processors.
798
799 For latest news and information on obtaining all the required
800 Intel ingredients for this driver, check:
801 <http://www.urbanmyth.org/microcode/>.
802
803config MICROCODE_AMD
804 bool "AMD microcode patch loading support"
805 depends on MICROCODE
806 select FW_LOADER
807 --help---
808 If you select this option, microcode patch loading support for AMD
809 processors will be enabled.
810
811 config MICROCODE_OLD_INTERFACE
796 def_bool y 812 def_bool y
797 depends on MICROCODE 813 depends on MICROCODE
798 814
@@ -922,16 +938,17 @@ config HIGHMEM
922 depends on X86_32 && (HIGHMEM64G || HIGHMEM4G) 938 depends on X86_32 && (HIGHMEM64G || HIGHMEM4G)
923 939
924config X86_PAE 940config X86_PAE
925 def_bool n 941 bool "PAE (Physical Address Extension) Support"
926 prompt "PAE (Physical Address Extension) Support"
927 depends on X86_32 && !HIGHMEM4G 942 depends on X86_32 && !HIGHMEM4G
928 select RESOURCES_64BIT
929 help 943 help
930 PAE is required for NX support, and furthermore enables 944 PAE is required for NX support, and furthermore enables
931 larger swapspace support for non-overcommit purposes. It 945 larger swapspace support for non-overcommit purposes. It
932 has the cost of more pagetable lookup overhead, and also 946 has the cost of more pagetable lookup overhead, and also
933 consumes more pagetable space per process. 947 consumes more pagetable space per process.
934 948
949config ARCH_PHYS_ADDR_T_64BIT
950 def_bool X86_64 || X86_PAE
951
935# Common NUMA Features 952# Common NUMA Features
936config NUMA 953config NUMA
937 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" 954 bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
@@ -1020,7 +1037,7 @@ config HAVE_ARCH_ALLOC_REMAP
1020 1037
1021config ARCH_FLATMEM_ENABLE 1038config ARCH_FLATMEM_ENABLE
1022 def_bool y 1039 def_bool y
1023 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA 1040 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA
1024 1041
1025config ARCH_DISCONTIGMEM_ENABLE 1042config ARCH_DISCONTIGMEM_ENABLE
1026 def_bool y 1043 def_bool y
@@ -1036,7 +1053,7 @@ config ARCH_SPARSEMEM_DEFAULT
1036 1053
1037config ARCH_SPARSEMEM_ENABLE 1054config ARCH_SPARSEMEM_ENABLE
1038 def_bool y 1055 def_bool y
1039 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) 1056 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH
1040 select SPARSEMEM_STATIC if X86_32 1057 select SPARSEMEM_STATIC if X86_32
1041 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 1058 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
1042 1059
@@ -1059,6 +1076,56 @@ config HIGHPTE
1059 low memory. Setting this option will put user-space page table 1076 low memory. Setting this option will put user-space page table
1060 entries in high memory. 1077 entries in high memory.
1061 1078
1079config X86_CHECK_BIOS_CORRUPTION
1080 bool "Check for low memory corruption"
1081 help
1082 Periodically check for memory corruption in low memory, which
1083 is suspected to be caused by BIOS. Even when enabled in the
1084 configuration, it is disabled at runtime. Enable it by
1085 setting "memory_corruption_check=1" on the kernel command
1086 line. By default it scans the low 64k of memory every 60
1087 seconds; see the memory_corruption_check_size and
1088 memory_corruption_check_period parameters in
1089 Documentation/kernel-parameters.txt to adjust this.
1090
1091 When enabled with the default parameters, this option has
1092 almost no overhead, as it reserves a relatively small amount
1093 of memory and scans it infrequently. It both detects corruption
1094 and prevents it from affecting the running system.
1095
1096 It is, however, intended as a diagnostic tool; if repeatable
1097 BIOS-originated corruption always affects the same memory,
1098 you can use memmap= to prevent the kernel from using that
1099 memory.
1100
1101config X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
1102 bool "Set the default setting of memory_corruption_check"
1103 depends on X86_CHECK_BIOS_CORRUPTION
1104 default y
1105 help
1106 Set whether the default state of memory_corruption_check is
1107 on or off.
1108
1109config X86_RESERVE_LOW_64K
1110 bool "Reserve low 64K of RAM on AMI/Phoenix BIOSen"
1111 default y
1112 help
1113 Reserve the first 64K of physical RAM on BIOSes that are known
1114 to potentially corrupt that memory range. A numbers of BIOSes are
1115 known to utilize this area during suspend/resume, so it must not
1116 be used by the kernel.
1117
1118 Set this to N if you are absolutely sure that you trust the BIOS
1119 to get all its memory reservations and usages right.
1120
1121 If you have doubts about the BIOS (e.g. suspend/resume does not
1122 work or there's kernel crashes after certain hardware hotplug
1123 events) and it's not AMI or Phoenix, then you might want to enable
1124 X86_CHECK_BIOS_CORRUPTION=y to allow the kernel to check typical
1125 corruption patterns.
1126
1127 Say Y if unsure.
1128
1062config MATH_EMULATION 1129config MATH_EMULATION
1063 bool 1130 bool
1064 prompt "Math emulation" if X86_32 1131 prompt "Math emulation" if X86_32
@@ -1117,10 +1184,10 @@ config MTRR
1117 You can safely say Y even if your machine doesn't have MTRRs, you'll 1184 You can safely say Y even if your machine doesn't have MTRRs, you'll
1118 just add about 9 KB to your kernel. 1185 just add about 9 KB to your kernel.
1119 1186
1120 See <file:Documentation/mtrr.txt> for more information. 1187 See <file:Documentation/x86/mtrr.txt> for more information.
1121 1188
1122config MTRR_SANITIZER 1189config MTRR_SANITIZER
1123 bool 1190 def_bool y
1124 prompt "MTRR cleanup support" 1191 prompt "MTRR cleanup support"
1125 depends on MTRR 1192 depends on MTRR
1126 help 1193 help
@@ -1131,7 +1198,7 @@ config MTRR_SANITIZER
1131 The largest mtrr entry size for a continous block can be set with 1198 The largest mtrr entry size for a continous block can be set with
1132 mtrr_chunk_size. 1199 mtrr_chunk_size.
1133 1200
1134 If unsure, say N. 1201 If unsure, say Y.
1135 1202
1136config MTRR_SANITIZER_ENABLE_DEFAULT 1203config MTRR_SANITIZER_ENABLE_DEFAULT
1137 int "MTRR cleanup enable value (0-1)" 1204 int "MTRR cleanup enable value (0-1)"
@@ -1166,8 +1233,7 @@ config X86_PAT
1166 If unsure, say Y. 1233 If unsure, say Y.
1167 1234
1168config EFI 1235config EFI
1169 def_bool n 1236 bool "EFI runtime service support"
1170 prompt "EFI runtime service support"
1171 depends on ACPI 1237 depends on ACPI
1172 ---help--- 1238 ---help---
1173 This enables the kernel to use EFI runtime services that are 1239 This enables the kernel to use EFI runtime services that are
@@ -1180,18 +1246,9 @@ config EFI
1180 resultant kernel should continue to boot on existing non-EFI 1246 resultant kernel should continue to boot on existing non-EFI
1181 platforms. 1247 platforms.
1182 1248
1183config IRQBALANCE
1184 def_bool y
1185 prompt "Enable kernel irq balancing"
1186 depends on X86_32 && SMP && X86_IO_APIC
1187 help
1188 The default yes will allow the kernel to do irq load balancing.
1189 Saying no will keep the kernel from doing irq load balancing.
1190
1191config SECCOMP 1249config SECCOMP
1192 def_bool y 1250 def_bool y
1193 prompt "Enable seccomp to safely compute untrusted bytecode" 1251 prompt "Enable seccomp to safely compute untrusted bytecode"
1194 depends on PROC_FS
1195 help 1252 help
1196 This kernel feature is useful for number crunching applications 1253 This kernel feature is useful for number crunching applications
1197 that may need to compute untrusted bytecode during their 1254 that may need to compute untrusted bytecode during their
@@ -1199,7 +1256,7 @@ config SECCOMP
1199 the process as file descriptors supporting the read/write 1256 the process as file descriptors supporting the read/write
1200 syscalls, it's possible to isolate those applications in 1257 syscalls, it's possible to isolate those applications in
1201 their own address space using seccomp. Once seccomp is 1258 their own address space using seccomp. Once seccomp is
1202 enabled via /proc/<pid>/seccomp, it cannot be disabled 1259 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
1203 and the task is only allowed to execute a few safe syscalls 1260 and the task is only allowed to execute a few safe syscalls
1204 defined by each seccomp mode. 1261 defined by each seccomp mode.
1205 1262
@@ -1356,14 +1413,14 @@ config PHYSICAL_ALIGN
1356 Don't change this unless you know what you are doing. 1413 Don't change this unless you know what you are doing.
1357 1414
1358config HOTPLUG_CPU 1415config HOTPLUG_CPU
1359 bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)" 1416 bool "Support for hot-pluggable CPUs"
1360 depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER 1417 depends on SMP && HOTPLUG && !X86_VOYAGER
1361 ---help--- 1418 ---help---
1362 Say Y here to experiment with turning CPUs off and on, and to 1419 Say Y here to allow turning CPUs off and on. CPUs can be
1363 enable suspend on SMP systems. CPUs can be controlled through 1420 controlled through /sys/devices/system/cpu.
1364 /sys/devices/system/cpu. 1421 ( Note: power management support will enable this option
1365 Say N if you want to disable CPU hotplug and don't need to 1422 automatically on SMP systems. )
1366 suspend. 1423 Say N if you want to disable CPU hotplug.
1367 1424
1368config COMPAT_VDSO 1425config COMPAT_VDSO
1369 def_bool y 1426 def_bool y
@@ -1378,6 +1435,51 @@ config COMPAT_VDSO
1378 1435
1379 If unsure, say Y. 1436 If unsure, say Y.
1380 1437
1438config CMDLINE_BOOL
1439 bool "Built-in kernel command line"
1440 default n
1441 help
1442 Allow for specifying boot arguments to the kernel at
1443 build time. On some systems (e.g. embedded ones), it is
1444 necessary or convenient to provide some or all of the
1445 kernel boot arguments with the kernel itself (that is,
1446 to not rely on the boot loader to provide them.)
1447
1448 To compile command line arguments into the kernel,
1449 set this option to 'Y', then fill in the
1450 the boot arguments in CONFIG_CMDLINE.
1451
1452 Systems with fully functional boot loaders (i.e. non-embedded)
1453 should leave this option set to 'N'.
1454
1455config CMDLINE
1456 string "Built-in kernel command string"
1457 depends on CMDLINE_BOOL
1458 default ""
1459 help
1460 Enter arguments here that should be compiled into the kernel
1461 image and used at boot time. If the boot loader provides a
1462 command line at boot time, it is appended to this string to
1463 form the full kernel command line, when the system boots.
1464
1465 However, you can use the CONFIG_CMDLINE_OVERRIDE option to
1466 change this behavior.
1467
1468 In most cases, the command line (whether built-in or provided
1469 by the boot loader) should specify the device for the root
1470 file system.
1471
1472config CMDLINE_OVERRIDE
1473 bool "Built-in command line overrides boot loader arguments"
1474 default n
1475 depends on CMDLINE_BOOL
1476 help
1477 Set this option to 'Y' to have the kernel ignore the boot loader
1478 command line, and use ONLY the built-in command line.
1479
1480 This is used to work around broken boot loaders. This should
1481 be set to 'N' under normal conditions.
1482
1381endmenu 1483endmenu
1382 1484
1383config ARCH_ENABLE_MEMORY_HOTPLUG 1485config ARCH_ENABLE_MEMORY_HOTPLUG
@@ -1536,6 +1638,8 @@ source "arch/x86/kernel/cpu/cpufreq/Kconfig"
1536 1638
1537source "drivers/cpuidle/Kconfig" 1639source "drivers/cpuidle/Kconfig"
1538 1640
1641source "drivers/idle/Kconfig"
1642
1539endmenu 1643endmenu
1540 1644
1541 1645
@@ -1643,6 +1747,14 @@ config DMAR_FLOPPY_WA
1643 workaround will setup a 1:1 mapping for the first 1747 workaround will setup a 1:1 mapping for the first
1644 16M to make floppy (an ISA device) work. 1748 16M to make floppy (an ISA device) work.
1645 1749
1750config INTR_REMAP
1751 bool "Support for Interrupt Remapping (EXPERIMENTAL)"
1752 depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL
1753 help
1754 Supports Interrupt remapping for IO-APIC and MSI devices.
1755 To use x2apic mode in the CPU's which support x2APIC enhancements or
1756 to support platforms with CPU's having > 8 bit APIC ID, say Y.
1757
1646source "drivers/pci/pcie/Kconfig" 1758source "drivers/pci/pcie/Kconfig"
1647 1759
1648source "drivers/pci/Kconfig" 1760source "drivers/pci/Kconfig"
@@ -1759,7 +1871,7 @@ config IA32_EMULATION
1759 1871
1760config IA32_AOUT 1872config IA32_AOUT
1761 tristate "IA32 a.out support" 1873 tristate "IA32 a.out support"
1762 depends on IA32_EMULATION && ARCH_SUPPORTS_AOUT 1874 depends on IA32_EMULATION
1763 help 1875 help
1764 Support old a.out binaries in the 32bit emulation. 1876 Support old a.out binaries in the 32bit emulation.
1765 1877
@@ -1773,7 +1885,7 @@ config COMPAT_FOR_U64_ALIGNMENT
1773 1885
1774config SYSVIPC_COMPAT 1886config SYSVIPC_COMPAT
1775 def_bool y 1887 def_bool y
1776 depends on X86_64 && COMPAT && SYSVIPC 1888 depends on COMPAT && SYSVIPC
1777 1889
1778endmenu 1890endmenu
1779 1891