hc
2024-09-20 a36159eec6ca17402b0e146b86efaf76568dc353
kernel/arch/x86/Kconfig
....@@ -3,7 +3,7 @@
33 config 64BIT
44 bool "64-bit kernel" if "$(ARCH)" = "x86"
55 default "$(ARCH)" != "i386"
6
- ---help---
6
+ help
77 Say yes to build a 64-bit kernel - formerly known as x86_64
88 Say no to build a 32-bit kernel - formerly known as i386
99
....@@ -14,26 +14,36 @@
1414 select ARCH_WANT_IPC_PARSE_VERSION
1515 select CLKSRC_I8253
1616 select CLONE_BACKWARDS
17
- select HAVE_AOUT
18
- select HAVE_GENERIC_DMA_COHERENT
17
+ select HAVE_DEBUG_STACKOVERFLOW
1918 select MODULES_USE_ELF_REL
2019 select OLD_SIGACTION
2120 select GENERIC_VDSO_32
21
+ select ARCH_SPLIT_ARG64
2222
2323 config X86_64
2424 def_bool y
2525 depends on 64BIT
2626 # Options that are inherently 64-bit kernel only:
27
- select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA
28
- select ARCH_SUPPORTS_INT128
27
+ select ARCH_HAS_GIGANTIC_PAGE
28
+ select ARCH_SUPPORTS_INT128 if CC_HAS_INT128
29
+ select ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT
2930 select ARCH_USE_CMPXCHG_LOCKREF
3031 select HAVE_ARCH_SOFT_DIRTY
3132 select MODULES_USE_ELF_RELA
3233 select NEED_DMA_MAP_STATE
3334 select SWIOTLB
34
- select X86_DEV_DMA_OPS
35
- select ARCH_HAS_SYSCALL_WRAPPER
3635
36
+config FORCE_DYNAMIC_FTRACE
37
+ def_bool y
38
+ depends on X86_32
39
+ depends on FUNCTION_TRACER
40
+ select DYNAMIC_FTRACE
41
+ help
42
+ We keep the static function tracing (!DYNAMIC_FTRACE) around
43
+ in order to test the non static function tracing in the
44
+ generic code, as other architectures still use it. But we
45
+ only need to keep it around for x86_64. No need to keep it
46
+ for x86_32. For x86_32, force DYNAMIC_FTRACE.
3747 #
3848 # Arch settings
3949 #
....@@ -47,50 +57,61 @@
4757 #
4858 select ACPI_LEGACY_TABLES_LOOKUP if ACPI
4959 select ACPI_SYSTEM_POWER_STATES_SUPPORT if ACPI
50
- select ARCH_CLOCKSOURCE_DATA
51
- select ARCH_DISCARD_MEMBLOCK
60
+ select ARCH_32BIT_OFF_T if X86_32
61
+ select ARCH_CLOCKSOURCE_INIT
5262 select ARCH_HAS_ACPI_TABLE_UPGRADE if ACPI
63
+ select ARCH_HAS_CPU_FINALIZE_INIT
5364 select ARCH_HAS_DEBUG_VIRTUAL
65
+ select ARCH_HAS_DEBUG_VM_PGTABLE if !X86_PAE
5466 select ARCH_HAS_DEVMEM_IS_ALLOWED
67
+ select ARCH_HAS_EARLY_DEBUG if KGDB
5568 select ARCH_HAS_ELF_RANDOMIZE
5669 select ARCH_HAS_FAST_MULTIPLIER
5770 select ARCH_HAS_FILTER_PGPROT
5871 select ARCH_HAS_FORTIFY_SOURCE
5972 select ARCH_HAS_GCOV_PROFILE_ALL
60
- select ARCH_HAS_KCOV if X86_64
73
+ select ARCH_HAS_KCOV if X86_64 && STACK_VALIDATION
74
+ select ARCH_HAS_MEM_ENCRYPT
6175 select ARCH_HAS_MEMBARRIER_SYNC_CORE
76
+ select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
6277 select ARCH_HAS_PMEM_API if X86_64
78
+ select ARCH_HAS_PTE_DEVMAP if X86_64
6379 select ARCH_HAS_PTE_SPECIAL
64
- select ARCH_HAS_REFCOUNT
6580 select ARCH_HAS_UACCESS_FLUSHCACHE if X86_64
66
- select ARCH_HAS_UACCESS_MCSAFE if X86_64 && X86_MCE
81
+ select ARCH_HAS_COPY_MC if X86_64
6782 select ARCH_HAS_SET_MEMORY
68
- select ARCH_HAS_SG_CHAIN
83
+ select ARCH_HAS_SET_DIRECT_MAP
6984 select ARCH_HAS_STRICT_KERNEL_RWX
7085 select ARCH_HAS_STRICT_MODULE_RWX
7186 select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
87
+ select ARCH_HAS_SYSCALL_WRAPPER
7288 select ARCH_HAS_UBSAN_SANITIZE_ALL
73
- select ARCH_HAS_ZONE_DEVICE if X86_64
89
+ select ARCH_HAS_DEBUG_WX
7490 select ARCH_HAVE_NMI_SAFE_CMPXCHG
7591 select ARCH_MIGHT_HAVE_ACPI_PDC if ACPI
7692 select ARCH_MIGHT_HAVE_PC_PARPORT
7793 select ARCH_MIGHT_HAVE_PC_SERIO
94
+ select ARCH_STACKWALK
7895 select ARCH_SUPPORTS_ACPI
7996 select ARCH_SUPPORTS_ATOMIC_RMW
8097 select ARCH_SUPPORTS_NUMA_BALANCING if X86_64
8198 select ARCH_SUPPORTS_LTO_CLANG if X86_64
99
+ select ARCH_SUPPORTS_LTO_CLANG_THIN if X86_64
82100 select ARCH_USE_BUILTIN_BSWAP
83101 select ARCH_USE_QUEUED_RWLOCKS
84102 select ARCH_USE_QUEUED_SPINLOCKS
103
+ select ARCH_USE_SYM_ANNOTATIONS
85104 select ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH
105
+ select ARCH_WANT_DEFAULT_BPF_JIT if X86_64
86106 select ARCH_WANTS_DYNAMIC_TASK_STRUCT
107
+ select ARCH_WANT_HUGE_PMD_SHARE
108
+ select ARCH_WANT_LD_ORPHAN_WARN
87109 select ARCH_WANTS_THP_SWAP if X86_64
88
- select BUILDTIME_EXTABLE_SORT
110
+ select BUILDTIME_TABLE_SORT
89111 select CLKEVT_I8253
90112 select CLOCKSOURCE_VALIDATE_LAST_CYCLE
91113 select CLOCKSOURCE_WATCHDOG
92114 select DCACHE_WORD_ACCESS
93
- select DMA_DIRECT_OPS
94115 select EDAC_ATOMIC_SCRUB
95116 select EDAC_SUPPORT
96117 select GENERIC_CLOCKEVENTS
....@@ -100,6 +121,7 @@
100121 select GENERIC_CPU_AUTOPROBE
101122 select GENERIC_CPU_VULNERABILITIES
102123 select GENERIC_EARLY_IOREMAP
124
+ select GENERIC_ENTRY
103125 select GENERIC_FIND_FIRST_BIT
104126 select GENERIC_IOMAP
105127 select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
....@@ -109,11 +131,15 @@
109131 select GENERIC_IRQ_RESERVATION_MODE
110132 select GENERIC_IRQ_SHOW
111133 select GENERIC_PENDING_IRQ if SMP
134
+ select GENERIC_PTDUMP
112135 select GENERIC_SMP_IDLE_THREAD
113136 select GENERIC_STRNCPY_FROM_USER
114137 select GENERIC_STRNLEN_USER
115138 select GENERIC_TIME_VSYSCALL
116139 select GENERIC_GETTIMEOFDAY
140
+ select GENERIC_VDSO_TIME_NS
141
+ select GUP_GET_PTE_LOW_HIGH if X86_PAE
142
+ select HARDIRQS_SW_RESEND
117143 select HARDLOCKUP_CHECK_TIMESTAMP if X86_64
118144 select HAVE_ACPI_APEI if ACPI
119145 select HAVE_ACPI_APEI_NMI if ACPI
....@@ -121,32 +147,41 @@
121147 select HAVE_ARCH_AUDITSYSCALL
122148 select HAVE_ARCH_HUGE_VMAP if X86_64 || X86_PAE
123149 select HAVE_ARCH_JUMP_LABEL
150
+ select HAVE_ARCH_JUMP_LABEL_RELATIVE
124151 select HAVE_ARCH_KASAN if X86_64
152
+ select HAVE_ARCH_KASAN_VMALLOC if X86_64
153
+ select HAVE_ARCH_KFENCE
125154 select HAVE_ARCH_KGDB
126155 select HAVE_ARCH_MMAP_RND_BITS if MMU
127156 select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
128157 select HAVE_ARCH_COMPAT_MMAP_BASES if MMU && COMPAT
129
- select HAVE_ARCH_PREL32_RELOCATIONS if !LTO_CLANG
158
+ select HAVE_ARCH_PREL32_RELOCATIONS
130159 select HAVE_ARCH_SECCOMP_FILTER
131160 select HAVE_ARCH_THREAD_STRUCT_WHITELIST
161
+ select HAVE_ARCH_STACKLEAK
132162 select HAVE_ARCH_TRACEHOOK
133163 select HAVE_ARCH_TRANSPARENT_HUGEPAGE
134164 select HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD if X86_64
165
+ select HAVE_ARCH_USERFAULTFD_WP if X86_64 && USERFAULTFD
166
+ select HAVE_ARCH_USERFAULTFD_MINOR if X86_64 && USERFAULTFD
135167 select HAVE_ARCH_VMAP_STACK if X86_64
136168 select HAVE_ARCH_WITHIN_STACK_FRAMES
169
+ select HAVE_ASM_MODVERSIONS
137170 select HAVE_CMPXCHG_DOUBLE
138171 select HAVE_CMPXCHG_LOCAL
139172 select HAVE_CONTEXT_TRACKING if X86_64
140
- select HAVE_COPY_THREAD_TLS
141173 select HAVE_C_RECORDMCOUNT
174
+ select HAVE_OBJTOOL_MCOUNT if STACK_VALIDATION
142175 select HAVE_DEBUG_KMEMLEAK
143
- select HAVE_DEBUG_STACKOVERFLOW
144176 select HAVE_DMA_CONTIGUOUS
145177 select HAVE_DYNAMIC_FTRACE
146178 select HAVE_DYNAMIC_FTRACE_WITH_REGS
179
+ select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
147180 select HAVE_EBPF_JIT
148181 select HAVE_EFFICIENT_UNALIGNED_ACCESS
182
+ select HAVE_EISA
149183 select HAVE_EXIT_THREAD
184
+ select HAVE_FAST_GUP
150185 select HAVE_FENTRY if X86_64 || DYNAMIC_FTRACE
151186 select HAVE_FTRACE_MCOUNT_RECORD
152187 select HAVE_FUNCTION_GRAPH_TRACER
....@@ -155,7 +190,6 @@
155190 select HAVE_HW_BREAKPOINT
156191 select HAVE_IDE
157192 select HAVE_IOREMAP_PROT
158
- select HAVE_IRQ_EXIT_ON_IRQ_STACK if X86_64
159193 select HAVE_IRQ_TIME_ACCOUNTING
160194 select HAVE_KERNEL_BZIP2
161195 select HAVE_KERNEL_GZIP
....@@ -163,16 +197,17 @@
163197 select HAVE_KERNEL_LZMA
164198 select HAVE_KERNEL_LZO
165199 select HAVE_KERNEL_XZ
200
+ select HAVE_KERNEL_ZSTD
166201 select HAVE_KPROBES
167202 select HAVE_KPROBES_ON_FTRACE
168203 select HAVE_FUNCTION_ERROR_INJECTION
169204 select HAVE_KRETPROBES
170205 select HAVE_KVM
171206 select HAVE_LIVEPATCH if X86_64
172
- select HAVE_MEMBLOCK
173
- select HAVE_MEMBLOCK_NODE_MAP
174207 select HAVE_MIXED_BREAKPOINTS_REGS
175208 select HAVE_MOD_ARCH_SPECIFIC
209
+ select HAVE_MOVE_PMD
210
+ select HAVE_MOVE_PUD
176211 select HAVE_NMI
177212 select HAVE_OPROFILE
178213 select HAVE_OPTPROBES
....@@ -180,15 +215,18 @@
180215 select HAVE_PERF_EVENTS
181216 select HAVE_PERF_EVENTS_NMI
182217 select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
218
+ select HAVE_PCI
183219 select HAVE_PERF_REGS
184220 select HAVE_PERF_USER_STACK_DUMP
185
- select HAVE_PREEMPT_LAZY
186
- select HAVE_RCU_TABLE_FREE if PARAVIRT
187
- select HAVE_RCU_TABLE_INVALIDATE if HAVE_RCU_TABLE_FREE
221
+ select MMU_GATHER_RCU_TABLE_FREE if PARAVIRT
222
+ select HAVE_POSIX_CPU_TIMERS_TASK_WORK
188223 select HAVE_REGS_AND_STACK_ACCESS_API
189224 select HAVE_RELIABLE_STACKTRACE if X86_64 && (UNWINDER_FRAME_POINTER || UNWINDER_ORC) && STACK_VALIDATION
225
+ select HAVE_FUNCTION_ARG_ACCESS_API
190226 select HAVE_STACKPROTECTOR if CC_HAS_SANE_STACKPROTECTOR
191
- select HAVE_STACK_VALIDATION if X86_64 && !LTO_CLANG
227
+ select HAVE_STACK_VALIDATION if X86_64
228
+ select HAVE_STATIC_CALL
229
+ select HAVE_STATIC_CALL_INLINE if HAVE_STACK_VALIDATION
192230 select HAVE_RSEQ
193231 select HAVE_SYSCALL_TRACEPOINTS
194232 select HAVE_UNSTABLE_SCHED_CLOCK
....@@ -197,17 +235,22 @@
197235 select HOTPLUG_SMT if SMP
198236 select IRQ_FORCED_THREADING
199237 select NEED_SG_DMA_LENGTH
200
- select PCI_LOCKLESS_CONFIG
238
+ select PCI_DOMAINS if PCI
239
+ select PCI_LOCKLESS_CONFIG if PCI
201240 select PERF_EVENTS
202241 select RTC_LIB
203242 select RTC_MC146818_LIB
204243 select SPARSE_IRQ
205244 select SRCU
245
+ select STACK_VALIDATION if HAVE_STACK_VALIDATION && (HAVE_STATIC_CALL_INLINE || RETPOLINE)
206246 select SYSCTL_EXCEPTION_TRACE
207247 select THREAD_INFO_IN_TASK
208248 select USER_STACKTRACE_SUPPORT
209249 select VIRT_TO_BUS
250
+ select HAVE_ARCH_KCSAN if X86_64
210251 select X86_FEATURE_NAMES if PROC_FS
252
+ select PROC_PID_ARCH_STATUS if PROC_FS
253
+ imply IMA_SECURE_AND_OR_TRUSTED_BOOT if EFI
211254
212255 config INSTRUCTION_DECODER
213256 def_bool y
....@@ -217,11 +260,6 @@
217260 string
218261 default "elf32-i386" if X86_32
219262 default "elf64-x86-64" if X86_64
220
-
221
-config ARCH_DEFCONFIG
222
- string
223
- default "arch/x86/configs/i386_defconfig" if X86_32
224
- default "arch/x86/configs/x86_64_defconfig" if X86_64
225263
226264 config LOCKDEP_SUPPORT
227265 def_bool y
....@@ -261,18 +299,9 @@
261299 config GENERIC_BUG_RELATIVE_POINTERS
262300 bool
263301
264
-config GENERIC_HWEIGHT
265
- def_bool y
266
-
267302 config ARCH_MAY_HAVE_PC_FDC
268303 def_bool y
269304 depends on ISA_DMA_API
270
-
271
-config RWSEM_GENERIC_SPINLOCK
272
- def_bool PREEMPT_RT_FULL
273
-
274
-config RWSEM_XCHGADD_ALGORITHM
275
- def_bool !RWSEM_GENERIC_SPINLOCK && !PREEMPT_RT_FULL
276305
277306 config GENERIC_CALIBRATE_DELAY
278307 def_bool y
....@@ -301,9 +330,6 @@
301330 config ARCH_SUSPEND_POSSIBLE
302331 def_bool y
303332
304
-config ARCH_WANT_HUGE_PMD_SHARE
305
- def_bool y
306
-
307333 config ARCH_WANT_GENERAL_HUGETLB
308334 def_bool y
309335
....@@ -312,9 +338,6 @@
312338
313339 config AUDIT_ARCH
314340 def_bool y if X86_64
315
-
316
-config ARCH_SUPPORTS_OPTIMIZED_INLINING
317
- def_bool y
318341
319342 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
320343 def_bool y
....@@ -378,7 +401,7 @@
378401
379402 config SMP
380403 bool "Symmetric multi-processing support"
381
- ---help---
404
+ help
382405 This enables support for systems with more than one CPU. If you have
383406 a system with only one CPU, say N. If you have a system with more
384407 than one CPU, say Y.
....@@ -398,8 +421,8 @@
398421 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
399422 Management" code will be disabled if you say Y here.
400423
401
- See also <file:Documentation/x86/i386/IO-APIC.txt>,
402
- <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO available at
424
+ See also <file:Documentation/x86/i386/IO-APIC.rst>,
425
+ <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
403426 <http://www.tldp.org/docs.html#howto>.
404427
405428 If you don't know what to do here, say N.
....@@ -407,7 +430,7 @@
407430 config X86_FEATURE_NAMES
408431 bool "Processor feature human-readable names" if EMBEDDED
409432 default y
410
- ---help---
433
+ help
411434 This option compiles in a table of x86 feature bits and corresponding
412435 names. This is required to support /proc/cpuinfo and a few kernel
413436 messages. You can disable this to save space, at the expense of
....@@ -418,7 +441,7 @@
418441 config X86_X2APIC
419442 bool "Support x2apic"
420443 depends on X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST)
421
- ---help---
444
+ help
422445 This enables x2apic support on CPUs that have this feature.
423446
424447 This allows 32-bit apic IDs (so it can support very large systems),
....@@ -430,34 +453,32 @@
430453 bool "Enable MPS table" if ACPI || SFI
431454 default y
432455 depends on X86_LOCAL_APIC
433
- ---help---
456
+ help
434457 For old smp systems that do not have proper acpi support. Newer systems
435458 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it
436459
437460 config GOLDFISH
438
- def_bool y
439
- depends on X86_GOLDFISH
461
+ def_bool y
462
+ depends on X86_GOLDFISH
440463
441
-config RETPOLINE
442
- bool "Avoid speculative indirect branches in kernel"
443
- default y
444
- select STACK_VALIDATION if HAVE_STACK_VALIDATION
445
- help
446
- Compile kernel with the retpoline compiler options to guard against
447
- kernel-to-user data leaks by avoiding speculative indirect
448
- branches. Requires a compiler with -mindirect-branch=thunk-extern
449
- support for full protection. The kernel may run slower.
450
-
451
-config INTEL_RDT
452
- bool "Intel Resource Director Technology support"
453
- default n
454
- depends on X86 && CPU_SUP_INTEL
464
+config X86_CPU_RESCTRL
465
+ bool "x86 CPU resource control support"
466
+ depends on X86 && (CPU_SUP_INTEL || CPU_SUP_AMD)
455467 select KERNFS
468
+ select PROC_CPU_RESCTRL if PROC_FS
456469 help
457
- Select to enable resource allocation and monitoring which are
458
- sub-features of Intel Resource Director Technology(RDT). More
459
- information about RDT can be found in the Intel x86
460
- Architecture Software Developer Manual.
470
+ Enable x86 CPU resource control support.
471
+
472
+ Provide support for the allocation and monitoring of system resources
473
+ usage by the CPU.
474
+
475
+ Intel calls this Intel Resource Director Technology
476
+ (Intel(R) RDT). More information about RDT can be found in the
477
+ Intel x86 Architecture Software Developer Manual.
478
+
479
+ AMD calls this AMD Platform Quality of Service (AMD QoS).
480
+ More information about AMD QoS can be found in the AMD64 Technology
481
+ Platform Quality of Service Extensions manual.
461482
462483 Say N if unsure.
463484
....@@ -465,13 +486,13 @@
465486 config X86_BIGSMP
466487 bool "Support for big SMP systems with more than 8 CPUs"
467488 depends on SMP
468
- ---help---
469
- This option is needed for the systems that have more than 8 CPUs
489
+ help
490
+ This option is needed for the systems that have more than 8 CPUs.
470491
471492 config X86_EXTENDED_PLATFORM
472493 bool "Support for extended (non-PC) x86 platforms"
473494 default y
474
- ---help---
495
+ help
475496 If you disable this option then the kernel will only support
476497 standard PC platforms. (which covers the vast majority of
477498 systems out there.)
....@@ -493,7 +514,7 @@
493514 config X86_EXTENDED_PLATFORM
494515 bool "Support for extended (non-PC) x86 platforms"
495516 default y
496
- ---help---
517
+ help
497518 If you disable this option then the kernel will only support
498519 standard PC platforms. (which covers the vast majority of
499520 systems out there.)
....@@ -517,7 +538,7 @@
517538 depends on SMP
518539 depends on X86_X2APIC
519540 depends on PCI_MMCONFIG
520
- ---help---
541
+ help
521542 Adds support for Numascale NumaChip large-SMP systems. Needed to
522543 enable more than ~168 cores.
523544 If you don't have one of these, you should say N here.
....@@ -529,7 +550,7 @@
529550 depends on X86_64 && PCI
530551 depends on X86_EXTENDED_PLATFORM
531552 depends on SMP
532
- ---help---
553
+ help
533554 Support for ScaleMP vSMP systems. Say 'Y' here if this kernel is
534555 supposed to run on these EM64T-based machines. Only choose this option
535556 if you have one of these machines.
....@@ -543,7 +564,7 @@
543564 depends on KEXEC_CORE
544565 depends on X86_X2APIC
545566 depends on PCI
546
- ---help---
567
+ help
547568 This option is needed in order to support SGI Ultraviolet systems.
548569 If you don't have one of these, you should say N here.
549570
....@@ -551,9 +572,9 @@
551572 # Please maintain the alphabetic order if and when there are additions
552573
553574 config X86_GOLDFISH
554
- bool "Goldfish (Virtual Platform)"
555
- depends on X86_EXTENDED_PLATFORM
556
- ---help---
575
+ bool "Goldfish (Virtual Platform)"
576
+ depends on X86_EXTENDED_PLATFORM
577
+ help
557578 Enable support for the Goldfish virtual platform used primarily
558579 for Android development. Unless you are building for the Android
559580 Goldfish emulator say N here.
....@@ -568,7 +589,7 @@
568589 select X86_REBOOTFIXUPS
569590 select OF
570591 select OF_EARLY_FLATTREE
571
- ---help---
592
+ help
572593 Select for the Intel CE media processor (CE4100) SOC.
573594 This option compiles in support for the CE4100 SOC for settop
574595 boxes and media devices.
....@@ -584,9 +605,9 @@
584605 select I2C
585606 select DW_APB_TIMER
586607 select APB_TIMER
587
- select INTEL_SCU_IPC
608
+ select INTEL_SCU_PCI
588609 select MFD_INTEL_MSIC
589
- ---help---
610
+ help
590611 Select to build a kernel capable of supporting Intel MID (Mobile
591612 Internet Device) platform systems which do not have the PCI legacy
592613 interfaces. If you are building for a PC class system say N here.
....@@ -606,18 +627,18 @@
606627 select IOSF_MBI
607628 select INTEL_IMR
608629 select COMMON_CLK
609
- ---help---
630
+ help
610631 Select to include support for Quark X1000 SoC.
611632 Say Y here if you have a Quark based system such as the Arduino
612633 compatible Intel Galileo.
613634
614635 config X86_INTEL_LPSS
615636 bool "Intel Low Power Subsystem Support"
616
- depends on X86 && ACPI
637
+ depends on X86 && ACPI && PCI
617638 select COMMON_CLK
618639 select PINCTRL
619640 select IOSF_MBI
620
- ---help---
641
+ help
621642 Select to build support for Intel Low Power Subsystem such as
622643 found on Intel Lynxpoint PCH. Selecting this option enables
623644 things like clock tree (common clock framework) and pincontrol
....@@ -628,7 +649,7 @@
628649 depends on ACPI
629650 select COMMON_CLK
630651 select PINCTRL
631
- ---help---
652
+ help
632653 Select to interpret AMD specific ACPI device to platform device
633654 such as I2C, UART, GPIO found on AMD Carrizo and later chipsets.
634655 I2C and UART depend on COMMON_CLK to set clock. GPIO driver is
....@@ -637,7 +658,7 @@
637658 config IOSF_MBI
638659 tristate "Intel SoC IOSF Sideband support for SoC platforms"
639660 depends on PCI
640
- ---help---
661
+ help
641662 This option enables sideband register access support for Intel SoC
642663 platforms. On these platforms the IOSF sideband is used in lieu of
643664 MSR's for some register accesses, mostly but not limited to thermal
....@@ -654,7 +675,7 @@
654675 config IOSF_MBI_DEBUG
655676 bool "Enable IOSF sideband access through debugfs"
656677 depends on IOSF_MBI && DEBUG_FS
657
- ---help---
678
+ help
658679 Select this option to expose the IOSF sideband access registers (MCR,
659680 MDR, MCRX) through debugfs to write and read register information from
660681 different units on the SoC. This is most useful for obtaining device
....@@ -670,7 +691,7 @@
670691 depends on X86_EXTENDED_PLATFORM
671692 select M486
672693 select X86_REBOOTFIXUPS
673
- ---help---
694
+ help
674695 This option is needed for RDC R-321x system-on-chip, also known
675696 as R-8610-(G).
676697 If you don't have one of these chips, you should say N here.
....@@ -679,7 +700,7 @@
679700 bool "Support non-standard 32-bit SMP architectures"
680701 depends on X86_32 && SMP
681702 depends on X86_EXTENDED_PLATFORM
682
- ---help---
703
+ help
683704 This option compiles in the bigsmp and STA2X11 default
684705 subarchitectures. It is intended for a generic binary
685706 kernel. If you select them all, kernel will probe it one by
....@@ -699,14 +720,10 @@
699720 config STA2X11
700721 bool "STA2X11 Companion Chip Support"
701722 depends on X86_32_NON_STANDARD && PCI
702
- select ARCH_HAS_PHYS_TO_DMA
703
- select X86_DEV_DMA_OPS
704
- select X86_DMA_REMAP
705723 select SWIOTLB
706724 select MFD_STA2X11
707725 select GPIOLIB
708
- default n
709
- ---help---
726
+ help
710727 This adds support for boards based on the STA2X11 IO-Hub,
711728 a.k.a. "ConneXt". The chip is used in place of the standard
712729 PC chipset, so all "standard" peripherals are missing. If this
....@@ -716,7 +733,7 @@
716733 config X86_32_IRIS
717734 tristate "Eurobraille/Iris poweroff module"
718735 depends on X86_32
719
- ---help---
736
+ help
720737 The Iris machines from EuroBraille do not have APM or ACPI support
721738 to shut themselves down properly. A special I/O sequence is
722739 needed to do so, which is what this module does at
....@@ -730,7 +747,7 @@
730747 def_bool y
731748 prompt "Single-depth WCHAN output"
732749 depends on X86
733
- ---help---
750
+ help
734751 Calculate simpler /proc/<PID>/wchan values. If this option
735752 is disabled then wchan values will recurse back to the
736753 caller function. This provides more accurate wchan values,
....@@ -740,7 +757,7 @@
740757
741758 menuconfig HYPERVISOR_GUEST
742759 bool "Linux guest support"
743
- ---help---
760
+ help
744761 Say Y here to enable options for running Linux under various hyper-
745762 visors. This option enables basic hypervisor detection and platform
746763 setup.
....@@ -752,23 +769,26 @@
752769
753770 config PARAVIRT
754771 bool "Enable paravirtualization code"
755
- ---help---
772
+ help
756773 This changes the kernel so it can modify itself when it is run
757774 under a hypervisor, potentially improving performance significantly
758775 over full virtualization. However, when run without a hypervisor
759776 the kernel is theoretically slower and slightly larger.
760777
778
+config PARAVIRT_XXL
779
+ bool
780
+
761781 config PARAVIRT_DEBUG
762782 bool "paravirt-ops debugging"
763783 depends on PARAVIRT && DEBUG_KERNEL
764
- ---help---
784
+ help
765785 Enable to debug paravirt_ops internals. Specifically, BUG if
766786 a paravirt_op is missing when it is called.
767787
768788 config PARAVIRT_SPINLOCKS
769789 bool "Paravirtualization layer for spinlocks"
770790 depends on PARAVIRT && SMP
771
- ---help---
791
+ help
772792 Paravirtualized spinlocks allow a pvops backend to replace the
773793 spinlock implementation with something virtualization-friendly
774794 (for example, block the virtual CPU rather than spinning).
....@@ -778,13 +798,8 @@
778798
779799 If you are unsure how to answer this question, answer Y.
780800
781
-config QUEUED_LOCK_STAT
782
- bool "Paravirt queued spinlock statistics"
783
- depends on PARAVIRT_SPINLOCKS && DEBUG_FS
784
- ---help---
785
- Enable the collection of statistical data on the slowpath
786
- behavior of paravirtualized queued spinlocks and report
787
- them on debugfs.
801
+config X86_HV_CALLBACK_VECTOR
802
+ def_bool n
788803
789804 source "arch/x86/xen/Kconfig"
790805
....@@ -792,28 +807,32 @@
792807 bool "KVM Guest support (including kvmclock)"
793808 depends on PARAVIRT
794809 select PARAVIRT_CLOCK
810
+ select ARCH_CPUIDLE_HALTPOLL
811
+ select X86_HV_CALLBACK_VECTOR
795812 default y
796
- ---help---
813
+ help
797814 This option enables various optimizations for running under the KVM
798815 hypervisor. It includes a paravirtualized clock, so that instead
799816 of relying on a PIT (or probably other) emulation by the
800817 underlying device model, the host provides the guest with
801818 timing infrastructure such as time of day, and system time
802819
803
-config KVM_DEBUG_FS
804
- bool "Enable debug information for KVM Guests in debugfs"
805
- depends on KVM_GUEST && DEBUG_FS
806
- default n
807
- ---help---
808
- This option enables collection of various statistics for KVM guest.
809
- Statistics are displayed in debugfs filesystem. Enabling this option
810
- may incur significant overhead.
820
+config ARCH_CPUIDLE_HALTPOLL
821
+ def_bool n
822
+ prompt "Disable host haltpoll when loading haltpoll driver"
823
+ help
824
+ If virtualized under KVM, disable host haltpoll.
825
+
826
+config PVH
827
+ bool "Support for running PVH guests"
828
+ help
829
+ This option enables the PVH entry point for guest virtual machines
830
+ as specified in the x86/HVM direct boot ABI.
811831
812832 config PARAVIRT_TIME_ACCOUNTING
813833 bool "Paravirtual steal time accounting"
814834 depends on PARAVIRT
815
- default n
816
- ---help---
835
+ help
817836 Select this option to enable fine granularity task steal time
818837 accounting. Time spent executing other tasks in parallel with
819838 the current vCPU is discounted from the vCPU power. To account for
....@@ -828,22 +847,30 @@
828847 bool "Jailhouse non-root cell support"
829848 depends on X86_64 && PCI
830849 select X86_PM_TIMER
831
- ---help---
850
+ help
832851 This option allows to run Linux as guest in a Jailhouse non-root
833852 cell. You can leave this option disabled if you only want to start
834853 Jailhouse and run Linux afterwards in the root cell.
835854
836
-endif #HYPERVISOR_GUEST
855
+config ACRN_GUEST
856
+ bool "ACRN Guest support"
857
+ depends on X86_64
858
+ select X86_HV_CALLBACK_VECTOR
859
+ help
860
+ This option allows to run Linux as guest in the ACRN hypervisor. ACRN is
861
+ a flexible, lightweight reference open-source hypervisor, built with
862
+ real-time and safety-criticality in mind. It is built for embedded
863
+ IOT with small footprint and real-time features. More details can be
864
+ found in https://projectacrn.org/.
837865
838
-config NO_BOOTMEM
839
- def_bool y
866
+endif #HYPERVISOR_GUEST
840867
841868 source "arch/x86/Kconfig.cpu"
842869
843870 config HPET_TIMER
844871 def_bool X86_64
845872 prompt "HPET Timer Support" if X86_32
846
- ---help---
873
+ help
847874 Use the IA-PC HPET (High Precision Event Timer) to manage
848875 time in preference to the PIT and RTC, if a HPET is
849876 present.
....@@ -864,16 +891,16 @@
864891 depends on HPET_TIMER && (RTC=y || RTC=m || RTC_DRV_CMOS=m || RTC_DRV_CMOS=y)
865892
866893 config APB_TIMER
867
- def_bool y if X86_INTEL_MID
868
- prompt "Intel MID APB Timer Support" if X86_INTEL_MID
869
- select DW_APB_TIMER
870
- depends on X86_INTEL_MID && SFI
871
- help
872
- APB timer is the replacement for 8254, HPET on X86 MID platforms.
873
- The APBT provides a stable time base on SMP
874
- systems, unlike the TSC, but it is more expensive to access,
875
- as it is off-chip. APB timers are always running regardless of CPU
876
- C states, they are used as per CPU clockevent device when possible.
894
+ def_bool y if X86_INTEL_MID
895
+ prompt "Intel MID APB Timer Support" if X86_INTEL_MID
896
+ select DW_APB_TIMER
897
+ depends on X86_INTEL_MID && SFI
898
+ help
899
+ APB timer is the replacement for 8254, HPET on X86 MID platforms.
900
+ The APBT provides a stable time base on SMP
901
+ systems, unlike the TSC, but it is more expensive to access,
902
+ as it is off-chip. APB timers are always running regardless of CPU
903
+ C states, they are used as per CPU clockevent device when possible.
877904
878905 # Mark as expert because too many people got it wrong.
879906 # The code disables itself when not needed.
....@@ -881,7 +908,7 @@
881908 default y
882909 select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
883910 bool "Enable DMI scanning" if EXPERT
884
- ---help---
911
+ help
885912 Enabled scanning of DMI to identify machine quirks. Say Y
886913 here unless you have verified that your setup is not
887914 affected by entries in the DMI blacklist. Required by PNP
....@@ -889,10 +916,11 @@
889916
890917 config GART_IOMMU
891918 bool "Old AMD GART IOMMU support"
919
+ select DMA_OPS
892920 select IOMMU_HELPER
893921 select SWIOTLB
894922 depends on X86_64 && PCI && AMD_NB
895
- ---help---
923
+ help
896924 Provides a driver for older AMD Athlon64/Opteron/Turion/Sempron
897925 GART based hardware IOMMUs.
898926
....@@ -909,41 +937,11 @@
909937
910938 If unsure, say Y.
911939
912
-config CALGARY_IOMMU
913
- bool "IBM Calgary IOMMU support"
914
- select IOMMU_HELPER
915
- select SWIOTLB
916
- depends on X86_64 && PCI
917
- ---help---
918
- Support for hardware IOMMUs in IBM's xSeries x366 and x460
919
- systems. Needed to run systems with more than 3GB of memory
920
- properly with 32-bit PCI devices that do not support DAC
921
- (Double Address Cycle). Calgary also supports bus level
922
- isolation, where all DMAs pass through the IOMMU. This
923
- prevents them from going anywhere except their intended
924
- destination. This catches hard-to-find kernel bugs and
925
- mis-behaving drivers and devices that do not use the DMA-API
926
- properly to set up their DMA buffers. The IOMMU can be
927
- turned off at boot time with the iommu=off parameter.
928
- Normally the kernel will make the right choice by itself.
929
- If unsure, say Y.
930
-
931
-config CALGARY_IOMMU_ENABLED_BY_DEFAULT
932
- def_bool y
933
- prompt "Should Calgary be enabled by default?"
934
- depends on CALGARY_IOMMU
935
- ---help---
936
- Should Calgary be enabled by default? if you choose 'y', Calgary
937
- will be used (if it exists). If you choose 'n', Calgary will not be
938
- used even if it exists. If you choose 'n' and would like to use
939
- Calgary anyway, pass 'iommu=calgary' on the kernel command line.
940
- If unsure, say Y.
941
-
942940 config MAXSMP
943941 bool "Enable Maximum number of SMP Processors and NUMA Nodes"
944942 depends on X86_64 && SMP && DEBUG_KERNEL
945
- select CPUMASK_OFFSTACK if !PREEMPT_RT_FULL
946
- ---help---
943
+ select CPUMASK_OFFSTACK
944
+ help
947945 Enable maximum number of CPUS and NUMA Nodes for this architecture.
948946 If unsure, say N.
949947
....@@ -977,8 +975,8 @@
977975 config NR_CPUS_RANGE_END
978976 int
979977 depends on X86_64
980
- default 8192 if SMP && ( MAXSMP || CPUMASK_OFFSTACK)
981
- default 512 if SMP && (!MAXSMP && !CPUMASK_OFFSTACK)
978
+ default 8192 if SMP && CPUMASK_OFFSTACK
979
+ default 512 if SMP && !CPUMASK_OFFSTACK
982980 default 1 if !SMP
983981
984982 config NR_CPUS_DEFAULT
....@@ -999,7 +997,7 @@
999997 int "Maximum number of CPUs" if SMP && !MAXSMP
1000998 range NR_CPUS_RANGE_BEGIN NR_CPUS_RANGE_END
1001999 default NR_CPUS_DEFAULT
1002
- ---help---
1000
+ help
10031001 This allows you to specify the maximum number of CPUs which this
10041002 kernel will support. If CPUMASK_OFFSTACK is enabled, the maximum
10051003 supported value is 8192, otherwise the maximum value is 512. The
....@@ -1015,7 +1013,7 @@
10151013 def_bool y
10161014 prompt "Multi-core scheduler support"
10171015 depends on SMP
1018
- ---help---
1016
+ help
10191017 Multi-core scheduler support improves the CPU scheduler's decision
10201018 making when dealing with multi-core CPU chips at a cost of slightly
10211019 increased overhead in some places. If unsure say N here.
....@@ -1026,7 +1024,7 @@
10261024 select X86_INTEL_PSTATE
10271025 select CPU_FREQ
10281026 default y
1029
- ---help---
1027
+ help
10301028 Intel Turbo Boost Max Technology 3.0 enabled CPUs have a
10311029 core ordering determined at manufacturing time, which allows
10321030 certain cores to reach higher turbo frequencies (when running
....@@ -1042,14 +1040,14 @@
10421040 If unsure say Y here.
10431041
10441042 config UP_LATE_INIT
1045
- def_bool y
1046
- depends on !SMP && X86_LOCAL_APIC
1043
+ def_bool y
1044
+ depends on !SMP && X86_LOCAL_APIC
10471045
10481046 config X86_UP_APIC
10491047 bool "Local APIC support on uniprocessors" if !PCI_MSI
10501048 default PCI_MSI
10511049 depends on X86_32 && !SMP && !X86_32_NON_STANDARD
1052
- ---help---
1050
+ help
10531051 A local APIC (Advanced Programmable Interrupt Controller) is an
10541052 integrated interrupt controller in the CPU. If you have a single-CPU
10551053 system which has a processor with a local APIC, you can say Y here to
....@@ -1062,7 +1060,7 @@
10621060 config X86_UP_IOAPIC
10631061 bool "IO-APIC support on uniprocessors"
10641062 depends on X86_UP_APIC
1065
- ---help---
1063
+ help
10661064 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
10671065 SMP-capable replacement for PC-style interrupt controllers. Most
10681066 SMP systems and many recent uniprocessor systems have one.
....@@ -1084,7 +1082,7 @@
10841082 config X86_REROUTE_FOR_BROKEN_BOOT_IRQS
10851083 bool "Reroute for broken boot IRQs"
10861084 depends on X86_IO_APIC
1087
- ---help---
1085
+ help
10881086 This option enables a workaround that fixes a source of
10891087 spurious interrupts. This is recommended when threaded
10901088 interrupt handling is used on systems where the generation of
....@@ -1108,7 +1106,7 @@
11081106 bool "Machine Check / overheating reporting"
11091107 select GENERIC_ALLOCATOR
11101108 default y
1111
- ---help---
1109
+ help
11121110 Machine Check support allows the processor to notify the
11131111 kernel if it detects a problem (e.g. overheating, data corruption).
11141112 The action the kernel takes depends on the severity of the problem,
....@@ -1117,7 +1115,7 @@
11171115 config X86_MCELOG_LEGACY
11181116 bool "Support for deprecated /dev/mcelog character device"
11191117 depends on X86_MCE
1120
- ---help---
1118
+ help
11211119 Enable support for /dev/mcelog which is needed by the old mcelog
11221120 userspace logging daemon. Consider switching to the new generation
11231121 rasdaemon solution.
....@@ -1126,7 +1124,7 @@
11261124 def_bool y
11271125 prompt "Intel MCE features"
11281126 depends on X86_MCE && X86_LOCAL_APIC
1129
- ---help---
1127
+ help
11301128 Additional support for intel specific MCE features such as
11311129 the thermal monitor.
11321130
....@@ -1134,14 +1132,14 @@
11341132 def_bool y
11351133 prompt "AMD MCE features"
11361134 depends on X86_MCE && X86_LOCAL_APIC && AMD_NB
1137
- ---help---
1135
+ help
11381136 Additional support for AMD specific MCE features such as
11391137 the DRAM Error Threshold.
11401138
11411139 config X86_ANCIENT_MCE
11421140 bool "Support for old Pentium 5 / WinChip machine checks"
11431141 depends on X86_32 && X86_MCE
1144
- ---help---
1142
+ help
11451143 Include support for machine check handling on old Pentium 5 or WinChip
11461144 systems. These typically need to be enabled explicitly on the command
11471145 line.
....@@ -1153,7 +1151,7 @@
11531151 config X86_MCE_INJECT
11541152 depends on X86_MCE && X86_LOCAL_APIC && DEBUG_FS
11551153 tristate "Machine check injector support"
1156
- ---help---
1154
+ help
11571155 Provide support for injecting machine checks for testing purposes.
11581156 If you don't know what a machine check is and you don't do kernel
11591157 QA it is safe to say n.
....@@ -1166,9 +1164,8 @@
11661164
11671165 config X86_LEGACY_VM86
11681166 bool "Legacy VM86 support"
1169
- default n
11701167 depends on X86_32
1171
- ---help---
1168
+ help
11721169 This option allows user programs to put the CPU into V8086
11731170 mode, which is an 80286-era approximation of 16-bit real mode.
11741171
....@@ -1193,14 +1190,14 @@
11931190 If unsure, say N here.
11941191
11951192 config VM86
1196
- bool
1197
- default X86_LEGACY_VM86
1193
+ bool
1194
+ default X86_LEGACY_VM86
11981195
11991196 config X86_16BIT
12001197 bool "Enable support for 16-bit segments" if EXPERT
12011198 default y
12021199 depends on MODIFY_LDT_SYSCALL
1203
- ---help---
1200
+ help
12041201 This option is required by programs like Wine to run 16-bit
12051202 protected mode legacy code on x86 processors. Disabling
12061203 this option saves about 300 bytes on i386, or around 6K text
....@@ -1215,10 +1212,10 @@
12151212 depends on X86_16BIT && X86_64
12161213
12171214 config X86_VSYSCALL_EMULATION
1218
- bool "Enable vsyscall emulation" if EXPERT
1219
- default y
1220
- depends on X86_64
1221
- ---help---
1215
+ bool "Enable vsyscall emulation" if EXPERT
1216
+ default y
1217
+ depends on X86_64
1218
+ help
12221219 This enables emulation of the legacy vsyscall page. Disabling
12231220 it is roughly equivalent to booting with vsyscall=none, except
12241221 that it will also disable the helpful warning if a program
....@@ -1232,10 +1229,28 @@
12321229 Disabling this option saves about 7K of kernel size and
12331230 possibly 4K of additional runtime pagetable memory.
12341231
1232
+config X86_IOPL_IOPERM
1233
+ bool "IOPERM and IOPL Emulation"
1234
+ default y
1235
+ help
1236
+ This enables the ioperm() and iopl() syscalls which are necessary
1237
+ for legacy applications.
1238
+
1239
+ Legacy IOPL support is an overbroad mechanism which allows user
1240
+ space aside of accessing all 65536 I/O ports also to disable
1241
+ interrupts. To gain this access the caller needs CAP_SYS_RAWIO
1242
+ capabilities and permission from potentially active security
1243
+ modules.
1244
+
1245
+ The emulation restricts the functionality of the syscall to
1246
+ only allowing the full range I/O port access, but prevents the
1247
+ ability to disable interrupts from user space which would be
1248
+ granted if the hardware IOPL mechanism would be used.
1249
+
12351250 config TOSHIBA
12361251 tristate "Toshiba Laptop support"
12371252 depends on X86_32
1238
- ---help---
1253
+ help
12391254 This adds a driver to safely access the System Management Mode of
12401255 the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
12411256 not work on models with a Phoenix BIOS. The System Management Mode
....@@ -1250,9 +1265,10 @@
12501265
12511266 config I8K
12521267 tristate "Dell i8k legacy laptop support"
1253
- select HWMON
1268
+ depends on HWMON
1269
+ depends on PROC_FS
12541270 select SENSORS_DELL_SMM
1255
- ---help---
1271
+ help
12561272 This option enables legacy /proc/i8k userspace interface in hwmon
12571273 dell-smm-hwmon driver. Character file /proc/i8k reports bios version,
12581274 temperature and allows controlling fan speeds of Dell laptops via
....@@ -1267,7 +1283,7 @@
12671283 config X86_REBOOTFIXUPS
12681284 bool "Enable X86 board specific fixups for reboot"
12691285 depends on X86_32
1270
- ---help---
1286
+ help
12711287 This enables chipset and/or board specific fixups to be done
12721288 in order to get reboot to work correctly. This is only needed on
12731289 some combinations of hardware and BIOS. The symptom, for which
....@@ -1285,8 +1301,7 @@
12851301 bool "CPU microcode loading support"
12861302 default y
12871303 depends on CPU_SUP_AMD || CPU_SUP_INTEL
1288
- select FW_LOADER
1289
- ---help---
1304
+ help
12901305 If you say Y here, you will be able to update the microcode on
12911306 Intel and AMD processors. The Intel support is for the IA32 family,
12921307 e.g. Pentium Pro, Pentium II, Pentium III, Pentium 4, Xeon etc. The
....@@ -1295,7 +1310,7 @@
12951310 the Linux kernel.
12961311
12971312 The preferred method to load microcode from a detached initrd is described
1298
- in Documentation/x86/microcode.txt. For that you need to enable
1313
+ in Documentation/x86/microcode.rst. For that you need to enable
12991314 CONFIG_BLK_DEV_INITRD in order for the loader to be able to scan the
13001315 initrd for microcode blobs.
13011316
....@@ -1305,10 +1320,9 @@
13051320
13061321 config MICROCODE_INTEL
13071322 bool "Intel microcode loading support"
1308
- depends on MICROCODE
1323
+ depends on CPU_SUP_INTEL && MICROCODE
13091324 default MICROCODE
1310
- select FW_LOADER
1311
- ---help---
1325
+ help
13121326 This options enables microcode patch loading support for Intel
13131327 processors.
13141328
....@@ -1318,19 +1332,25 @@
13181332
13191333 config MICROCODE_AMD
13201334 bool "AMD microcode loading support"
1321
- depends on MICROCODE
1322
- select FW_LOADER
1323
- ---help---
1335
+ depends on CPU_SUP_AMD && MICROCODE
1336
+ help
13241337 If you select this option, microcode patch loading support for AMD
13251338 processors will be enabled.
13261339
1327
-config MICROCODE_OLD_INTERFACE
1328
- def_bool y
1340
+config MICROCODE_LATE_LOADING
1341
+ bool "Late microcode loading (DANGEROUS)"
1342
+ default n
13291343 depends on MICROCODE
1344
+ help
1345
+ Loading microcode late, when the system is up and executing instructions
1346
+ is a tricky business and should be avoided if possible. Just the sequence
1347
+ of synchronizing all cores and SMT threads is one fragile dance which does
1348
+ not guarantee that cores might not softlock after the loading. Therefore,
1349
+ use this at your own risk. Late loading taints the kernel too.
13301350
13311351 config X86_MSR
13321352 tristate "/dev/cpu/*/msr - Model-specific register support"
1333
- ---help---
1353
+ help
13341354 This device gives privileged processes access to the x86
13351355 Model-Specific Registers (MSRs). It is a character device with
13361356 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
....@@ -1339,7 +1359,7 @@
13391359
13401360 config X86_CPUID
13411361 tristate "/dev/cpu/*/cpuid - CPU information support"
1342
- ---help---
1362
+ help
13431363 This device gives processes access to the x86 CPUID instruction to
13441364 be executed on a specific processor. It is a character device
13451365 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
....@@ -1352,7 +1372,7 @@
13521372
13531373 config NOHIGHMEM
13541374 bool "off"
1355
- ---help---
1375
+ help
13561376 Linux can use up to 64 Gigabytes of physical memory on x86 systems.
13571377 However, the address space of 32-bit x86 processors is only 4
13581378 Gigabytes large. That means that, if you have a large amount of
....@@ -1388,15 +1408,15 @@
13881408
13891409 config HIGHMEM4G
13901410 bool "4GB"
1391
- ---help---
1411
+ help
13921412 Select this if you have a 32-bit processor and between 1 and 4
13931413 gigabytes of physical RAM.
13941414
13951415 config HIGHMEM64G
13961416 bool "64GB"
1397
- depends on !M486 && !M586 && !M586TSC && !M586MMX && !MGEODE_LX && !MGEODEGX1 && !MCYRIXIII && !MELAN && !MWINCHIPC6 && !MWINCHIP3D && !MK6
1417
+ depends on !M486SX && !M486 && !M586 && !M586TSC && !M586MMX && !MGEODE_LX && !MGEODEGX1 && !MCYRIXIII && !MELAN && !MWINCHIPC6 && !MWINCHIP3D && !MK6
13981418 select X86_PAE
1399
- ---help---
1419
+ help
14001420 Select this if you have a 32-bit processor and more than 4
14011421 gigabytes of physical RAM.
14021422
....@@ -1406,7 +1426,7 @@
14061426 prompt "Memory split" if EXPERT
14071427 default VMSPLIT_3G
14081428 depends on X86_32
1409
- ---help---
1429
+ help
14101430 Select the desired split between kernel and user memory.
14111431
14121432 If the address range available to the kernel is less than the
....@@ -1454,7 +1474,7 @@
14541474 depends on X86_32 && !HIGHMEM4G
14551475 select PHYS_ADDR_T_64BIT
14561476 select SWIOTLB
1457
- ---help---
1477
+ help
14581478 PAE is required for NX support, and furthermore enables
14591479 larger swapspace support for non-overcommit purposes. It
14601480 has the cost of more pagetable lookup overhead, and also
....@@ -1462,10 +1482,11 @@
14621482
14631483 config X86_5LEVEL
14641484 bool "Enable 5-level page tables support"
1485
+ default y
14651486 select DYNAMIC_MEMORY_LAYOUT
14661487 select SPARSEMEM_VMEMMAP
14671488 depends on X86_64
1468
- ---help---
1489
+ help
14691490 5-level paging enables access to larger address space:
14701491 upto 128 PiB of virtual address space and 4 PiB of
14711492 physical address space.
....@@ -1475,29 +1496,38 @@
14751496 A kernel with the option enabled can be booted on machines that
14761497 support 4- or 5-level paging.
14771498
1478
- See Documentation/x86/x86_64/5level-paging.txt for more
1499
+ See Documentation/x86/x86_64/5level-paging.rst for more
14791500 information.
14801501
14811502 Say N if unsure.
14821503
14831504 config X86_DIRECT_GBPAGES
14841505 def_bool y
1485
- depends on X86_64 && !DEBUG_PAGEALLOC
1486
- ---help---
1506
+ depends on X86_64
1507
+ help
14871508 Certain kernel features effectively disable kernel
14881509 linear 1 GB mappings (even if the CPU otherwise
14891510 supports them), so don't confuse the user by printing
14901511 that we have them enabled.
14911512
1492
-config ARCH_HAS_MEM_ENCRYPT
1493
- def_bool y
1513
+config X86_CPA_STATISTICS
1514
+ bool "Enable statistic for Change Page Attribute"
1515
+ depends on DEBUG_FS
1516
+ help
1517
+ Expose statistics about the Change Page Attribute mechanism, which
1518
+ helps to determine the effectiveness of preserving large and huge
1519
+ page mappings when mapping protections are changed.
14941520
14951521 config AMD_MEM_ENCRYPT
14961522 bool "AMD Secure Memory Encryption (SME) support"
14971523 depends on X86_64 && CPU_SUP_AMD
1524
+ select DMA_COHERENT_POOL
14981525 select DYNAMIC_PHYSICAL_MASK
14991526 select ARCH_USE_MEMREMAP_PROT
1500
- ---help---
1527
+ select ARCH_HAS_FORCE_DMA_UNENCRYPTED
1528
+ select INSTRUCTION_DECODER
1529
+ select ARCH_HAS_CC_PLATFORM
1530
+ help
15011531 Say yes to enable support for the encryption of system memory.
15021532 This requires an AMD processor that supports Secure Memory
15031533 Encryption (SME).
....@@ -1505,7 +1535,7 @@
15051535 config AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT
15061536 bool "Activate AMD Secure Memory Encryption (SME) by default"
15071537 depends on AMD_MEM_ENCRYPT
1508
- ---help---
1538
+ help
15091539 Say yes to have system memory encrypted by default if running on
15101540 an AMD processor that supports Secure Memory Encryption (SME).
15111541
....@@ -1517,12 +1547,12 @@
15171547
15181548 # Common NUMA Features
15191549 config NUMA
1520
- bool "Numa Memory Allocation and Scheduler Support"
1550
+ bool "NUMA Memory Allocation and Scheduler Support"
15211551 depends on SMP
15221552 depends on X86_64 || (X86_32 && HIGHMEM64G && X86_BIGSMP)
15231553 default y if X86_BIGSMP
1524
- ---help---
1525
- Enable NUMA (Non Uniform Memory Access) support.
1554
+ help
1555
+ Enable NUMA (Non-Uniform Memory Access) support.
15261556
15271557 The kernel will try to allocate memory used by a CPU on the
15281558 local memory controller of the CPU and add some more
....@@ -1540,7 +1570,7 @@
15401570 def_bool y
15411571 prompt "Old style AMD Opteron NUMA detection"
15421572 depends on X86_64 && NUMA && PCI
1543
- ---help---
1573
+ help
15441574 Enable AMD NUMA node topology detection. You should say Y here if
15451575 you have a multi processor AMD system. This uses an old method to
15461576 read the NUMA configuration directly from the builtin Northbridge
....@@ -1552,22 +1582,13 @@
15521582 prompt "ACPI NUMA detection"
15531583 depends on X86_64 && NUMA && ACPI && PCI
15541584 select ACPI_NUMA
1555
- ---help---
1585
+ help
15561586 Enable ACPI SRAT based node topology detection.
1557
-
1558
-# Some NUMA nodes have memory ranges that span
1559
-# other nodes. Even though a pfn is valid and
1560
-# between a node's start and end pfns, it may not
1561
-# reside on that node. See memmap_init_zone()
1562
-# for details.
1563
-config NODES_SPAN_OTHER_NODES
1564
- def_bool y
1565
- depends on X86_64_ACPI_NUMA
15661587
15671588 config NUMA_EMU
15681589 bool "NUMA emulation"
15691590 depends on NUMA
1570
- ---help---
1591
+ help
15711592 Enable NUMA emulation. A flat machine will be split
15721593 into virtual nodes when booted with "numa=fake=N", where N is the
15731594 number of nodes. This is only useful for debugging.
....@@ -1579,25 +1600,13 @@
15791600 default "6" if X86_64
15801601 default "3"
15811602 depends on NEED_MULTIPLE_NODES
1582
- ---help---
1603
+ help
15831604 Specify the maximum number of NUMA Nodes available on the target
15841605 system. Increases memory reserved to accommodate various tables.
1585
-
1586
-config ARCH_HAVE_MEMORY_PRESENT
1587
- def_bool y
1588
- depends on X86_32 && DISCONTIGMEM
15891606
15901607 config ARCH_FLATMEM_ENABLE
15911608 def_bool y
15921609 depends on X86_32 && !NUMA
1593
-
1594
-config ARCH_DISCONTIGMEM_ENABLE
1595
- def_bool y
1596
- depends on NUMA && X86_32
1597
-
1598
-config ARCH_DISCONTIGMEM_DEFAULT
1599
- def_bool y
1600
- depends on NUMA && X86_32
16011610
16021611 config ARCH_SPARSEMEM_ENABLE
16031612 def_bool y
....@@ -1606,8 +1615,7 @@
16061615 select SPARSEMEM_VMEMMAP_ENABLE if X86_64
16071616
16081617 config ARCH_SPARSEMEM_DEFAULT
1609
- def_bool y
1610
- depends on X86_64
1618
+ def_bool X86_64 || (NUMA && X86_32)
16111619
16121620 config ARCH_SELECT_MEMORY_MODEL
16131621 def_bool y
....@@ -1618,7 +1626,7 @@
16181626 depends on X86_64 && MEMORY_HOTPLUG
16191627 help
16201628 This option enables a sysfs memory/probe interface for testing.
1621
- See Documentation/memory-hotplug.txt for more information.
1629
+ See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
16221630 If you are unsure how to answer this question, answer N.
16231631
16241632 config ARCH_PROC_KCORE_TEXT
....@@ -1626,9 +1634,9 @@
16261634 depends on X86_64 && PROC_KCORE
16271635
16281636 config ILLEGAL_POINTER_VALUE
1629
- hex
1630
- default 0 if X86_32
1631
- default 0xdead000000000000 if X86_64
1637
+ hex
1638
+ default 0 if X86_32
1639
+ default 0xdead000000000000 if X86_64
16321640
16331641 config X86_PMEM_LEGACY_DEVICE
16341642 bool
....@@ -1638,6 +1646,7 @@
16381646 depends on PHYS_ADDR_T_64BIT
16391647 depends on BLK_DEV
16401648 select X86_PMEM_LEGACY_DEVICE
1649
+ select NUMA_KEEP_MEMINFO if NUMA
16411650 select LIBNVDIMM
16421651 help
16431652 Treat memory marked using the non-standard e820 type of 12 as used
....@@ -1650,7 +1659,7 @@
16501659 config HIGHPTE
16511660 bool "Allocate 3rd-level pagetables from highmem"
16521661 depends on HIGHMEM
1653
- ---help---
1662
+ help
16541663 The VM uses one page table entry for each page of physical memory.
16551664 For systems with a lot of RAM, this can be wasteful of precious
16561665 low memory. Setting this option will put user-space page table
....@@ -1658,7 +1667,7 @@
16581667
16591668 config X86_CHECK_BIOS_CORRUPTION
16601669 bool "Check for low memory corruption"
1661
- ---help---
1670
+ help
16621671 Periodically check for memory corruption in low memory, which
16631672 is suspected to be caused by BIOS. Even when enabled in the
16641673 configuration, it is disabled at runtime. Enable it by
....@@ -1682,7 +1691,7 @@
16821691 bool "Set the default setting of memory_corruption_check"
16831692 depends on X86_CHECK_BIOS_CORRUPTION
16841693 default y
1685
- ---help---
1694
+ help
16861695 Set whether the default state of memory_corruption_check is
16871696 on or off.
16881697
....@@ -1690,7 +1699,7 @@
16901699 int "Amount of low memory, in kilobytes, to reserve for the BIOS"
16911700 default 64
16921701 range 4 640
1693
- ---help---
1702
+ help
16941703 Specify the amount of low memory to reserve for the BIOS.
16951704
16961705 The first page contains BIOS data structures that the kernel
....@@ -1718,8 +1727,8 @@
17181727 config MATH_EMULATION
17191728 bool
17201729 depends on MODIFY_LDT_SYSCALL
1721
- prompt "Math emulation" if X86_32
1722
- ---help---
1730
+ prompt "Math emulation" if X86_32 && (M486SX || MELAN)
1731
+ help
17231732 Linux can emulate a math coprocessor (used for floating point
17241733 operations) if you don't have one. 486DX and Pentium processors have
17251734 a math coprocessor built in, 486SX and 386 do not, unless you added
....@@ -1745,7 +1754,7 @@
17451754 config MTRR
17461755 def_bool y
17471756 prompt "MTRR (Memory Type Range Register) support" if EXPERT
1748
- ---help---
1757
+ help
17491758 On Intel P6 family processors (Pentium Pro, Pentium II and later)
17501759 the Memory Type Range Registers (MTRRs) may be used to control
17511760 processor access to memory ranges. This is most useful if you have
....@@ -1775,13 +1784,13 @@
17751784 You can safely say Y even if your machine doesn't have MTRRs, you'll
17761785 just add about 9 KB to your kernel.
17771786
1778
- See <file:Documentation/x86/mtrr.txt> for more information.
1787
+ See <file:Documentation/x86/mtrr.rst> for more information.
17791788
17801789 config MTRR_SANITIZER
17811790 def_bool y
17821791 prompt "MTRR cleanup support"
17831792 depends on MTRR
1784
- ---help---
1793
+ help
17851794 Convert MTRR layout from continuous to discrete, so X drivers can
17861795 add writeback entries.
17871796
....@@ -1796,7 +1805,7 @@
17961805 range 0 1
17971806 default "0"
17981807 depends on MTRR_SANITIZER
1799
- ---help---
1808
+ help
18001809 Enable mtrr cleanup default value
18011810
18021811 config MTRR_SANITIZER_SPARE_REG_NR_DEFAULT
....@@ -1804,7 +1813,7 @@
18041813 range 0 7
18051814 default "1"
18061815 depends on MTRR_SANITIZER
1807
- ---help---
1816
+ help
18081817 mtrr cleanup spare entries default, it can be changed via
18091818 mtrr_spare_reg_nr=N on the kernel command line.
18101819
....@@ -1812,7 +1821,7 @@
18121821 def_bool y
18131822 prompt "x86 PAT support" if EXPERT
18141823 depends on MTRR
1815
- ---help---
1824
+ help
18161825 Use PAT attributes to setup page level cache control.
18171826
18181827 PATs are the modern equivalents of MTRRs and are much more
....@@ -1830,7 +1839,7 @@
18301839 config ARCH_RANDOM
18311840 def_bool y
18321841 prompt "x86 architectural random number generator" if EXPERT
1833
- ---help---
1842
+ help
18341843 Enable the x86 architectural RDRAND instruction
18351844 (Intel Bull Mountain technology) to generate random numbers.
18361845 If supported, this is a high bandwidth, cryptographically
....@@ -1839,7 +1848,7 @@
18391848 config X86_SMAP
18401849 def_bool y
18411850 prompt "Supervisor Mode Access Prevention" if EXPERT
1842
- ---help---
1851
+ help
18431852 Supervisor Mode Access Prevention (SMAP) is a security
18441853 feature in newer Intel processors. There is a small
18451854 performance cost if this enabled and turned on; there is
....@@ -1847,63 +1856,34 @@
18471856
18481857 If unsure, say Y.
18491858
1850
-config X86_INTEL_UMIP
1859
+config X86_UMIP
18511860 def_bool y
1852
- depends on CPU_SUP_INTEL
1853
- prompt "Intel User Mode Instruction Prevention" if EXPERT
1854
- ---help---
1855
- The User Mode Instruction Prevention (UMIP) is a security
1856
- feature in newer Intel processors. If enabled, a general
1857
- protection fault is issued if the SGDT, SLDT, SIDT, SMSW
1858
- or STR instructions are executed in user mode. These instructions
1859
- unnecessarily expose information about the hardware state.
1861
+ prompt "User Mode Instruction Prevention" if EXPERT
1862
+ help
1863
+ User Mode Instruction Prevention (UMIP) is a security feature in
1864
+ some x86 processors. If enabled, a general protection fault is
1865
+ issued if the SGDT, SLDT, SIDT, SMSW or STR instructions are
1866
+ executed in user mode. These instructions unnecessarily expose
1867
+ information about the hardware state.
18601868
18611869 The vast majority of applications do not use these instructions.
18621870 For the very few that do, software emulation is provided in
18631871 specific cases in protected and virtual-8086 modes. Emulated
18641872 results are dummy.
18651873
1866
-config X86_INTEL_MPX
1867
- prompt "Intel MPX (Memory Protection Extensions)"
1868
- def_bool n
1869
- # Note: only available in 64-bit mode due to VMA flags shortage
1870
- depends on CPU_SUP_INTEL && X86_64
1871
- select ARCH_USES_HIGH_VMA_FLAGS
1872
- ---help---
1873
- MPX provides hardware features that can be used in
1874
- conjunction with compiler-instrumented code to check
1875
- memory references. It is designed to detect buffer
1876
- overflow or underflow bugs.
1877
-
1878
- This option enables running applications which are
1879
- instrumented or otherwise use MPX. It does not use MPX
1880
- itself inside the kernel or to protect the kernel
1881
- against bad memory references.
1882
-
1883
- Enabling this option will make the kernel larger:
1884
- ~8k of kernel text and 36 bytes of data on a 64-bit
1885
- defconfig. It adds a long to the 'mm_struct' which
1886
- will increase the kernel memory overhead of each
1887
- process and adds some branches to paths used during
1888
- exec() and munmap().
1889
-
1890
- For details, see Documentation/x86/intel_mpx.txt
1891
-
1892
- If unsure, say N.
1893
-
18941874 config X86_INTEL_MEMORY_PROTECTION_KEYS
1895
- prompt "Intel Memory Protection Keys"
1875
+ prompt "Memory Protection Keys"
18961876 def_bool y
18971877 # Note: only available in 64-bit mode
1898
- depends on CPU_SUP_INTEL && X86_64
1878
+ depends on X86_64 && (CPU_SUP_INTEL || CPU_SUP_AMD)
18991879 select ARCH_USES_HIGH_VMA_FLAGS
19001880 select ARCH_HAS_PKEYS
1901
- ---help---
1881
+ help
19021882 Memory Protection Keys provides a mechanism for enforcing
19031883 page-based protections, but without requiring modification of the
19041884 page tables when an application changes protection domains.
19051885
1906
- For details, see Documentation/x86/protection-keys.txt
1886
+ For details, see Documentation/core-api/protection-keys.rst
19071887
19081888 If unsure, say y.
19091889
....@@ -1958,7 +1938,7 @@
19581938 select UCS2_STRING
19591939 select EFI_RUNTIME_WRAPPERS
19601940 select ARCH_USE_MEMREMAP_PROT
1961
- ---help---
1941
+ help
19621942 This enables the kernel to use EFI runtime services that are
19631943 available (such as the EFI variable services).
19641944
....@@ -1970,19 +1950,19 @@
19701950 platforms.
19711951
19721952 config EFI_STUB
1973
- bool "EFI stub support"
1974
- depends on EFI && !X86_USE_3DNOW
1975
- select RELOCATABLE
1976
- ---help---
1977
- This kernel feature allows a bzImage to be loaded directly
1953
+ bool "EFI stub support"
1954
+ depends on EFI && !X86_USE_3DNOW
1955
+ select RELOCATABLE
1956
+ help
1957
+ This kernel feature allows a bzImage to be loaded directly
19781958 by EFI firmware without the use of a bootloader.
19791959
1980
- See Documentation/efi-stub.txt for more information.
1960
+ See Documentation/admin-guide/efi-stub.rst for more information.
19811961
19821962 config EFI_MIXED
19831963 bool "EFI mixed-mode support"
19841964 depends on EFI_STUB && X86_64
1985
- ---help---
1965
+ help
19861966 Enabling this feature allows a 64-bit kernel to be booted
19871967 on a 32-bit firmware, provided that your CPU supports 64-bit
19881968 mode.
....@@ -1993,28 +1973,12 @@
19931973
19941974 If unsure, say N.
19951975
1996
-config SECCOMP
1997
- def_bool y
1998
- prompt "Enable seccomp to safely compute untrusted bytecode"
1999
- ---help---
2000
- This kernel feature is useful for number crunching applications
2001
- that may need to compute untrusted bytecode during their
2002
- execution. By using pipes or other transports made available to
2003
- the process as file descriptors supporting the read/write
2004
- syscalls, it's possible to isolate those applications in
2005
- their own address space using seccomp. Once seccomp is
2006
- enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
2007
- and the task is only allowed to execute a few safe syscalls
2008
- defined by each seccomp mode.
2009
-
2010
- If unsure, say Y. Only embedded should say N here.
2011
-
2012
-source kernel/Kconfig.hz
1976
+source "kernel/Kconfig.hz"
20131977
20141978 config KEXEC
20151979 bool "kexec system call"
20161980 select KEXEC_CORE
2017
- ---help---
1981
+ help
20181982 kexec is a system call that implements the ability to shutdown your
20191983 current kernel, and to start another kernel. It is like a reboot
20201984 but it is independent of the system firmware. And like a reboot
....@@ -2035,7 +1999,7 @@
20351999 depends on X86_64
20362000 depends on CRYPTO=y
20372001 depends on CRYPTO_SHA256=y
2038
- ---help---
2002
+ help
20392003 This is new version of kexec system call. This system call is
20402004 file based and takes file descriptors as system call argument
20412005 for kernel and initramfs as opposed to list of segments as
....@@ -2044,29 +2008,39 @@
20442008 config ARCH_HAS_KEXEC_PURGATORY
20452009 def_bool KEXEC_FILE
20462010
2047
-config KEXEC_VERIFY_SIG
2011
+config KEXEC_SIG
20482012 bool "Verify kernel signature during kexec_file_load() syscall"
20492013 depends on KEXEC_FILE
2050
- ---help---
2051
- This option makes kernel signature verification mandatory for
2052
- the kexec_file_load() syscall.
2014
+ help
20532015
2054
- In addition to that option, you need to enable signature
2016
+ This option makes the kexec_file_load() syscall check for a valid
2017
+ signature of the kernel image. The image can still be loaded without
2018
+ a valid signature unless you also enable KEXEC_SIG_FORCE, though if
2019
+ there's a signature that we can check, then it must be valid.
2020
+
2021
+ In addition to this option, you need to enable signature
20552022 verification for the corresponding kernel image type being
20562023 loaded in order for this to work.
20572024
2025
+config KEXEC_SIG_FORCE
2026
+ bool "Require a valid signature in kexec_file_load() syscall"
2027
+ depends on KEXEC_SIG
2028
+ help
2029
+ This option makes kernel signature verification mandatory for
2030
+ the kexec_file_load() syscall.
2031
+
20582032 config KEXEC_BZIMAGE_VERIFY_SIG
20592033 bool "Enable bzImage signature verification support"
2060
- depends on KEXEC_VERIFY_SIG
2034
+ depends on KEXEC_SIG
20612035 depends on SIGNED_PE_FILE_VERIFICATION
20622036 select SYSTEM_TRUSTED_KEYRING
2063
- ---help---
2037
+ help
20642038 Enable bzImage signature verification support.
20652039
20662040 config CRASH_DUMP
20672041 bool "kernel crash dumps"
20682042 depends on X86_64 || (X86_32 && HIGHMEM)
2069
- ---help---
2043
+ help
20702044 Generate crash dump after being started by kexec.
20712045 This should be normally only set in special crash dump kernels
20722046 which are loaded in the main kernel with kexec-tools into
....@@ -2075,19 +2049,19 @@
20752049 to a memory address not used by the main kernel or BIOS using
20762050 PHYSICAL_START, or it must be built as a relocatable image
20772051 (CONFIG_RELOCATABLE=y).
2078
- For more details see Documentation/kdump/kdump.txt
2052
+ For more details see Documentation/admin-guide/kdump/kdump.rst
20792053
20802054 config KEXEC_JUMP
20812055 bool "kexec jump"
20822056 depends on KEXEC && HIBERNATION
2083
- ---help---
2057
+ help
20842058 Jump between original kernel and kexeced kernel and invoke
20852059 code in physical address mode via KEXEC
20862060
20872061 config PHYSICAL_START
20882062 hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
20892063 default "0x1000000"
2090
- ---help---
2064
+ help
20912065 This gives the physical address where the kernel is loaded.
20922066
20932067 If kernel is a not relocatable (CONFIG_RELOCATABLE=n) then
....@@ -2112,7 +2086,7 @@
21122086 the reserved region. In other words, it can be set based on
21132087 the "X" value as specified in the "crashkernel=YM@XM"
21142088 command line boot parameter passed to the panic-ed
2115
- kernel. Please take a look at Documentation/kdump/kdump.txt
2089
+ kernel. Please take a look at Documentation/admin-guide/kdump/kdump.rst
21162090 for more details about crash dumps.
21172091
21182092 Usage of bzImage for capturing the crash dump is recommended as
....@@ -2128,7 +2102,7 @@
21282102 config RELOCATABLE
21292103 bool "Build a relocatable kernel"
21302104 default y
2131
- ---help---
2105
+ help
21322106 This builds a kernel image that retains relocation information
21332107 so it can be loaded someplace besides the default 1MB.
21342108 The relocations tend to make the kernel binary about 10% larger,
....@@ -2146,7 +2120,7 @@
21462120 bool "Randomize the address of the kernel image (KASLR)"
21472121 depends on RELOCATABLE
21482122 default y
2149
- ---help---
2123
+ help
21502124 In support of Kernel Address Space Layout Randomization (KASLR),
21512125 this randomizes the physical address at which the kernel image
21522126 is decompressed and the virtual address where the kernel
....@@ -2187,7 +2161,7 @@
21872161 default "0x200000"
21882162 range 0x2000 0x1000000 if X86_32
21892163 range 0x200000 0x1000000 if X86_64
2190
- ---help---
2164
+ help
21912165 This value puts the alignment restrictions on physical address
21922166 where kernel is loaded and run from. Kernel is compiled for an
21932167 address which meets above alignment restriction.
....@@ -2211,7 +2185,7 @@
22112185
22122186 config DYNAMIC_MEMORY_LAYOUT
22132187 bool
2214
- ---help---
2188
+ help
22152189 This option makes base addresses of vmalloc and vmemmap as well as
22162190 __PAGE_OFFSET movable during boot.
22172191
....@@ -2221,7 +2195,7 @@
22212195 depends on RANDOMIZE_BASE
22222196 select DYNAMIC_MEMORY_LAYOUT
22232197 default RANDOMIZE_BASE
2224
- ---help---
2198
+ help
22252199 Randomizes the base virtual address of kernel memory sections
22262200 (physical memory mapping, vmalloc & vmemmap). This security feature
22272201 makes exploits relying on predictable memory locations less reliable.
....@@ -2240,7 +2214,7 @@
22402214 default "0x0"
22412215 range 0x1 0x40 if MEMORY_HOTPLUG
22422216 range 0x0 0x40
2243
- ---help---
2217
+ help
22442218 Define the padding in terabytes added to the existing physical
22452219 memory size during kernel memory randomization. It is useful
22462220 for memory hotplug support but reduces the entropy available for
....@@ -2254,9 +2228,8 @@
22542228
22552229 config BOOTPARAM_HOTPLUG_CPU0
22562230 bool "Set default setting of cpu0_hotpluggable"
2257
- default n
22582231 depends on HOTPLUG_CPU
2259
- ---help---
2232
+ help
22602233 Set whether default state of cpu0_hotpluggable is on or off.
22612234
22622235 Say Y here to enable CPU0 hotplug by default. If this switch
....@@ -2285,7 +2258,7 @@
22852258 def_bool n
22862259 prompt "Debug CPU0 hotplug"
22872260 depends on HOTPLUG_CPU
2288
- ---help---
2261
+ help
22892262 Enabling this option offlines CPU0 (if CPU0 can be offlined) as
22902263 soon as possible and boots up userspace with CPU0 offlined. User
22912264 can online CPU0 back after boot time.
....@@ -2300,7 +2273,7 @@
23002273 def_bool n
23012274 prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
23022275 depends on COMPAT_32
2303
- ---help---
2276
+ help
23042277 Certain buggy versions of glibc will crash if they are
23052278 presented with a 32-bit vDSO that is not mapped at the address
23062279 indicated in its segment table.
....@@ -2324,7 +2297,7 @@
23242297 choice
23252298 prompt "vsyscall table for legacy applications"
23262299 depends on X86_64
2327
- default LEGACY_VSYSCALL_EMULATE
2300
+ default LEGACY_VSYSCALL_XONLY
23282301 help
23292302 Legacy user code that does not know how to find the vDSO expects
23302303 to be able to issue three syscalls by calling fixed addresses in
....@@ -2332,23 +2305,38 @@
23322305 it can be used to assist security vulnerability exploitation.
23332306
23342307 This setting can be changed at boot time via the kernel command
2335
- line parameter vsyscall=[emulate|none].
2308
+ line parameter vsyscall=[emulate|xonly|none].
23362309
23372310 On a system with recent enough glibc (2.14 or newer) and no
23382311 static binaries, you can say None without a performance penalty
23392312 to improve security.
23402313
2341
- If unsure, select "Emulate".
2314
+ If unsure, select "Emulate execution only".
23422315
23432316 config LEGACY_VSYSCALL_EMULATE
2344
- bool "Emulate"
2317
+ bool "Full emulation"
23452318 help
2346
- The kernel traps and emulates calls into the fixed
2347
- vsyscall address mapping. This makes the mapping
2348
- non-executable, but it still contains known contents,
2349
- which could be used in certain rare security vulnerability
2350
- exploits. This configuration is recommended when userspace
2351
- still uses the vsyscall area.
2319
+ The kernel traps and emulates calls into the fixed vsyscall
2320
+ address mapping. This makes the mapping non-executable, but
2321
+ it still contains readable known contents, which could be
2322
+ used in certain rare security vulnerability exploits. This
2323
+ configuration is recommended when using legacy userspace
2324
+ that still uses vsyscalls along with legacy binary
2325
+ instrumentation tools that require code to be readable.
2326
+
2327
+ An example of this type of legacy userspace is running
2328
+ Pin on an old binary that still uses vsyscalls.
2329
+
2330
+ config LEGACY_VSYSCALL_XONLY
2331
+ bool "Emulate execution only"
2332
+ help
2333
+ The kernel traps and emulates calls into the fixed vsyscall
2334
+ address mapping and does not allow reads. This
2335
+ configuration is recommended when userspace might use the
2336
+ legacy vsyscall area but support for legacy binary
2337
+ instrumentation of legacy code is not needed. It mitigates
2338
+ certain uses of the vsyscall area as an ASLR-bypassing
2339
+ buffer.
23522340
23532341 config LEGACY_VSYSCALL_NONE
23542342 bool "None"
....@@ -2363,7 +2351,7 @@
23632351
23642352 config CMDLINE_BOOL
23652353 bool "Built-in kernel command line"
2366
- ---help---
2354
+ help
23672355 Allow for specifying boot arguments to the kernel at
23682356 build time. On some systems (e.g. embedded ones), it is
23692357 necessary or convenient to provide some or all of the
....@@ -2381,7 +2369,7 @@
23812369 string "Built-in kernel command string"
23822370 depends on CMDLINE_BOOL
23832371 default ""
2384
- ---help---
2372
+ help
23852373 Enter arguments here that should be compiled into the kernel
23862374 image and used at boot time. If the boot loader provides a
23872375 command line at boot time, it is appended to this string to
....@@ -2396,8 +2384,8 @@
23962384
23972385 config CMDLINE_OVERRIDE
23982386 bool "Built-in command line overrides boot loader arguments"
2399
- depends on CMDLINE_BOOL
2400
- ---help---
2387
+ depends on CMDLINE_BOOL && CMDLINE != ""
2388
+ help
24012389 Set this option to 'Y' to have the kernel ignore the boot loader
24022390 command line, and use ONLY the built-in command line.
24032391
....@@ -2407,7 +2395,7 @@
24072395 config MODIFY_LDT_SYSCALL
24082396 bool "Enable the LDT (local descriptor table)" if EXPERT
24092397 default y
2410
- ---help---
2398
+ help
24112399 Linux can allow user programs to install a per-process x86
24122400 Local Descriptor Table (LDT) using the modify_ldt(2) system
24132401 call. This is required to run 16-bit or segmented code such as
....@@ -2423,6 +2411,114 @@
24232411 source "kernel/livepatch/Kconfig"
24242412
24252413 endmenu
2414
+
2415
+config CC_HAS_SLS
2416
+ def_bool $(cc-option,-mharden-sls=all)
2417
+
2418
+config CC_HAS_RETURN_THUNK
2419
+ def_bool $(cc-option,-mfunction-return=thunk-extern)
2420
+
2421
+menuconfig SPECULATION_MITIGATIONS
2422
+ bool "Mitigations for speculative execution vulnerabilities"
2423
+ default y
2424
+ help
2425
+ Say Y here to enable options which enable mitigations for
2426
+ speculative execution hardware vulnerabilities.
2427
+
2428
+ If you say N, all mitigations will be disabled. You really
2429
+ should know what you are doing to say so.
2430
+
2431
+if SPECULATION_MITIGATIONS
2432
+
2433
+config PAGE_TABLE_ISOLATION
2434
+ bool "Remove the kernel mapping in user mode"
2435
+ default y
2436
+ depends on (X86_64 || X86_PAE)
2437
+ help
2438
+ This feature reduces the number of hardware side channels by
2439
+ ensuring that the majority of kernel addresses are not mapped
2440
+ into userspace.
2441
+
2442
+ See Documentation/x86/pti.rst for more details.
2443
+
2444
+config RETPOLINE
2445
+ bool "Avoid speculative indirect branches in kernel"
2446
+ default y
2447
+ help
2448
+ Compile kernel with the retpoline compiler options to guard against
2449
+ kernel-to-user data leaks by avoiding speculative indirect
2450
+ branches. Requires a compiler with -mindirect-branch=thunk-extern
2451
+ support for full protection. The kernel may run slower.
2452
+
2453
+config RETHUNK
2454
+ bool "Enable return-thunks"
2455
+ depends on RETPOLINE && CC_HAS_RETURN_THUNK
2456
+ default y if X86_64
2457
+ help
2458
+ Compile the kernel with the return-thunks compiler option to guard
2459
+ against kernel-to-user data leaks by avoiding return speculation.
2460
+ Requires a compiler with -mfunction-return=thunk-extern
2461
+ support for full protection. The kernel may run slower.
2462
+
2463
+config CPU_UNRET_ENTRY
2464
+ bool "Enable UNRET on kernel entry"
2465
+ depends on CPU_SUP_AMD && RETHUNK && X86_64
2466
+ default y
2467
+ help
2468
+ Compile the kernel with support for the retbleed=unret mitigation.
2469
+
2470
+config CPU_IBPB_ENTRY
2471
+ bool "Enable IBPB on kernel entry"
2472
+ depends on CPU_SUP_AMD && X86_64
2473
+ default y
2474
+ help
2475
+ Compile the kernel with support for the retbleed=ibpb mitigation.
2476
+
2477
+config CPU_IBRS_ENTRY
2478
+ bool "Enable IBRS on kernel entry"
2479
+ depends on CPU_SUP_INTEL && X86_64
2480
+ default y
2481
+ help
2482
+ Compile the kernel with support for the spectre_v2=ibrs mitigation.
2483
+ This mitigates both spectre_v2 and retbleed at great cost to
2484
+ performance.
2485
+
2486
+config CPU_SRSO
2487
+ bool "Mitigate speculative RAS overflow on AMD"
2488
+ depends on CPU_SUP_AMD && X86_64 && RETHUNK
2489
+ default y
2490
+ help
2491
+ Enable the SRSO mitigation needed on AMD Zen1-4 machines.
2492
+
2493
+config SLS
2494
+ bool "Mitigate Straight-Line-Speculation"
2495
+ depends on CC_HAS_SLS && X86_64
2496
+ default n
2497
+ help
2498
+ Compile the kernel with straight-line-speculation options to guard
2499
+ against straight line speculation. The kernel image might be slightly
2500
+ larger.
2501
+
2502
+config GDS_FORCE_MITIGATION
2503
+ bool "Force GDS Mitigation"
2504
+ depends on CPU_SUP_INTEL
2505
+ default n
2506
+ help
2507
+ Gather Data Sampling (GDS) is a hardware vulnerability which allows
2508
+ unprivileged speculative access to data which was previously stored in
2509
+ vector registers.
2510
+
2511
+ This option is equivalent to setting gather_data_sampling=force on the
2512
+ command line. The microcode mitigation is used if present, otherwise
2513
+ AVX is disabled as a mitigation. On affected systems that are missing
2514
+ the microcode any userspace code that unconditionally uses AVX will
2515
+ break with this option set.
2516
+
2517
+ Setting this option on systems not vulnerable to GDS has no effect.
2518
+
2519
+ If in doubt, say N.
2520
+
2521
+endif
24262522
24272523 config ARCH_HAS_ADD_PAGES
24282524 def_bool y
....@@ -2456,7 +2552,7 @@
24562552
24572553 config ARCH_HIBERNATION_HEADER
24582554 def_bool y
2459
- depends on X86_64 && HIBERNATION
2555
+ depends on HIBERNATION
24602556
24612557 source "kernel/power/Kconfig"
24622558
....@@ -2471,7 +2567,7 @@
24712567 menuconfig APM
24722568 tristate "APM (Advanced Power Management) BIOS support"
24732569 depends on X86_32 && PM_SLEEP
2474
- ---help---
2570
+ help
24752571 APM is a BIOS specification for saving power using several different
24762572 techniques. This is mostly useful for battery powered laptops with
24772573 APM compliant BIOSes. If you say Y here, the system time will be
....@@ -2486,7 +2582,7 @@
24862582 machines with more than one CPU.
24872583
24882584 In order to use APM, you will need supporting software. For location
2489
- and more information, read <file:Documentation/power/apm-acpi.txt>
2585
+ and more information, read <file:Documentation/power/apm-acpi.rst>
24902586 and the Battery Powered Linux mini-HOWTO, available from
24912587 <http://www.tldp.org/docs.html#howto>.
24922588
....@@ -2531,14 +2627,14 @@
25312627
25322628 config APM_IGNORE_USER_SUSPEND
25332629 bool "Ignore USER SUSPEND"
2534
- ---help---
2630
+ help
25352631 This option will ignore USER SUSPEND requests. On machines with a
25362632 compliant APM BIOS, you want to say N. However, on the NEC Versa M
25372633 series notebooks, it is necessary to say Y because of a BIOS bug.
25382634
25392635 config APM_DO_ENABLE
25402636 bool "Enable PM at boot time"
2541
- ---help---
2637
+ help
25422638 Enable APM features at boot time. From page 36 of the APM BIOS
25432639 specification: "When disabled, the APM BIOS does not automatically
25442640 power manage devices, enter the Standby State, enter the Suspend
....@@ -2556,7 +2652,7 @@
25562652 config APM_CPU_IDLE
25572653 depends on CPU_IDLE
25582654 bool "Make CPU Idle calls when idle"
2559
- ---help---
2655
+ help
25602656 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
25612657 On some machines, this can activate improved power savings, such as
25622658 a slowed CPU clock rate, when the machine is idle. These idle calls
....@@ -2567,7 +2663,7 @@
25672663
25682664 config APM_DISPLAY_BLANK
25692665 bool "Enable console blanking using APM"
2570
- ---help---
2666
+ help
25712667 Enable console blanking using the APM. Some laptops can use this to
25722668 turn off the LCD backlight when the screen blanker of the Linux
25732669 virtual console blanks the screen. Note that this is only used by
....@@ -2580,7 +2676,7 @@
25802676
25812677 config APM_ALLOW_INTS
25822678 bool "Allow interrupts during APM BIOS calls"
2583
- ---help---
2679
+ help
25842680 Normally we disable external interrupts while we are making calls to
25852681 the APM BIOS as a measure to lessen the effects of a badly behaving
25862682 BIOS implementation. The BIOS should reenable interrupts if it
....@@ -2601,20 +2697,11 @@
26012697
26022698 menu "Bus options (PCI etc.)"
26032699
2604
-config PCI
2605
- bool "PCI support"
2606
- default y
2607
- ---help---
2608
- Find out whether you have a PCI motherboard. PCI is the name of a
2609
- bus system, i.e. the way the CPU talks to the other stuff inside
2610
- your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
2611
- VESA. If you have PCI, say Y, otherwise N.
2612
-
26132700 choice
26142701 prompt "PCI access mode"
26152702 depends on X86_32 && PCI
26162703 default PCI_GOANY
2617
- ---help---
2704
+ help
26182705 On PCI systems, the BIOS can be used to detect the PCI devices and
26192706 determine their configuration. However, some old PCI motherboards
26202707 have BIOS bugs and may crash if this is done. Also, some embedded
....@@ -2671,10 +2758,6 @@
26712758 depends on PCI && XEN
26722759 select SWIOTLB_XEN
26732760
2674
-config PCI_DOMAINS
2675
- def_bool y
2676
- depends on PCI
2677
-
26782761 config MMCONF_FAM10H
26792762 def_bool y
26802763 depends on X86_64 && PCI_MMCONFIG && ACPI
....@@ -2691,8 +2774,6 @@
26912774 is known to be incomplete.
26922775
26932776 You should say N unless you know you need this.
2694
-
2695
-source "drivers/pci/Kconfig"
26962777
26972778 config ISA_BUS
26982779 bool "ISA bus support on modern systems" if EXPERT
....@@ -2717,34 +2798,16 @@
27172798
27182799 config ISA
27192800 bool "ISA support"
2720
- ---help---
2801
+ help
27212802 Find out whether you have ISA slots on your motherboard. ISA is the
27222803 name of a bus system, i.e. the way the CPU talks to the other stuff
27232804 inside your box. Other bus systems are PCI, EISA, MicroChannel
27242805 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
27252806 newer boards don't support it. If you have ISA, say Y, otherwise N.
27262807
2727
-config EISA
2728
- bool "EISA support"
2729
- depends on ISA
2730
- ---help---
2731
- The Extended Industry Standard Architecture (EISA) bus was
2732
- developed as an open alternative to the IBM MicroChannel bus.
2733
-
2734
- The EISA bus provided some of the features of the IBM MicroChannel
2735
- bus while maintaining backward compatibility with cards made for
2736
- the older ISA bus. The EISA bus saw limited use between 1988 and
2737
- 1995 when it was made obsolete by the PCI bus.
2738
-
2739
- Say Y here if you are building a kernel for an EISA-based machine.
2740
-
2741
- Otherwise, say N.
2742
-
2743
-source "drivers/eisa/Kconfig"
2744
-
27452808 config SCx200
27462809 tristate "NatSemi SCx200 support"
2747
- ---help---
2810
+ help
27482811 This provides basic support for National Semiconductor's
27492812 (now AMD's) Geode processors. The driver probes for the
27502813 PCI-IDs of several on-chip devices, so its a good dependency
....@@ -2756,7 +2819,7 @@
27562819 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
27572820 depends on SCx200
27582821 default y
2759
- ---help---
2822
+ help
27602823 This driver provides a clocksource built upon the on-chip
27612824 27MHz high-resolution timer. Its also a workaround for
27622825 NSC Geode SC-1100's buggy TSC, which loses time when the
....@@ -2770,20 +2833,21 @@
27702833 select OF
27712834 select OF_PROMTREE
27722835 select IRQ_DOMAIN
2773
- ---help---
2836
+ select OLPC_EC
2837
+ help
27742838 Add support for detecting the unique features of the OLPC
27752839 XO hardware.
27762840
27772841 config OLPC_XO1_PM
27782842 bool "OLPC XO-1 Power Management"
27792843 depends on OLPC && MFD_CS5535=y && PM_SLEEP
2780
- ---help---
2844
+ help
27812845 Add support for poweroff and suspend of the OLPC XO-1 laptop.
27822846
27832847 config OLPC_XO1_RTC
27842848 bool "OLPC XO-1 Real Time Clock"
27852849 depends on OLPC_XO1_PM && RTC_DRV_CMOS
2786
- ---help---
2850
+ help
27872851 Add support for the XO-1 real time clock, which can be used as a
27882852 programmable wakeup source.
27892853
....@@ -2792,7 +2856,7 @@
27922856 depends on OLPC && OLPC_XO1_PM && GPIO_CS5535=y
27932857 depends on INPUT=y
27942858 select POWER_SUPPLY
2795
- ---help---
2859
+ help
27962860 Add support for SCI-based features of the OLPC XO-1 laptop:
27972861 - EC-driven system wakeups
27982862 - Power button
....@@ -2805,7 +2869,7 @@
28052869 bool "OLPC XO-1.5 SCI extras"
28062870 depends on OLPC && ACPI
28072871 select POWER_SUPPLY
2808
- ---help---
2872
+ help
28092873 Add support for SCI-based features of the OLPC XO-1.5 laptop:
28102874 - EC-driven system wakeups
28112875 - AC adapter status updates
....@@ -2814,7 +2878,7 @@
28142878 config ALIX
28152879 bool "PCEngines ALIX System Support (LED setup)"
28162880 select GPIOLIB
2817
- ---help---
2881
+ help
28182882 This option enables system support for the PCEngines ALIX.
28192883 At present this just sets up LEDs for GPIO control on
28202884 ALIX2/3/6 boards. However, other system specific setup should
....@@ -2828,14 +2892,14 @@
28282892 config NET5501
28292893 bool "Soekris Engineering net5501 System Support (LEDS, GPIO, etc)"
28302894 select GPIOLIB
2831
- ---help---
2895
+ help
28322896 This option enables system support for the Soekris Engineering net5501.
28332897
28342898 config GEOS
28352899 bool "Traverse Technologies GEOS System Support (LEDS, GPIO, etc)"
28362900 select GPIOLIB
28372901 depends on DMI
2838
- ---help---
2902
+ help
28392903 This option enables system support for the Traverse Technologies GEOS.
28402904
28412905 config TS5500
....@@ -2844,7 +2908,7 @@
28442908 select CHECK_SIGNATURE
28452909 select NEW_LEDS
28462910 select LEDS_CLASS
2847
- ---help---
2911
+ help
28482912 This option enables system support for the Technologic Systems TS-5500.
28492913
28502914 endif # X86_32
....@@ -2852,18 +2916,6 @@
28522916 config AMD_NB
28532917 def_bool y
28542918 depends on CPU_SUP_AMD && PCI
2855
-
2856
-source "drivers/pcmcia/Kconfig"
2857
-
2858
-config RAPIDIO
2859
- tristate "RapidIO support"
2860
- depends on PCI
2861
- default n
2862
- help
2863
- If enabled this option will include drivers and the core
2864
- infrastructure code to support RapidIO interconnect devices.
2865
-
2866
-source "drivers/rapidio/Kconfig"
28672919
28682920 config X86_SYSFB
28692921 bool "Mark VGA/VBE/EFI FB as generic system framebuffer"
....@@ -2903,7 +2955,7 @@
29032955 select BINFMT_ELF
29042956 select COMPAT_BINFMT_ELF
29052957 select COMPAT_OLD_SIGACTION
2906
- ---help---
2958
+ help
29072959 Include code to run legacy 32-bit programs under a
29082960 64-bit kernel. You should likely turn this on, unless you're
29092961 100% sure that you don't have any 32-bit programs left.
....@@ -2911,13 +2963,19 @@
29112963 config IA32_AOUT
29122964 tristate "IA32 a.out support"
29132965 depends on IA32_EMULATION
2914
- ---help---
2966
+ depends on BROKEN
2967
+ help
29152968 Support old a.out binaries in the 32bit emulation.
29162969
29172970 config X86_X32
29182971 bool "x32 ABI for 64-bit mode"
29192972 depends on X86_64
2920
- ---help---
2973
+ # llvm-objcopy does not convert x86_64 .note.gnu.property or
2974
+ # compressed debug sections to x86_x32 properly:
2975
+ # https://github.com/ClangBuiltLinux/linux/issues/514
2976
+ # https://github.com/ClangBuiltLinux/linux/issues/1141
2977
+ depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
2978
+ help
29212979 Include code to run binaries for the x32 native 32-bit ABI
29222980 for 64-bit processors. An x32 process gets access to the
29232981 full 64-bit register file and wide data path while leaving
....@@ -2953,17 +3011,8 @@
29533011 def_bool y
29543012 depends on X86_32
29553013
2956
-config X86_DEV_DMA_OPS
2957
- bool
2958
- depends on X86_64 || STA2X11
2959
-
2960
-config X86_DMA_REMAP
2961
- bool
2962
- depends on STA2X11
2963
-
2964
-config HAVE_GENERIC_GUP
2965
- def_bool y
2966
-
29673014 source "drivers/firmware/Kconfig"
29683015
29693016 source "arch/x86/kvm/Kconfig"
3017
+
3018
+source "arch/x86/Kconfig.assembler"