Kconfig (adeab5bfb81840dc4be7ae20324bbf03b2b53eb2) | Kconfig (b0b8a15bb89e09e12aa6be8ae28128bb656338f1) |
---|---|
1# SPDX-License-Identifier: GPL-2.0 2# Select 32 or 64 bit 3config 64BIT 4 bool "64-bit kernel" if "$(ARCH)" = "x86" 5 default "$(ARCH)" != "i386" 6 help 7 Say yes to build a 64-bit kernel - formerly known as x86_64 8 Say no to build a 32-bit kernel - formerly known as i386 --- 20 unchanged lines hidden (view full) --- 29 select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 30 select ARCH_SUPPORTS_PER_VMA_LOCK 31 select HAVE_ARCH_SOFT_DIRTY 32 select MODULES_USE_ELF_RELA 33 select NEED_DMA_MAP_STATE 34 select SWIOTLB 35 select ARCH_HAS_ELFCORE_COMPAT 36 select ZONE_DMA32 | 1# SPDX-License-Identifier: GPL-2.0 2# Select 32 or 64 bit 3config 64BIT 4 bool "64-bit kernel" if "$(ARCH)" = "x86" 5 default "$(ARCH)" != "i386" 6 help 7 Say yes to build a 64-bit kernel - formerly known as x86_64 8 Say no to build a 32-bit kernel - formerly known as i386 --- 20 unchanged lines hidden (view full) --- 29 select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 30 select ARCH_SUPPORTS_PER_VMA_LOCK 31 select HAVE_ARCH_SOFT_DIRTY 32 select MODULES_USE_ELF_RELA 33 select NEED_DMA_MAP_STATE 34 select SWIOTLB 35 select ARCH_HAS_ELFCORE_COMPAT 36 select ZONE_DMA32 |
37 select EXECMEM if DYNAMIC_FTRACE |
|
37 38config FORCE_DYNAMIC_FTRACE 39 def_bool y 40 depends on X86_32 41 depends on FUNCTION_TRACER 42 select DYNAMIC_FTRACE 43 help 44 We keep the static function tracing (!DYNAMIC_FTRACE) around --- 34 unchanged lines hidden (view full) --- 79 select ARCH_HAS_DEBUG_VM_PGTABLE if !X86_PAE 80 select ARCH_HAS_DEVMEM_IS_ALLOWED 81 select ARCH_HAS_EARLY_DEBUG if KGDB 82 select ARCH_HAS_ELF_RANDOMIZE 83 select ARCH_HAS_FAST_MULTIPLIER 84 select ARCH_HAS_FORTIFY_SOURCE 85 select ARCH_HAS_GCOV_PROFILE_ALL 86 select ARCH_HAS_KCOV if X86_64 | 38 39config FORCE_DYNAMIC_FTRACE 40 def_bool y 41 depends on X86_32 42 depends on FUNCTION_TRACER 43 select DYNAMIC_FTRACE 44 help 45 We keep the static function tracing (!DYNAMIC_FTRACE) around --- 34 unchanged lines hidden (view full) --- 80 select ARCH_HAS_DEBUG_VM_PGTABLE if !X86_PAE 81 select ARCH_HAS_DEVMEM_IS_ALLOWED 82 select ARCH_HAS_EARLY_DEBUG if KGDB 83 select ARCH_HAS_ELF_RANDOMIZE 84 select ARCH_HAS_FAST_MULTIPLIER 85 select ARCH_HAS_FORTIFY_SOURCE 86 select ARCH_HAS_GCOV_PROFILE_ALL 87 select ARCH_HAS_KCOV if X86_64 |
88 select ARCH_HAS_KERNEL_FPU_SUPPORT |
|
87 select ARCH_HAS_MEM_ENCRYPT 88 select ARCH_HAS_MEMBARRIER_SYNC_CORE 89 select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS 90 select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE 91 select ARCH_HAS_PMEM_API if X86_64 92 select ARCH_HAS_PTE_DEVMAP if X86_64 93 select ARCH_HAS_PTE_SPECIAL 94 select ARCH_HAS_HW_PTE_YOUNG --- 69 unchanged lines hidden (view full) --- 164 select GENERIC_IRQ_RESERVATION_MODE 165 select GENERIC_IRQ_SHOW 166 select GENERIC_PENDING_IRQ if SMP 167 select GENERIC_PTDUMP 168 select GENERIC_SMP_IDLE_THREAD 169 select GENERIC_TIME_VSYSCALL 170 select GENERIC_GETTIMEOFDAY 171 select GENERIC_VDSO_TIME_NS | 89 select ARCH_HAS_MEM_ENCRYPT 90 select ARCH_HAS_MEMBARRIER_SYNC_CORE 91 select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS 92 select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE 93 select ARCH_HAS_PMEM_API if X86_64 94 select ARCH_HAS_PTE_DEVMAP if X86_64 95 select ARCH_HAS_PTE_SPECIAL 96 select ARCH_HAS_HW_PTE_YOUNG --- 69 unchanged lines hidden (view full) --- 166 select GENERIC_IRQ_RESERVATION_MODE 167 select GENERIC_IRQ_SHOW 168 select GENERIC_PENDING_IRQ if SMP 169 select GENERIC_PTDUMP 170 select GENERIC_SMP_IDLE_THREAD 171 select GENERIC_TIME_VSYSCALL 172 select GENERIC_GETTIMEOFDAY 173 select GENERIC_VDSO_TIME_NS |
174 select GENERIC_VDSO_OVERFLOW_PROTECT |
|
172 select GUP_GET_PXX_LOW_HIGH if X86_PAE 173 select HARDIRQS_SW_RESEND 174 select HARDLOCKUP_CHECK_TIMESTAMP if X86_64 175 select HAS_IOPORT 176 select HAVE_ACPI_APEI if ACPI 177 select HAVE_ACPI_APEI_NMI if ACPI 178 select HAVE_ALIGNED_STRUCT_PAGE 179 select HAVE_ARCH_AUDITSYSCALL --- 37 unchanged lines hidden (view full) --- 217 select HAVE_DYNAMIC_FTRACE_WITH_ARGS if X86_64 218 select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS 219 select HAVE_SAMPLE_FTRACE_DIRECT if X86_64 220 select HAVE_SAMPLE_FTRACE_DIRECT_MULTI if X86_64 221 select HAVE_EBPF_JIT 222 select HAVE_EFFICIENT_UNALIGNED_ACCESS 223 select HAVE_EISA 224 select HAVE_EXIT_THREAD | 175 select GUP_GET_PXX_LOW_HIGH if X86_PAE 176 select HARDIRQS_SW_RESEND 177 select HARDLOCKUP_CHECK_TIMESTAMP if X86_64 178 select HAS_IOPORT 179 select HAVE_ACPI_APEI if ACPI 180 select HAVE_ACPI_APEI_NMI if ACPI 181 select HAVE_ALIGNED_STRUCT_PAGE 182 select HAVE_ARCH_AUDITSYSCALL --- 37 unchanged lines hidden (view full) --- 220 select HAVE_DYNAMIC_FTRACE_WITH_ARGS if X86_64 221 select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS 222 select HAVE_SAMPLE_FTRACE_DIRECT if X86_64 223 select HAVE_SAMPLE_FTRACE_DIRECT_MULTI if X86_64 224 select HAVE_EBPF_JIT 225 select HAVE_EFFICIENT_UNALIGNED_ACCESS 226 select HAVE_EISA 227 select HAVE_EXIT_THREAD |
225 select HAVE_FAST_GUP | 228 select HAVE_GUP_FAST |
226 select HAVE_FENTRY if X86_64 || DYNAMIC_FTRACE 227 select HAVE_FTRACE_MCOUNT_RECORD 228 select HAVE_FUNCTION_GRAPH_RETVAL if HAVE_FUNCTION_GRAPH_TRACER 229 select HAVE_FUNCTION_GRAPH_TRACER if X86_32 || (X86_64 && DYNAMIC_FTRACE) 230 select HAVE_FUNCTION_TRACER 231 select HAVE_GCC_PLUGINS 232 select HAVE_HW_BREAKPOINT 233 select HAVE_IOREMAP_PROT --- 226 unchanged lines hidden (view full) --- 460 461 Some Intel systems circa 2022 and later are locked into x2APIC mode 462 and can not fall back to the legacy APIC modes if SGX or TDX are 463 enabled in the BIOS. They will boot with very reduced functionality 464 without enabling this option. 465 466 If you don't know what to do here, say N. 467 | 229 select HAVE_FENTRY if X86_64 || DYNAMIC_FTRACE 230 select HAVE_FTRACE_MCOUNT_RECORD 231 select HAVE_FUNCTION_GRAPH_RETVAL if HAVE_FUNCTION_GRAPH_TRACER 232 select HAVE_FUNCTION_GRAPH_TRACER if X86_32 || (X86_64 && DYNAMIC_FTRACE) 233 select HAVE_FUNCTION_TRACER 234 select HAVE_GCC_PLUGINS 235 select HAVE_HW_BREAKPOINT 236 select HAVE_IOREMAP_PROT --- 226 unchanged lines hidden (view full) --- 463 464 Some Intel systems circa 2022 and later are locked into x2APIC mode 465 and can not fall back to the legacy APIC modes if SGX or TDX are 466 enabled in the BIOS. They will boot with very reduced functionality 467 without enabling this option. 468 469 If you don't know what to do here, say N. 470 |
471config X86_POSTED_MSI 472 bool "Enable MSI and MSI-x delivery by posted interrupts" 473 depends on X86_64 && IRQ_REMAP 474 help 475 This enables MSIs that are under interrupt remapping to be delivered as 476 posted interrupts to the host kernel. Interrupt throughput can 477 potentially be improved by coalescing CPU notifications during high 478 frequency bursts. 479 480 If you don't know what to do here, say N. 481 |
|
468config X86_MPPARSE 469 bool "Enable MPS table" if ACPI 470 default y 471 depends on X86_LOCAL_APIC 472 help 473 For old smp systems that do not have proper acpi support. Newer systems 474 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it 475 --- 20 unchanged lines hidden (view full) --- 496 497config X86_FRED 498 bool "Flexible Return and Event Delivery" 499 depends on X86_64 500 help 501 When enabled, try to use Flexible Return and Event Delivery 502 instead of the legacy SYSCALL/SYSENTER/IDT architecture for 503 ring transitions and exception/interrupt handling if the | 482config X86_MPPARSE 483 bool "Enable MPS table" if ACPI 484 default y 485 depends on X86_LOCAL_APIC 486 help 487 For old smp systems that do not have proper acpi support. Newer systems 488 (esp with 64bit cpus) with acpi support, MADT and DSDT will override it 489 --- 20 unchanged lines hidden (view full) --- 510 511config X86_FRED 512 bool "Flexible Return and Event Delivery" 513 depends on X86_64 514 help 515 When enabled, try to use Flexible Return and Event Delivery 516 instead of the legacy SYSCALL/SYSENTER/IDT architecture for 517 ring transitions and exception/interrupt handling if the |
504 system supports. | 518 system supports it. |
505 | 519 |
506if X86_32 | |
507config X86_BIGSMP 508 bool "Support for big SMP systems with more than 8 CPUs" | 520config X86_BIGSMP 521 bool "Support for big SMP systems with more than 8 CPUs" |
509 depends on SMP | 522 depends on SMP && X86_32 |
510 help 511 This option is needed for the systems that have more than 8 CPUs. 512 513config X86_EXTENDED_PLATFORM 514 bool "Support for extended (non-PC) x86 platforms" 515 default y 516 help 517 If you disable this option then the kernel will only support 518 standard PC platforms. (which covers the vast majority of 519 systems out there.) 520 521 If you enable this option then you'll be able to select support | 523 help 524 This option is needed for the systems that have more than 8 CPUs. 525 526config X86_EXTENDED_PLATFORM 527 bool "Support for extended (non-PC) x86 platforms" 528 default y 529 help 530 If you disable this option then the kernel will only support 531 standard PC platforms. (which covers the vast majority of 532 systems out there.) 533 534 If you enable this option then you'll be able to select support |
522 for the following (non-PC) 32 bit x86 platforms: | 535 for the following non-PC x86 platforms, depending on the value of 536 CONFIG_64BIT. 537 538 32-bit platforms (CONFIG_64BIT=n): |
523 Goldfish (Android emulator) 524 AMD Elan 525 RDC R-321x SoC 526 SGI 320/540 (Visual Workstation) 527 STA2X11-based (e.g. Northville) 528 Moorestown MID devices 529 | 539 Goldfish (Android emulator) 540 AMD Elan 541 RDC R-321x SoC 542 SGI 320/540 (Visual Workstation) 543 STA2X11-based (e.g. Northville) 544 Moorestown MID devices 545 |
530 If you have one of these systems, or if you want to build a 531 generic distribution kernel, say Y here - otherwise say N. 532endif # X86_32 533 534if X86_64 535config X86_EXTENDED_PLATFORM 536 bool "Support for extended (non-PC) x86 platforms" 537 default y 538 help 539 If you disable this option then the kernel will only support 540 standard PC platforms. (which covers the vast majority of 541 systems out there.) 542 543 If you enable this option then you'll be able to select support 544 for the following (non-PC) 64 bit x86 platforms: | 546 64-bit platforms (CONFIG_64BIT=y): |
545 Numascale NumaChip 546 ScaleMP vSMP 547 SGI Ultraviolet 548 549 If you have one of these systems, or if you want to build a 550 generic distribution kernel, say Y here - otherwise say N. | 547 Numascale NumaChip 548 ScaleMP vSMP 549 SGI Ultraviolet 550 551 If you have one of these systems, or if you want to build a 552 generic distribution kernel, say Y here - otherwise say N. |
551endif # X86_64 | 553 |
552# This is an alphabetically sorted list of 64 bit extended platforms 553# Please maintain the alphabetic order if and when there are additions 554config X86_NUMACHIP 555 bool "Numascale NumaChip" 556 depends on X86_64 557 depends on X86_EXTENDED_PLATFORM 558 depends on NUMA 559 depends on SMP --- 1865 unchanged lines hidden (view full) --- 2425 2426 Say 'N' unless you want to really enforce this check. 2427 2428source "kernel/livepatch/Kconfig" 2429 2430endmenu 2431 2432config CC_HAS_NAMED_AS | 554# This is an alphabetically sorted list of 64 bit extended platforms 555# Please maintain the alphabetic order if and when there are additions 556config X86_NUMACHIP 557 bool "Numascale NumaChip" 558 depends on X86_64 559 depends on X86_EXTENDED_PLATFORM 560 depends on NUMA 561 depends on SMP --- 1865 unchanged lines hidden (view full) --- 2427 2428 Say 'N' unless you want to really enforce this check. 2429 2430source "kernel/livepatch/Kconfig" 2431 2432endmenu 2433 2434config CC_HAS_NAMED_AS |
2433 def_bool CC_IS_GCC && GCC_VERSION >= 120100 | 2435 def_bool CC_IS_GCC && GCC_VERSION >= 90100 |
2434 | 2436 |
2437config CC_HAS_NAMED_AS_FIXED_SANITIZERS 2438 def_bool CC_IS_GCC && GCC_VERSION >= 130300 2439 |
|
2435config USE_X86_SEG_SUPPORT 2436 def_bool y 2437 depends on CC_HAS_NAMED_AS 2438 # | 2440config USE_X86_SEG_SUPPORT 2441 def_bool y 2442 depends on CC_HAS_NAMED_AS 2443 # |
2439 # -fsanitize=kernel-address (KASAN) is at the moment incompatible 2440 # with named address spaces - see GCC PR sanitizer/111736. | 2444 # -fsanitize=kernel-address (KASAN) and -fsanitize=thread 2445 # (KCSAN) are incompatible with named address spaces with 2446 # GCC < 13.3 - see GCC PR sanitizer/111736. |
2441 # | 2447 # |
2442 depends on !KASAN 2443 # -fsanitize=thread (KCSAN) is also incompatible. 2444 depends on !KCSAN | 2448 depends on !(KASAN || KCSAN) || CC_HAS_NAMED_AS_FIXED_SANITIZERS |
2445 2446config CC_HAS_SLS 2447 def_bool $(cc-option,-mharden-sls=all) 2448 2449config CC_HAS_RETURN_THUNK 2450 def_bool $(cc-option,-mfunction-return=thunk-extern) 2451 2452config CC_HAS_ENTRY_PADDING --- 630 unchanged lines hidden --- | 2449 2450config CC_HAS_SLS 2451 def_bool $(cc-option,-mharden-sls=all) 2452 2453config CC_HAS_RETURN_THUNK 2454 def_bool $(cc-option,-mfunction-return=thunk-extern) 2455 2456config CC_HAS_ENTRY_PADDING --- 630 unchanged lines hidden --- |