Kconfig (b11918bdbe79bd002d00a9f1d78958167ccfad99) Kconfig (df3735c5b40fad8d0d28eb8ab065fe955b3347ee)
1# Select 32 or 64 bit
2config 64BIT
3 bool "64-bit kernel" if ARCH = "x86"
4 default ARCH != "i386"
5 ---help---
6 Say yes to build a 64-bit kernel - formerly known as x86_64
7 Say no to build a 32-bit kernel - formerly known as i386
8

--- 41 unchanged lines hidden (view full) ---

50 select ARCH_HAS_DEVMEM_IS_ALLOWED
51 select ARCH_HAS_ELF_RANDOMIZE
52 select ARCH_HAS_FAST_MULTIPLIER
53 select ARCH_HAS_FORTIFY_SOURCE
54 select ARCH_HAS_GCOV_PROFILE_ALL
55 select ARCH_HAS_KCOV if X86_64
56 select ARCH_HAS_MMIO_FLUSH
57 select ARCH_HAS_PMEM_API if X86_64
1# Select 32 or 64 bit
2config 64BIT
3 bool "64-bit kernel" if ARCH = "x86"
4 default ARCH != "i386"
5 ---help---
6 Say yes to build a 64-bit kernel - formerly known as x86_64
7 Say no to build a 32-bit kernel - formerly known as i386
8

--- 41 unchanged lines hidden (view full) ---

50 select ARCH_HAS_DEVMEM_IS_ALLOWED
51 select ARCH_HAS_ELF_RANDOMIZE
52 select ARCH_HAS_FAST_MULTIPLIER
53 select ARCH_HAS_FORTIFY_SOURCE
54 select ARCH_HAS_GCOV_PROFILE_ALL
55 select ARCH_HAS_KCOV if X86_64
56 select ARCH_HAS_MMIO_FLUSH
57 select ARCH_HAS_PMEM_API if X86_64
58 # Causing hangs/crashes, see the commit that added this change for details.
59 select ARCH_HAS_REFCOUNT if BROKEN
58 select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64
59 select ARCH_HAS_SET_MEMORY
60 select ARCH_HAS_SG_CHAIN
61 select ARCH_HAS_STRICT_KERNEL_RWX
62 select ARCH_HAS_STRICT_MODULE_RWX
63 select ARCH_HAS_UBSAN_SANITIZE_ALL
64 select ARCH_HAS_ZONE_DEVICE if X86_64
65 select ARCH_HAVE_NMI_SAFE_CMPXCHG
66 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
67 select ARCH_MIGHT_HAVE_PC_PARPORT
68 select ARCH_MIGHT_HAVE_PC_SERIO
69 select ARCH_SUPPORTS_ATOMIC_RMW
70 select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
71 select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
72 select ARCH_USE_BUILTIN_BSWAP
73 select ARCH_USE_QUEUED_RWLOCKS
74 select ARCH_USE_QUEUED_SPINLOCKS
75 select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
60 select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64
61 select ARCH_HAS_SET_MEMORY
62 select ARCH_HAS_SG_CHAIN
63 select ARCH_HAS_STRICT_KERNEL_RWX
64 select ARCH_HAS_STRICT_MODULE_RWX
65 select ARCH_HAS_UBSAN_SANITIZE_ALL
66 select ARCH_HAS_ZONE_DEVICE if X86_64
67 select ARCH_HAVE_NMI_SAFE_CMPXCHG
68 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
69 select ARCH_MIGHT_HAVE_PC_PARPORT
70 select ARCH_MIGHT_HAVE_PC_SERIO
71 select ARCH_SUPPORTS_ATOMIC_RMW
72 select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT
73 select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
74 select ARCH_USE_BUILTIN_BSWAP
75 select ARCH_USE_QUEUED_RWLOCKS
76 select ARCH_USE_QUEUED_SPINLOCKS
77 select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
76 select ARCH_WANT_FRAME_POINTERS
77 select ARCH_WANTS_DYNAMIC_TASK_STRUCT
78 select ARCH_WANTS_THP_SWAP if X86_64
79 select BUILDTIME_EXTABLE_SORT
80 select CLKEVT_I8253
81 select CLOCKSOURCE_VALIDATE_LAST_CYCLE
82 select CLOCKSOURCE_WATCHDOG
83 select DCACHE_WORD_ACCESS
84 select EDAC_ATOMIC_SCRUB

--- 10 unchanged lines hidden (view full) ---

95 select GENERIC_IRQ_MIGRATION if SMP
96 select GENERIC_IRQ_PROBE
97 select GENERIC_IRQ_SHOW
98 select GENERIC_PENDING_IRQ if SMP
99 select GENERIC_SMP_IDLE_THREAD
100 select GENERIC_STRNCPY_FROM_USER
101 select GENERIC_STRNLEN_USER
102 select GENERIC_TIME_VSYSCALL
78 select ARCH_WANTS_DYNAMIC_TASK_STRUCT
79 select ARCH_WANTS_THP_SWAP if X86_64
80 select BUILDTIME_EXTABLE_SORT
81 select CLKEVT_I8253
82 select CLOCKSOURCE_VALIDATE_LAST_CYCLE
83 select CLOCKSOURCE_WATCHDOG
84 select DCACHE_WORD_ACCESS
85 select EDAC_ATOMIC_SCRUB

--- 10 unchanged lines hidden (view full) ---

96 select GENERIC_IRQ_MIGRATION if SMP
97 select GENERIC_IRQ_PROBE
98 select GENERIC_IRQ_SHOW
99 select GENERIC_PENDING_IRQ if SMP
100 select GENERIC_SMP_IDLE_THREAD
101 select GENERIC_STRNCPY_FROM_USER
102 select GENERIC_STRNLEN_USER
103 select GENERIC_TIME_VSYSCALL
104 select HARDLOCKUP_CHECK_TIMESTAMP if X86_64
103 select HAVE_ACPI_APEI if ACPI
104 select HAVE_ACPI_APEI_NMI if ACPI
105 select HAVE_ALIGNED_STRUCT_PAGE if SLUB
106 select HAVE_ARCH_AUDITSYSCALL
107 select HAVE_ARCH_HUGE_VMAP if X86_64 || X86_PAE
108 select HAVE_ARCH_JUMP_LABEL
109 select HAVE_ARCH_KASAN if X86_64 && SPARSEMEM_VMEMMAP
110 select HAVE_ARCH_KGDB

--- 41 unchanged lines hidden (view full) ---

152 select HAVE_KPROBES
153 select HAVE_KPROBES_ON_FTRACE
154 select HAVE_KRETPROBES
155 select HAVE_KVM
156 select HAVE_LIVEPATCH if X86_64
157 select HAVE_MEMBLOCK
158 select HAVE_MEMBLOCK_NODE_MAP
159 select HAVE_MIXED_BREAKPOINTS_REGS
105 select HAVE_ACPI_APEI if ACPI
106 select HAVE_ACPI_APEI_NMI if ACPI
107 select HAVE_ALIGNED_STRUCT_PAGE if SLUB
108 select HAVE_ARCH_AUDITSYSCALL
109 select HAVE_ARCH_HUGE_VMAP if X86_64 || X86_PAE
110 select HAVE_ARCH_JUMP_LABEL
111 select HAVE_ARCH_KASAN if X86_64 && SPARSEMEM_VMEMMAP
112 select HAVE_ARCH_KGDB

--- 41 unchanged lines hidden (view full) ---

154 select HAVE_KPROBES
155 select HAVE_KPROBES_ON_FTRACE
156 select HAVE_KRETPROBES
157 select HAVE_KVM
158 select HAVE_LIVEPATCH if X86_64
159 select HAVE_MEMBLOCK
160 select HAVE_MEMBLOCK_NODE_MAP
161 select HAVE_MIXED_BREAKPOINTS_REGS
162 select HAVE_MOD_ARCH_SPECIFIC
160 select HAVE_NMI
161 select HAVE_OPROFILE
162 select HAVE_OPTPROBES
163 select HAVE_PCSPKR_PLATFORM
164 select HAVE_PERF_EVENTS
165 select HAVE_PERF_EVENTS_NMI
163 select HAVE_NMI
164 select HAVE_OPROFILE
165 select HAVE_OPTPROBES
166 select HAVE_PCSPKR_PLATFORM
167 select HAVE_PERF_EVENTS
168 select HAVE_PERF_EVENTS_NMI
166 select HAVE_HARDLOCKUP_DETECTOR_PERF if HAVE_PERF_EVENTS_NMI
169 select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
167 select HAVE_PERF_REGS
168 select HAVE_PERF_USER_STACK_DUMP
170 select HAVE_PERF_REGS
171 select HAVE_PERF_USER_STACK_DUMP
172 select HAVE_RCU_TABLE_FREE
169 select HAVE_REGS_AND_STACK_ACCESS_API
173 select HAVE_REGS_AND_STACK_ACCESS_API
170 select HAVE_RELIABLE_STACKTRACE if X86_64 && FRAME_POINTER && STACK_VALIDATION
174 select HAVE_RELIABLE_STACKTRACE if X86_64 && FRAME_POINTER_UNWINDER && STACK_VALIDATION
171 select HAVE_STACK_VALIDATION if X86_64
172 select HAVE_SYSCALL_TRACEPOINTS
173 select HAVE_UNSTABLE_SCHED_CLOCK
174 select HAVE_USER_RETURN_NOTIFIER
175 select IRQ_FORCED_THREADING
176 select PCI_LOCKLESS_CONFIG
177 select PERF_EVENTS
178 select RTC_LIB

--- 142 unchanged lines hidden (view full) ---

321config ARCH_SUPPORTS_UPROBES
322 def_bool y
323
324config FIX_EARLYCON_MEM
325 def_bool y
326
327config PGTABLE_LEVELS
328 int
175 select HAVE_STACK_VALIDATION if X86_64
176 select HAVE_SYSCALL_TRACEPOINTS
177 select HAVE_UNSTABLE_SCHED_CLOCK
178 select HAVE_USER_RETURN_NOTIFIER
179 select IRQ_FORCED_THREADING
180 select PCI_LOCKLESS_CONFIG
181 select PERF_EVENTS
182 select RTC_LIB

--- 142 unchanged lines hidden (view full) ---

325config ARCH_SUPPORTS_UPROBES
326 def_bool y
327
328config FIX_EARLYCON_MEM
329 def_bool y
330
331config PGTABLE_LEVELS
332 int
333 default 5 if X86_5LEVEL
329 default 4 if X86_64
330 default 3 if X86_PAE
331 default 2
332
333source "init/Kconfig"
334source "kernel/Kconfig.freezer"
335
336menu "Processor type and features"

--- 82 unchanged lines hidden (view full) ---

419 depends on X86_32 && SMP
420 ---help---
421 This option is needed for the systems that have more than 8 CPUs
422
423config GOLDFISH
424 def_bool y
425 depends on X86_GOLDFISH
426
334 default 4 if X86_64
335 default 3 if X86_PAE
336 default 2
337
338source "init/Kconfig"
339source "kernel/Kconfig.freezer"
340
341menu "Processor type and features"

--- 82 unchanged lines hidden (view full) ---

424 depends on X86_32 && SMP
425 ---help---
426 This option is needed for the systems that have more than 8 CPUs
427
428config GOLDFISH
429 def_bool y
430 depends on X86_GOLDFISH
431
427config INTEL_RDT_A
428 bool "Intel Resource Director Technology Allocation support"
432config INTEL_RDT
433 bool "Intel Resource Director Technology support"
429 default n
430 depends on X86 && CPU_SUP_INTEL
431 select KERNFS
432 help
434 default n
435 depends on X86 && CPU_SUP_INTEL
436 select KERNFS
437 help
433 Select to enable resource allocation which is a sub-feature of
434 Intel Resource Director Technology(RDT). More information about
435 RDT can be found in the Intel x86 Architecture Software
436 Developer Manual.
438 Select to enable resource allocation and monitoring which are
439 sub-features of Intel Resource Director Technology(RDT). More
440 information about RDT can be found in the Intel x86
441 Architecture Software Developer Manual.
437
438 Say N if unsure.
439
440if X86_32
441config X86_EXTENDED_PLATFORM
442 bool "Support for extended (non-PC) x86 platforms"
443 default y
444 ---help---

--- 327 unchanged lines hidden (view full) ---

772 bool "Enable debug information for KVM Guests in debugfs"
773 depends on KVM_GUEST && DEBUG_FS
774 default n
775 ---help---
776 This option enables collection of various statistics for KVM guest.
777 Statistics are displayed in debugfs filesystem. Enabling this option
778 may incur significant overhead.
779
442
443 Say N if unsure.
444
445if X86_32
446config X86_EXTENDED_PLATFORM
447 bool "Support for extended (non-PC) x86 platforms"
448 default y
449 ---help---

--- 327 unchanged lines hidden (view full) ---

777 bool "Enable debug information for KVM Guests in debugfs"
778 depends on KVM_GUEST && DEBUG_FS
779 default n
780 ---help---
781 This option enables collection of various statistics for KVM guest.
782 Statistics are displayed in debugfs filesystem. Enabling this option
783 may incur significant overhead.
784
780source "arch/x86/lguest/Kconfig"
781
782config PARAVIRT_TIME_ACCOUNTING
783 bool "Paravirtual steal time accounting"
784 depends on PARAVIRT
785 default n
786 ---help---
787 Select this option to enable fine granularity task steal time
788 accounting. Time spent executing other tasks in parallel with
789 the current vCPU is discounted from the vCPU power. To account for

--- 603 unchanged lines hidden (view full) ---

1393 depends on X86_32 && !HIGHMEM4G
1394 select SWIOTLB
1395 ---help---
1396 PAE is required for NX support, and furthermore enables
1397 larger swapspace support for non-overcommit purposes. It
1398 has the cost of more pagetable lookup overhead, and also
1399 consumes more pagetable space per process.
1400
785config PARAVIRT_TIME_ACCOUNTING
786 bool "Paravirtual steal time accounting"
787 depends on PARAVIRT
788 default n
789 ---help---
790 Select this option to enable fine granularity task steal time
791 accounting. Time spent executing other tasks in parallel with
792 the current vCPU is discounted from the vCPU power. To account for

--- 603 unchanged lines hidden (view full) ---

1396 depends on X86_32 && !HIGHMEM4G
1397 select SWIOTLB
1398 ---help---
1399 PAE is required for NX support, and furthermore enables
1400 larger swapspace support for non-overcommit purposes. It
1401 has the cost of more pagetable lookup overhead, and also
1402 consumes more pagetable space per process.
1403
1404config X86_5LEVEL
1405 bool "Enable 5-level page tables support"
1406 depends on X86_64
1407 ---help---
1408 5-level paging enables access to larger address space:
1409 upto 128 PiB of virtual address space and 4 PiB of
1410 physical address space.
1411
1412 It will be supported by future Intel CPUs.
1413
1414 Note: a kernel with this option enabled can only be booted
1415 on machines that support the feature.
1416
1417 See Documentation/x86/x86_64/5level-paging.txt for more
1418 information.
1419
1420 Say N if unsure.
1421
1401config ARCH_PHYS_ADDR_T_64BIT
1402 def_bool y
1403 depends on X86_64 || X86_PAE
1404
1405config ARCH_DMA_ADDR_T_64BIT
1406 def_bool y
1407 depends on X86_64 || HIGHMEM64G
1408
1409config X86_DIRECT_GBPAGES
1410 def_bool y
1411 depends on X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK
1412 ---help---
1413 Certain kernel features effectively disable kernel
1414 linear 1 GB mappings (even if the CPU otherwise
1415 supports them), so don't confuse the user by printing
1416 that we have them enabled.
1417
1422config ARCH_PHYS_ADDR_T_64BIT
1423 def_bool y
1424 depends on X86_64 || X86_PAE
1425
1426config ARCH_DMA_ADDR_T_64BIT
1427 def_bool y
1428 depends on X86_64 || HIGHMEM64G
1429
1430config X86_DIRECT_GBPAGES
1431 def_bool y
1432 depends on X86_64 && !DEBUG_PAGEALLOC && !KMEMCHECK
1433 ---help---
1434 Certain kernel features effectively disable kernel
1435 linear 1 GB mappings (even if the CPU otherwise
1436 supports them), so don't confuse the user by printing
1437 that we have them enabled.
1438
1439config ARCH_HAS_MEM_ENCRYPT
1440 def_bool y
1441
1442config AMD_MEM_ENCRYPT
1443 bool "AMD Secure Memory Encryption (SME) support"
1444 depends on X86_64 && CPU_SUP_AMD
1445 ---help---
1446 Say yes to enable support for the encryption of system memory.
1447 This requires an AMD processor that supports Secure Memory
1448 Encryption (SME).
1449
1450config AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
1451 bool "Activate AMD Secure Memory Encryption (SME) by default"
1452 default y
1453 depends on AMD_MEM_ENCRYPT
1454 ---help---
1455 Say yes to have system memory encrypted by default if running on
1456 an AMD processor that supports Secure Memory Encryption (SME).
1457
1458 If set to Y, then the encryption of system memory can be
1459 deactivated with the mem_encrypt=off command line option.
1460
1461 If set to N, then the encryption of system memory can be
1462 activated with the mem_encrypt=on command line option.
1463
1464config ARCH_USE_MEMREMAP_PROT
1465 def_bool y
1466 depends on AMD_MEM_ENCRYPT
1467
1418# Common NUMA Features
1419config NUMA
1420 bool "Numa Memory Allocation and Scheduler Support"
1421 depends on SMP
1422 depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP)
1423 default y if X86_BIGSMP
1424 ---help---
1425 Enable NUMA (Non Uniform Memory Access) support.

--- 325 unchanged lines hidden (view full) ---

1751 performance cost if this enabled and turned on; there is
1752 also a small increase in the kernel size if this is enabled.
1753
1754 If unsure, say Y.
1755
1756config X86_INTEL_MPX
1757 prompt "Intel MPX (Memory Protection Extensions)"
1758 def_bool n
1468# Common NUMA Features
1469config NUMA
1470 bool "Numa Memory Allocation and Scheduler Support"
1471 depends on SMP
1472 depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP)
1473 default y if X86_BIGSMP
1474 ---help---
1475 Enable NUMA (Non Uniform Memory Access) support.

--- 325 unchanged lines hidden (view full) ---

1801 performance cost if this enabled and turned on; there is
1802 also a small increase in the kernel size if this is enabled.
1803
1804 If unsure, say Y.
1805
1806config X86_INTEL_MPX
1807 prompt "Intel MPX (Memory Protection Extensions)"
1808 def_bool n
1759 depends on CPU_SUP_INTEL
1809 # Note: only available in 64-bit mode due to VMA flags shortage
1810 depends on CPU_SUP_INTEL && X86_64
1811 select ARCH_USES_HIGH_VMA_FLAGS
1760 ---help---
1761 MPX provides hardware features that can be used in
1762 conjunction with compiler-instrumented code to check
1763 memory references. It is designed to detect buffer
1764 overflow or underflow bugs.
1765
1766 This option enables running applications which are
1767 instrumented or otherwise use MPX. It does not use MPX

--- 1056 unchanged lines hidden ---
1812 ---help---
1813 MPX provides hardware features that can be used in
1814 conjunction with compiler-instrumented code to check
1815 memory references. It is designed to detect buffer
1816 overflow or underflow bugs.
1817
1818 This option enables running applications which are
1819 instrumented or otherwise use MPX. It does not use MPX

--- 1056 unchanged lines hidden ---