aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/Kconfig')
-rw-r--r--arch/x86/Kconfig111
1 files changed, 71 insertions, 40 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ac2fb0641a04..97f0d2b6dc0c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -29,6 +29,7 @@ config X86
29 select HAVE_FTRACE 29 select HAVE_FTRACE
30 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64) 30 select HAVE_KVM if ((X86_32 && !X86_VOYAGER && !X86_VISWS && !X86_NUMAQ) || X86_64)
31 select HAVE_ARCH_KGDB if !X86_VOYAGER 31 select HAVE_ARCH_KGDB if !X86_VOYAGER
32 select HAVE_ARCH_TRACEHOOK
32 select HAVE_GENERIC_DMA_COHERENT if X86_32 33 select HAVE_GENERIC_DMA_COHERENT if X86_32
33 select HAVE_EFFICIENT_UNALIGNED_ACCESS 34 select HAVE_EFFICIENT_UNALIGNED_ACCESS
34 35
@@ -577,35 +578,29 @@ config SWIOTLB
577 578
578config IOMMU_HELPER 579config IOMMU_HELPER
579 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU) 580 def_bool (CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU)
581
580config MAXSMP 582config MAXSMP
581 bool "Configure Maximum number of SMP Processors and NUMA Nodes" 583 bool "Configure Maximum number of SMP Processors and NUMA Nodes"
582 depends on X86_64 && SMP 584 depends on X86_64 && SMP && BROKEN
583 default n 585 default n
584 help 586 help
585 Configure maximum number of CPUS and NUMA Nodes for this architecture. 587 Configure maximum number of CPUS and NUMA Nodes for this architecture.
586 If unsure, say N. 588 If unsure, say N.
587 589
588if MAXSMP
589config NR_CPUS 590config NR_CPUS
590 int 591 int "Maximum number of CPUs (2-512)" if !MAXSMP
591 default "4096" 592 range 2 512
592endif
593
594if !MAXSMP
595config NR_CPUS
596 int "Maximum number of CPUs (2-4096)"
597 range 2 4096
598 depends on SMP 593 depends on SMP
594 default "4096" if MAXSMP
599 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000 595 default "32" if X86_NUMAQ || X86_SUMMIT || X86_BIGSMP || X86_ES7000
600 default "8" 596 default "8"
601 help 597 help
602 This allows you to specify the maximum number of CPUs which this 598 This allows you to specify the maximum number of CPUs which this
603 kernel will support. The maximum supported value is 4096 and the 599 kernel will support. The maximum supported value is 512 and the
604 minimum value which makes sense is 2. 600 minimum value which makes sense is 2.
605 601
606 This is purely to save memory - each supported CPU adds 602 This is purely to save memory - each supported CPU adds
607 approximately eight kilobytes to the kernel image. 603 approximately eight kilobytes to the kernel image.
608endif
609 604
610config SCHED_SMT 605config SCHED_SMT
611 bool "SMT (Hyperthreading) scheduler support" 606 bool "SMT (Hyperthreading) scheduler support"
@@ -951,9 +946,9 @@ config NUMA
951 local memory controller of the CPU and add some more 946 local memory controller of the CPU and add some more
952 NUMA awareness to the kernel. 947 NUMA awareness to the kernel.
953 948
954 For i386 this is currently highly experimental and should be only 949 For 32-bit this is currently highly experimental and should be only
955 used for kernel development. It might also cause boot failures. 950 used for kernel development. It might also cause boot failures.
956 For x86_64 this is recommended on all multiprocessor Opteron systems. 951 For 64-bit this is recommended on all multiprocessor Opteron systems.
957 If the system is EM64T, you should say N unless your system is 952 If the system is EM64T, you should say N unless your system is
958 EM64T NUMA. 953 EM64T NUMA.
959 954
@@ -996,17 +991,10 @@ config NUMA_EMU
996 into virtual nodes when booted with "numa=fake=N", where N is the 991 into virtual nodes when booted with "numa=fake=N", where N is the
997 number of nodes. This is only useful for debugging. 992 number of nodes. This is only useful for debugging.
998 993
999if MAXSMP
1000
1001config NODES_SHIFT 994config NODES_SHIFT
1002 int 995 int "Maximum NUMA Nodes (as a power of 2)" if !MAXSMP
1003 default "9"
1004endif
1005
1006if !MAXSMP
1007config NODES_SHIFT
1008 int "Maximum NUMA Nodes (as a power of 2)"
1009 range 1 9 if X86_64 996 range 1 9 if X86_64
997 default "9" if MAXSMP
1010 default "6" if X86_64 998 default "6" if X86_64
1011 default "4" if X86_NUMAQ 999 default "4" if X86_NUMAQ
1012 default "3" 1000 default "3"
@@ -1014,7 +1002,6 @@ config NODES_SHIFT
1014 help 1002 help
1015 Specify the maximum number of NUMA Nodes available on the target 1003 Specify the maximum number of NUMA Nodes available on the target
1016 system. Increases memory reserved to accomodate various tables. 1004 system. Increases memory reserved to accomodate various tables.
1017endif
1018 1005
1019config HAVE_ARCH_BOOTMEM_NODE 1006config HAVE_ARCH_BOOTMEM_NODE
1020 def_bool y 1007 def_bool y
@@ -1034,7 +1021,7 @@ config HAVE_ARCH_ALLOC_REMAP
1034 1021
1035config ARCH_FLATMEM_ENABLE 1022config ARCH_FLATMEM_ENABLE
1036 def_bool y 1023 def_bool y
1037 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && X86_PC && !NUMA 1024 depends on X86_32 && ARCH_SELECT_MEMORY_MODEL && !NUMA
1038 1025
1039config ARCH_DISCONTIGMEM_ENABLE 1026config ARCH_DISCONTIGMEM_ENABLE
1040 def_bool y 1027 def_bool y
@@ -1050,7 +1037,7 @@ config ARCH_SPARSEMEM_DEFAULT
1050 1037
1051config ARCH_SPARSEMEM_ENABLE 1038config ARCH_SPARSEMEM_ENABLE
1052 def_bool y 1039 def_bool y
1053 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) 1040 depends on X86_64 || NUMA || (EXPERIMENTAL && X86_PC) || X86_GENERICARCH
1054 select SPARSEMEM_STATIC if X86_32 1041 select SPARSEMEM_STATIC if X86_32
1055 select SPARSEMEM_VMEMMAP_ENABLE if X86_64 1042 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
1056 1043
@@ -1131,10 +1118,10 @@ config MTRR
1131 You can safely say Y even if your machine doesn't have MTRRs, you'll 1118 You can safely say Y even if your machine doesn't have MTRRs, you'll
1132 just add about 9 KB to your kernel. 1119 just add about 9 KB to your kernel.
1133 1120
1134 See <file:Documentation/mtrr.txt> for more information. 1121 See <file:Documentation/x86/mtrr.txt> for more information.
1135 1122
1136config MTRR_SANITIZER 1123config MTRR_SANITIZER
1137 bool 1124 def_bool y
1138 prompt "MTRR cleanup support" 1125 prompt "MTRR cleanup support"
1139 depends on MTRR 1126 depends on MTRR
1140 help 1127 help
@@ -1145,7 +1132,7 @@ config MTRR_SANITIZER
1145 The largest mtrr entry size for a continous block can be set with 1132 The largest mtrr entry size for a continous block can be set with
1146 mtrr_chunk_size. 1133 mtrr_chunk_size.
1147 1134
1148 If unsure, say N. 1135 If unsure, say Y.
1149 1136
1150config MTRR_SANITIZER_ENABLE_DEFAULT 1137config MTRR_SANITIZER_ENABLE_DEFAULT
1151 int "MTRR cleanup enable value (0-1)" 1138 int "MTRR cleanup enable value (0-1)"
@@ -1205,7 +1192,6 @@ config IRQBALANCE
1205config SECCOMP 1192config SECCOMP
1206 def_bool y 1193 def_bool y
1207 prompt "Enable seccomp to safely compute untrusted bytecode" 1194 prompt "Enable seccomp to safely compute untrusted bytecode"
1208 depends on PROC_FS
1209 help 1195 help
1210 This kernel feature is useful for number crunching applications 1196 This kernel feature is useful for number crunching applications
1211 that may need to compute untrusted bytecode during their 1197 that may need to compute untrusted bytecode during their
@@ -1213,7 +1199,7 @@ config SECCOMP
1213 the process as file descriptors supporting the read/write 1199 the process as file descriptors supporting the read/write
1214 syscalls, it's possible to isolate those applications in 1200 syscalls, it's possible to isolate those applications in
1215 their own address space using seccomp. Once seccomp is 1201 their own address space using seccomp. Once seccomp is
1216 enabled via /proc/<pid>/seccomp, it cannot be disabled 1202 enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
1217 and the task is only allowed to execute a few safe syscalls 1203 and the task is only allowed to execute a few safe syscalls
1218 defined by each seccomp mode. 1204 defined by each seccomp mode.
1219 1205
@@ -1263,7 +1249,7 @@ config KEXEC
1263 strongly in flux, so no good recommendation can be made. 1249 strongly in flux, so no good recommendation can be made.
1264 1250
1265config CRASH_DUMP 1251config CRASH_DUMP
1266 bool "kernel crash dumps (EXPERIMENTAL)" 1252 bool "kernel crash dumps"
1267 depends on X86_64 || (X86_32 && HIGHMEM) 1253 depends on X86_64 || (X86_32 && HIGHMEM)
1268 help 1254 help
1269 Generate crash dump after being started by kexec. 1255 Generate crash dump after being started by kexec.
@@ -1370,14 +1356,14 @@ config PHYSICAL_ALIGN
1370 Don't change this unless you know what you are doing. 1356 Don't change this unless you know what you are doing.
1371 1357
1372config HOTPLUG_CPU 1358config HOTPLUG_CPU
1373 bool "Support for suspend on SMP and hot-pluggable CPUs (EXPERIMENTAL)" 1359 bool "Support for hot-pluggable CPUs"
1374 depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER 1360 depends on SMP && HOTPLUG && !X86_VOYAGER
1375 ---help--- 1361 ---help---
1376 Say Y here to experiment with turning CPUs off and on, and to 1362 Say Y here to allow turning CPUs off and on. CPUs can be
1377 enable suspend on SMP systems. CPUs can be controlled through 1363 controlled through /sys/devices/system/cpu.
1378 /sys/devices/system/cpu. 1364 ( Note: power management support will enable this option
1379 Say N if you want to disable CPU hotplug and don't need to 1365 automatically on SMP systems. )
1380 suspend. 1366 Say N if you want to disable CPU hotplug.
1381 1367
1382config COMPAT_VDSO 1368config COMPAT_VDSO
1383 def_bool y 1369 def_bool y
@@ -1392,6 +1378,51 @@ config COMPAT_VDSO
1392 1378
1393 If unsure, say Y. 1379 If unsure, say Y.
1394 1380
1381config CMDLINE_BOOL
1382 bool "Built-in kernel command line"
1383 default n
1384 help
1385 Allow for specifying boot arguments to the kernel at
1386 build time. On some systems (e.g. embedded ones), it is
1387 necessary or convenient to provide some or all of the
1388 kernel boot arguments with the kernel itself (that is,
1389 to not rely on the boot loader to provide them.)
1390
1391 To compile command line arguments into the kernel,
1392 set this option to 'Y', then fill in the
1393 the boot arguments in CONFIG_CMDLINE.
1394
1395 Systems with fully functional boot loaders (i.e. non-embedded)
1396 should leave this option set to 'N'.
1397
1398config CMDLINE
1399 string "Built-in kernel command string"
1400 depends on CMDLINE_BOOL
1401 default ""
1402 help
1403 Enter arguments here that should be compiled into the kernel
1404 image and used at boot time. If the boot loader provides a
1405 command line at boot time, it is appended to this string to
1406 form the full kernel command line, when the system boots.
1407
1408 However, you can use the CONFIG_CMDLINE_OVERRIDE option to
1409 change this behavior.
1410
1411 In most cases, the command line (whether built-in or provided
1412 by the boot loader) should specify the device for the root
1413 file system.
1414
1415config CMDLINE_OVERRIDE
1416 bool "Built-in command line overrides boot loader arguments"
1417 default n
1418 depends on CMDLINE_BOOL
1419 help
1420 Set this option to 'Y' to have the kernel ignore the boot loader
1421 command line, and use ONLY the built-in command line.
1422
1423 This is used to work around broken boot loaders. This should
1424 be set to 'N' under normal conditions.
1425
1395endmenu 1426endmenu
1396 1427
1397config ARCH_ENABLE_MEMORY_HOTPLUG 1428config ARCH_ENABLE_MEMORY_HOTPLUG
@@ -1787,7 +1818,7 @@ config COMPAT_FOR_U64_ALIGNMENT
1787 1818
1788config SYSVIPC_COMPAT 1819config SYSVIPC_COMPAT
1789 def_bool y 1820 def_bool y
1790 depends on X86_64 && COMPAT && SYSVIPC 1821 depends on COMPAT && SYSVIPC
1791 1822
1792endmenu 1823endmenu
1793 1824