FILE
Kconfig
File preview with syntax highlighting.
linux-6.19.14/arch/s390/Kconfig
1# SPDX-License-Identifier: GPL-2.0 2config MMU 3 def_bool y 4 5config CPU_BIG_ENDIAN 6 def_bool y 7 8config LOCKDEP_SUPPORT 9 def_bool y 10 11config STACKTRACE_SUPPORT 12 def_bool y 13 14config ARCH_HAS_ILOG2_U32 15 def_bool n 16 17config ARCH_HAS_ILOG2_U64 18 def_bool n 19 20config ARCH_PROC_KCORE_TEXT 21 def_bool y 22 23config GENERIC_HWEIGHT 24 def_bool !HAVE_MARCH_Z196_FEATURES 25 26config GENERIC_BUG 27 def_bool y if BUG 28 29config GENERIC_BUG_RELATIVE_POINTERS 30 def_bool y 31 32config GENERIC_LOCKBREAK 33 def_bool y if PREEMPTION 34 35config PGSTE 36 def_bool y if KVM 37 38config AUDIT_ARCH 39 def_bool y 40 41config NO_IOPORT_MAP 42 def_bool y 43 44config ARCH_SUPPORTS_UPROBES 45 def_bool y 46 47config KASAN_SHADOW_OFFSET 48 hex 49 depends on KASAN 50 default 0x1C000000000000 51 52config CC_HAS_BUILTIN_FFS 53 def_bool !(CC_IS_GCC && GCC_VERSION < 160000) 54 help 55 GCC versions before 16.0.0 generate library calls to ffs() 56 for __builtin_ffs() even when __has_builtin(__builtin_ffs) 57 is true. 58 59config CC_ASM_FLAG_OUTPUT_BROKEN 60 def_bool CC_IS_GCC && GCC_VERSION < 140200 61 help 62 GCC versions before 14.2.0 may die with an internal 63 compiler error in some configurations if flag output 64 operands are used within inline assemblies. 65 66config CC_HAS_ASM_AOR_FORMAT_FLAGS 67 def_bool !(CC_IS_CLANG && CLANG_VERSION < 190100) 68 help 69 Clang versions before 19.1.0 do not support A, 70 O, and R inline assembly format flags. 71 72config CC_HAS_STACKPROTECTOR_GLOBAL 73 def_bool $(cc-option, -mstack-protector-guard=global -mstack-protector-guard-record) 74 75config S390 76 def_bool y 77 # 78 # Note: keep this list sorted alphabetically 79 # 80 imply IMA_SECURE_AND_OR_TRUSTED_BOOT 81 select ALTERNATE_USER_ADDRESS_SPACE 82 select ARCH_32BIT_USTAT_F_TINODE 83 select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE 84 select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM 85 select ARCH_ENABLE_MEMORY_HOTREMOVE 86 select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2 87 select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE 88 select ARCH_HAS_CPU_FINALIZE_INIT 89 select ARCH_HAS_CURRENT_STACK_POINTER 90 select ARCH_HAS_DEBUG_VIRTUAL 91 select ARCH_HAS_DEBUG_VM_PGTABLE 92 select ARCH_HAS_DEBUG_WX 93 select ARCH_HAS_DEVMEM_IS_ALLOWED 94 select ARCH_HAS_DMA_OPS if PCI 95 select ARCH_HAS_ELF_RANDOMIZE 96 select ARCH_HAS_FORCE_DMA_UNENCRYPTED 97 select ARCH_HAS_FORTIFY_SOURCE 98 select ARCH_HAS_GCOV_PROFILE_ALL 99 select ARCH_HAS_GIGANTIC_PAGE 100 select ARCH_HAS_KCOV 101 select ARCH_HAS_MEMBARRIER_SYNC_CORE 102 select ARCH_HAS_MEM_ENCRYPT 103 select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS 104 select ARCH_HAS_PREEMPT_LAZY 105 select ARCH_HAS_PTDUMP 106 select ARCH_HAS_PTE_SPECIAL 107 select ARCH_HAS_SCALED_CPUTIME 108 select ARCH_HAS_SET_DIRECT_MAP 109 select ARCH_HAS_SET_MEMORY 110 select ARCH_HAS_STRICT_KERNEL_RWX 111 select ARCH_HAS_STRICT_MODULE_RWX 112 select ARCH_HAS_SYSCALL_WRAPPER 113 select ARCH_HAS_UBSAN 114 select ARCH_HAS_VDSO_TIME_DATA 115 select ARCH_HAVE_NMI_SAFE_CMPXCHG 116 select ARCH_HAVE_TRACE_MMIO_ACCESS 117 select ARCH_INLINE_READ_LOCK 118 select ARCH_INLINE_READ_LOCK_BH 119 select ARCH_INLINE_READ_LOCK_IRQ 120 select ARCH_INLINE_READ_LOCK_IRQSAVE 121 select ARCH_INLINE_READ_TRYLOCK 122 select ARCH_INLINE_READ_UNLOCK 123 select ARCH_INLINE_READ_UNLOCK_BH 124 select ARCH_INLINE_READ_UNLOCK_IRQ 125 select ARCH_INLINE_READ_UNLOCK_IRQRESTORE 126 select ARCH_INLINE_SPIN_LOCK 127 select ARCH_INLINE_SPIN_LOCK_BH 128 select ARCH_INLINE_SPIN_LOCK_IRQ 129 select ARCH_INLINE_SPIN_LOCK_IRQSAVE 130 select ARCH_INLINE_SPIN_TRYLOCK 131 select ARCH_INLINE_SPIN_TRYLOCK_BH 132 select ARCH_INLINE_SPIN_UNLOCK 133 select ARCH_INLINE_SPIN_UNLOCK_BH 134 select ARCH_INLINE_SPIN_UNLOCK_IRQ 135 select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE 136 select ARCH_INLINE_WRITE_LOCK 137 select ARCH_INLINE_WRITE_LOCK_BH 138 select ARCH_INLINE_WRITE_LOCK_IRQ 139 select ARCH_INLINE_WRITE_LOCK_IRQSAVE 140 select ARCH_INLINE_WRITE_TRYLOCK 141 select ARCH_INLINE_WRITE_UNLOCK 142 select ARCH_INLINE_WRITE_UNLOCK_BH 143 select ARCH_INLINE_WRITE_UNLOCK_IRQ 144 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 145 select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE 146 select ARCH_STACKWALK 147 select ARCH_SUPPORTS_ATOMIC_RMW 148 select ARCH_SUPPORTS_DEBUG_PAGEALLOC 149 select ARCH_SUPPORTS_HUGETLBFS 150 select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && CC_IS_CLANG 151 select ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS 152 select ARCH_SUPPORTS_NUMA_BALANCING 153 select ARCH_SUPPORTS_PER_VMA_LOCK 154 select ARCH_USE_BUILTIN_BSWAP 155 select ARCH_USE_CMPXCHG_LOCKREF 156 select ARCH_USE_SYM_ANNOTATIONS 157 select ARCH_WANTS_NO_INSTR 158 select ARCH_WANT_DEFAULT_BPF_JIT 159 select ARCH_WANT_IPC_PARSE_VERSION 160 select ARCH_WANT_IRQS_OFF_ACTIVATE_MM 161 select ARCH_WANT_KERNEL_PMD_MKWRITE 162 select ARCH_WANT_LD_ORPHAN_WARN 163 select ARCH_WANTS_THP_SWAP 164 select BUILDTIME_TABLE_SORT 165 select CLONE_BACKWARDS2 166 select DCACHE_WORD_ACCESS if !KMSAN 167 select DYNAMIC_FTRACE if FUNCTION_TRACER 168 select FUNCTION_ALIGNMENT_8B if CC_IS_GCC 169 select FUNCTION_ALIGNMENT_16B if !CC_IS_GCC 170 select GENERIC_ALLOCATOR 171 select GENERIC_CPU_DEVICES 172 select GENERIC_CPU_AUTOPROBE 173 select GENERIC_CPU_VULNERABILITIES 174 select GENERIC_ENTRY 175 select GENERIC_GETTIMEOFDAY 176 select GENERIC_SMP_IDLE_THREAD 177 select GENERIC_TIME_VSYSCALL 178 select GENERIC_IOREMAP if PCI 179 select HAVE_ALIGNED_STRUCT_PAGE 180 select HAVE_ARCH_AUDITSYSCALL 181 select HAVE_ARCH_JUMP_LABEL 182 select HAVE_ARCH_JUMP_LABEL_RELATIVE 183 select HAVE_ARCH_KASAN 184 select HAVE_ARCH_KASAN_VMALLOC 185 select HAVE_ARCH_KCSAN 186 select HAVE_ARCH_KMSAN 187 select HAVE_ARCH_KFENCE 188 select HAVE_ARCH_KSTACK_ERASE 189 select HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET 190 select HAVE_ARCH_SECCOMP_FILTER 191 select HAVE_ARCH_SOFT_DIRTY 192 select HAVE_ARCH_TRACEHOOK 193 select HAVE_ARCH_TRANSPARENT_HUGEPAGE 194 select HAVE_ARCH_VMAP_STACK 195 select HAVE_ASM_MODVERSIONS 196 select HAVE_BUILDTIME_MCOUNT_SORT 197 select HAVE_CMPXCHG_DOUBLE 198 select HAVE_CMPXCHG_LOCAL 199 select HAVE_DEBUG_KMEMLEAK 200 select HAVE_DMA_CONTIGUOUS 201 select HAVE_DYNAMIC_FTRACE 202 select HAVE_DYNAMIC_FTRACE_WITH_ARGS 203 select HAVE_FTRACE_REGS_HAVING_PT_REGS 204 select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS 205 select HAVE_DYNAMIC_FTRACE_WITH_REGS 206 select HAVE_EBPF_JIT if HAVE_MARCH_Z196_FEATURES 207 select HAVE_EFFICIENT_UNALIGNED_ACCESS 208 select HAVE_GENERIC_TIF_BITS 209 select HAVE_GUP_FAST 210 select HAVE_FENTRY 211 select HAVE_FTRACE_GRAPH_FUNC 212 select HAVE_FUNCTION_ARG_ACCESS_API 213 select HAVE_FUNCTION_ERROR_INJECTION 214 select HAVE_FUNCTION_GRAPH_FREGS 215 select HAVE_FUNCTION_GRAPH_TRACER 216 select HAVE_FUNCTION_TRACER 217 select HAVE_GCC_PLUGINS 218 select HAVE_GENERIC_VDSO 219 select HAVE_IOREMAP_PROT if PCI 220 select HAVE_KERNEL_BZIP2 221 select HAVE_KERNEL_GZIP 222 select HAVE_KERNEL_LZ4 223 select HAVE_KERNEL_LZMA 224 select HAVE_KERNEL_LZO 225 select HAVE_KERNEL_UNCOMPRESSED 226 select HAVE_KERNEL_XZ 227 select HAVE_KERNEL_ZSTD 228 select HAVE_KPROBES 229 select HAVE_KPROBES_ON_FTRACE 230 select HAVE_KRETPROBES 231 select HAVE_LIVEPATCH 232 select HAVE_MEMBLOCK_PHYS_MAP 233 select HAVE_MOD_ARCH_SPECIFIC 234 select HAVE_NMI 235 select HAVE_NOP_MCOUNT 236 select HAVE_PAGE_SIZE_4KB 237 select HAVE_PCI 238 select HAVE_PERF_EVENTS 239 select HAVE_PERF_REGS 240 select HAVE_PERF_USER_STACK_DUMP 241 select HAVE_POSIX_CPU_TIMERS_TASK_WORK 242 select HAVE_PREEMPT_DYNAMIC_KEY 243 select HAVE_REGS_AND_STACK_ACCESS_API 244 select HAVE_RELIABLE_STACKTRACE 245 select HAVE_RETHOOK 246 select HAVE_RSEQ 247 select HAVE_SAMPLE_FTRACE_DIRECT 248 select HAVE_SAMPLE_FTRACE_DIRECT_MULTI 249 select HAVE_SETUP_PER_CPU_AREA 250 select HAVE_SOFTIRQ_ON_OWN_STACK 251 select HAVE_STACKPROTECTOR if CC_HAS_STACKPROTECTOR_GLOBAL 252 select HAVE_SYSCALL_TRACEPOINTS 253 select HAVE_VIRT_CPU_ACCOUNTING 254 select HAVE_VIRT_CPU_ACCOUNTING_IDLE 255 select HOTPLUG_SMT 256 select IOMMU_HELPER if PCI 257 select IOMMU_SUPPORT if PCI 258 select IRQ_MSI_LIB if PCI 259 select KASAN_VMALLOC if KASAN 260 select LOCK_MM_AND_FIND_VMA 261 select MMU_GATHER_MERGE_VMAS 262 select MMU_GATHER_NO_GATHER 263 select MMU_GATHER_RCU_TABLE_FREE 264 select MODULES_USE_ELF_RELA 265 select NEED_DMA_MAP_STATE if PCI 266 select NEED_PER_CPU_EMBED_FIRST_CHUNK 267 select NEED_PROC_VMCORE_DEVICE_RAM if PROC_VMCORE 268 select NEED_SG_DMA_LENGTH if PCI 269 select OLD_SIGACTION 270 select OLD_SIGSUSPEND3 271 select PCI_DOMAINS if PCI 272 select PCI_MSI if PCI 273 select PCI_MSI_ARCH_FALLBACKS if PCI_MSI 274 select PCI_QUIRKS if PCI 275 select SPARSE_IRQ 276 select SWIOTLB 277 select SYSCTL_EXCEPTION_TRACE 278 select SYSTEM_DATA_VERIFICATION if KEXEC_SIG 279 select THREAD_INFO_IN_TASK 280 select TRACE_IRQFLAGS_SUPPORT 281 select TTY 282 select USER_STACKTRACE_SUPPORT 283 select VDSO_GETRANDOM 284 select VIRT_CPU_ACCOUNTING 285 select VMAP_STACK 286 select ZONE_DMA 287 # Note: keep the above list sorted alphabetically 288 289config SCHED_OMIT_FRAME_POINTER 290 def_bool y 291 292config PGTABLE_LEVELS 293 int 294 default 5 295 296source "kernel/livepatch/Kconfig" 297 298config ARCH_SUPPORTS_KEXEC 299 def_bool y 300 301config ARCH_SUPPORTS_KEXEC_FILE 302 def_bool y 303 304config ARCH_SUPPORTS_KEXEC_SIG 305 def_bool y 306 307config ARCH_SUPPORTS_KEXEC_PURGATORY 308 def_bool y 309 310config ARCH_SUPPORTS_CRASH_DUMP 311 def_bool y 312 help 313 Refer to <file:Documentation/arch/s390/zfcpdump.rst> for more details on this. 314 This option also enables s390 zfcpdump. 315 See also <file:Documentation/arch/s390/zfcpdump.rst> 316 317config ARCH_DEFAULT_CRASH_DUMP 318 def_bool y 319 320menu "Processor type and features" 321 322config HAVE_MARCH_Z10_FEATURES 323 def_bool n 324 325config HAVE_MARCH_Z196_FEATURES 326 def_bool n 327 select HAVE_MARCH_Z10_FEATURES 328 329config HAVE_MARCH_ZEC12_FEATURES 330 def_bool n 331 select HAVE_MARCH_Z196_FEATURES 332 333config HAVE_MARCH_Z13_FEATURES 334 def_bool n 335 select HAVE_MARCH_ZEC12_FEATURES 336 337config HAVE_MARCH_Z14_FEATURES 338 def_bool n 339 select HAVE_MARCH_Z13_FEATURES 340 341config HAVE_MARCH_Z15_FEATURES 342 def_bool n 343 select HAVE_MARCH_Z14_FEATURES 344 345config HAVE_MARCH_Z16_FEATURES 346 def_bool n 347 select HAVE_MARCH_Z15_FEATURES 348 349config HAVE_MARCH_Z17_FEATURES 350 def_bool n 351 select HAVE_MARCH_Z16_FEATURES 352 353choice 354 prompt "Processor type" 355 default MARCH_Z196 356 357config MARCH_Z10 358 bool "IBM System z10" 359 select HAVE_MARCH_Z10_FEATURES 360 depends on $(cc-option,-march=z10) 361 help 362 Select this to enable optimizations for IBM System z10 (2097 and 2098 363 series). This is the oldest machine generation currently supported. 364 365config MARCH_Z196 366 bool "IBM zEnterprise 114 and 196" 367 select HAVE_MARCH_Z196_FEATURES 368 depends on $(cc-option,-march=z196) 369 help 370 Select this to enable optimizations for IBM zEnterprise 114 and 196 371 (2818 and 2817 series). The kernel will be slightly faster but will 372 not work on older machines. 373 374config MARCH_ZEC12 375 bool "IBM zBC12 and zEC12" 376 select HAVE_MARCH_ZEC12_FEATURES 377 depends on $(cc-option,-march=zEC12) 378 help 379 Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and 380 2827 series). The kernel will be slightly faster but will not work on 381 older machines. 382 383config MARCH_Z13 384 bool "IBM z13s and z13" 385 select HAVE_MARCH_Z13_FEATURES 386 depends on $(cc-option,-march=z13) 387 help 388 Select this to enable optimizations for IBM z13s and z13 (2965 and 389 2964 series). The kernel will be slightly faster but will not work on 390 older machines. 391 392config MARCH_Z14 393 bool "IBM z14 ZR1 and z14" 394 select HAVE_MARCH_Z14_FEATURES 395 depends on $(cc-option,-march=z14) 396 help 397 Select this to enable optimizations for IBM z14 ZR1 and z14 (3907 398 and 3906 series). The kernel will be slightly faster but will not 399 work on older machines. 400 401config MARCH_Z15 402 bool "IBM z15" 403 select HAVE_MARCH_Z15_FEATURES 404 depends on $(cc-option,-march=z15) 405 help 406 Select this to enable optimizations for IBM z15 (8562 407 and 8561 series). The kernel will be slightly faster but will not 408 work on older machines. 409 410config MARCH_Z16 411 bool "IBM z16" 412 select HAVE_MARCH_Z16_FEATURES 413 depends on $(cc-option,-march=z16) 414 help 415 Select this to enable optimizations for IBM z16 (3931 and 416 3932 series). 417 418config MARCH_Z17 419 bool "IBM z17" 420 select HAVE_MARCH_Z17_FEATURES 421 depends on $(cc-option,-march=z17) 422 help 423 Select this to enable optimizations for IBM z17 (9175 and 424 9176 series). 425 426endchoice 427 428config MARCH_Z10_TUNE 429 def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT 430 431config MARCH_Z196_TUNE 432 def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT 433 434config MARCH_ZEC12_TUNE 435 def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT 436 437config MARCH_Z13_TUNE 438 def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT 439 440config MARCH_Z14_TUNE 441 def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT 442 443config MARCH_Z15_TUNE 444 def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT 445 446config MARCH_Z16_TUNE 447 def_bool TUNE_Z16 || MARCH_Z16 && TUNE_DEFAULT 448 449config MARCH_Z17_TUNE 450 def_bool TUNE_Z17 || MARCH_Z17 && TUNE_DEFAULT 451 452choice 453 prompt "Tune code generation" 454 default TUNE_DEFAULT 455 help 456 Cause the compiler to tune (-mtune) the generated code for a machine. 457 This will make the code run faster on the selected machine but 458 somewhat slower on other machines. 459 This option only changes how the compiler emits instructions, not the 460 selection of instructions itself, so the resulting kernel will run on 461 all other machines. 462 463config TUNE_DEFAULT 464 bool "Default" 465 help 466 Tune the generated code for the target processor for which the kernel 467 will be compiled. 468 469config TUNE_Z10 470 bool "IBM System z10" 471 472config TUNE_Z196 473 bool "IBM zEnterprise 114 and 196" 474 depends on $(cc-option,-mtune=z196) 475 476config TUNE_ZEC12 477 bool "IBM zBC12 and zEC12" 478 depends on $(cc-option,-mtune=zEC12) 479 480config TUNE_Z13 481 bool "IBM z13s and z13" 482 depends on $(cc-option,-mtune=z13) 483 484config TUNE_Z14 485 bool "IBM z14 ZR1 and z14" 486 depends on $(cc-option,-mtune=z14) 487 488config TUNE_Z15 489 bool "IBM z15" 490 depends on $(cc-option,-mtune=z15) 491 492config TUNE_Z16 493 bool "IBM z16" 494 depends on $(cc-option,-mtune=z16) 495 496config TUNE_Z17 497 bool "IBM z17" 498 depends on $(cc-option,-mtune=z17) 499 500endchoice 501 502config 64BIT 503 def_bool y 504 505config COMMAND_LINE_SIZE 506 int "Maximum size of kernel command line" 507 default 4096 508 range 896 1048576 509 help 510 This allows you to specify the maximum length of the kernel command 511 line. 512 513config SMP 514 def_bool y 515 516config NR_CPUS 517 int "Maximum number of CPUs (2-512)" 518 range 2 512 519 default "64" 520 help 521 This allows you to specify the maximum number of CPUs which this 522 kernel will support. The maximum supported value is 512 and the 523 minimum value which makes sense is 2. 524 525 This is purely to save memory - each supported CPU adds 526 approximately sixteen kilobytes to the kernel image. 527 528config HOTPLUG_CPU 529 def_bool y 530 531config NUMA 532 bool "NUMA support" 533 depends on SCHED_TOPOLOGY 534 default n 535 help 536 Enable NUMA support 537 538 This option adds NUMA support to the kernel. 539 540config NODES_SHIFT 541 int 542 depends on NUMA 543 default "1" 544 545config SCHED_TOPOLOGY 546 def_bool y 547 prompt "Topology scheduler support" 548 select ARCH_SUPPORTS_SCHED_SMT 549 select ARCH_SUPPORTS_SCHED_MC 550 select SCHED_SMT 551 select SCHED_MC 552 help 553 Topology scheduler support improves the CPU scheduler's decision 554 making when dealing with machines that have multi-threading, 555 multiple cores or multiple books. 556 557config SCHED_TOPOLOGY_VERTICAL 558 def_bool y 559 bool "Use vertical CPU polarization by default" 560 depends on SCHED_TOPOLOGY 561 help 562 Use vertical CPU polarization by default if available. 563 The default CPU polarization is horizontal. 564 565config HIPERDISPATCH_ON 566 def_bool y 567 bool "Use hiperdispatch on vertical polarization by default" 568 depends on SCHED_TOPOLOGY 569 depends on PROC_SYSCTL 570 help 571 Hiperdispatch aims to improve the CPU scheduler's decision 572 making when using vertical polarization by adjusting CPU 573 capacities dynamically. Set this option to use hiperdispatch 574 on vertical polarization by default. This can be overwritten 575 by sysctl's s390.hiperdispatch attribute later on. 576 577source "kernel/Kconfig.hz" 578 579config CERT_STORE 580 bool "Get user certificates via DIAG320" 581 depends on KEYS 582 select CRYPTO_LIB_SHA256 583 help 584 Enable this option if you want to access user-provided secure boot 585 certificates via DIAG 0x320. 586 587 These certificates will be made available via the keyring named 588 'cert_store'. 589 590config KERNEL_NOBP 591 def_bool n 592 prompt "Enable modified branch prediction for the kernel by default" 593 help 594 If this option is selected the kernel will switch to a modified 595 branch prediction mode if the firmware interface is available. 596 The modified branch prediction mode improves the behaviour in 597 regard to speculative execution. 598 599 With the option enabled the kernel parameter "nobp=0" or "nospec" 600 can be used to run the kernel in the normal branch prediction mode. 601 602 With the option disabled the modified branch prediction mode is 603 enabled with the "nobp=1" kernel parameter. 604 605 If unsure, say N. 606 607config EXPOLINE 608 def_bool n 609 depends on $(cc-option,-mindirect-branch=thunk) 610 prompt "Avoid speculative indirect branches in the kernel" 611 help 612 Compile the kernel with the expoline compiler options to guard 613 against kernel-to-user data leaks by avoiding speculative indirect 614 branches. 615 Requires a compiler with -mindirect-branch=thunk support for full 616 protection. The kernel may run slower. 617 618 If unsure, say N. 619 620config EXPOLINE_EXTERN 621 def_bool EXPOLINE && CC_IS_GCC && GCC_VERSION >= 110200 && \ 622 $(success,$(srctree)/arch/s390/tools/gcc-thunk-extern.sh $(CC)) 623 help 624 Generate expolines as external functions if the compiler supports it. 625 This option is required for some tooling like kpatch, if expolines 626 are enabled. The kernel is compiled with 627 -mindirect-branch=thunk-extern, which requires a newer compiler. 628 629choice 630 prompt "Expoline default" 631 depends on EXPOLINE 632 default EXPOLINE_FULL 633 634config EXPOLINE_OFF 635 bool "spectre_v2=off" 636 637config EXPOLINE_AUTO 638 bool "spectre_v2=auto" 639 640config EXPOLINE_FULL 641 bool "spectre_v2=on" 642 643endchoice 644 645config RELOCATABLE 646 def_bool y 647 select ARCH_VMLINUX_NEEDS_RELOCS 648 help 649 This builds a kernel image that retains relocation information 650 so it can be loaded at an arbitrary address. 651 The relocations make the kernel image about 15% larger (compressed 652 10%), but are discarded at runtime. 653 Note: this option exists only for documentation purposes, please do 654 not remove it. 655 656config RANDOMIZE_BASE 657 bool "Randomize the address of the kernel image (KASLR)" 658 default y 659 help 660 In support of Kernel Address Space Layout Randomization (KASLR), 661 this randomizes the address at which the kernel image is loaded, 662 as a security feature that deters exploit attempts relying on 663 knowledge of the location of kernel internals. 664 665config RANDOMIZE_IDENTITY_BASE 666 bool "Randomize the address of the identity mapping base" 667 depends on RANDOMIZE_BASE 668 default DEBUG_VM 669 help 670 The identity mapping base address is pinned to zero by default. 671 Allow randomization of that base to expose otherwise missed 672 notion of physical and virtual addresses of data structures. 673 That does not have any impact on the base address at which the 674 kernel image is loaded. 675 676 If unsure, say N 677 678config KERNEL_IMAGE_BASE 679 hex "Kernel image base address" 680 range 0x100000 0x1FFFFFE0000000 if !KASAN 681 range 0x100000 0x1BFFFFE0000000 if KASAN 682 default 0x3FFE0000000 if !KASAN 683 default 0x7FFFE0000000 if KASAN 684 help 685 This is the address at which the kernel image is loaded in case 686 Kernel Address Space Layout Randomization (KASLR) is disabled. 687 688 In case the Protected virtualization guest support is enabled the 689 Ultravisor imposes a virtual address limit. If the value of this 690 option leads to the kernel image exceeding the Ultravisor limit, 691 this option is ignored and the image is loaded below the limit. 692 693 If the value of this option leads to the kernel image overlapping 694 the virtual memory where other data structures are located, this 695 option is ignored and the image is loaded above the structures. 696 697endmenu 698 699menu "Memory setup" 700 701config ARCH_SPARSEMEM_ENABLE 702 def_bool y 703 select SPARSEMEM_VMEMMAP_ENABLE 704 705config ARCH_SPARSEMEM_DEFAULT 706 def_bool y 707 708config MAX_PHYSMEM_BITS 709 int "Maximum size of supported physical memory in bits (42-53)" 710 range 42 53 711 default "46" 712 help 713 This option specifies the maximum supported size of physical memory 714 in bits. Supported is any size between 2^42 (4TB) and 2^53 (8PB). 715 Increasing the number of bits also increases the kernel image size. 716 By default 46 bits (64TB) are supported. 717 718endmenu 719 720menu "I/O subsystem" 721 722config QDIO 723 def_tristate y 724 prompt "QDIO support" 725 help 726 This driver provides the Queued Direct I/O base support for 727 IBM System z. 728 729 To compile this driver as a module, choose M here: the 730 module will be called qdio. 731 732 If unsure, say Y. 733 734if PCI 735 736config PCI_NR_FUNCTIONS 737 int "Maximum number of PCI functions (1-4096)" 738 range 1 4096 739 default "512" 740 help 741 This allows you to specify the maximum number of PCI functions which 742 this kernel will support. 743 744endif # PCI 745 746config HAS_IOMEM 747 def_bool PCI 748 749config CHSC_SCH 750 def_tristate m 751 prompt "Support for CHSC subchannels" 752 help 753 This driver allows usage of CHSC subchannels. A CHSC subchannel 754 is usually present on LPAR only. 755 The driver creates a device /dev/chsc, which may be used to 756 obtain I/O configuration information about the machine and 757 to issue asynchronous chsc commands (DANGEROUS). 758 You will usually only want to use this interface on a special 759 LPAR designated for system management. 760 761 To compile this driver as a module, choose M here: the 762 module will be called chsc_sch. 763 764 If unsure, say N. 765 766config SCM_BUS 767 def_bool y 768 prompt "SCM bus driver" 769 help 770 Bus driver for Storage Class Memory. 771 772config EADM_SCH 773 def_tristate m 774 prompt "Support for EADM subchannels" 775 depends on SCM_BUS 776 help 777 This driver allows usage of EADM subchannels. EADM subchannels act 778 as a communication vehicle for SCM increments. 779 780 To compile this driver as a module, choose M here: the 781 module will be called eadm_sch. 782 783config AP 784 def_tristate y 785 prompt "Support for Adjunct Processors (ap)" 786 help 787 This driver allows usage to Adjunct Processor (AP) devices via 788 the ap bus, cards and queues. Supported Adjunct Processors are 789 the CryptoExpress Cards (CEX). 790 791 To compile this driver as a module, choose M here: the 792 module will be called ap. 793 794 If unsure, say Y (default). 795 796config AP_DEBUG 797 def_bool n 798 prompt "Enable debug features for Adjunct Processor (ap) devices" 799 depends on AP 800 help 801 Say 'Y' here to enable some additional debug features for Adjunct 802 Processor (ap) devices. 803 804 There will be some more sysfs attributes displayed for ap queues. 805 806 Do not enable on production level kernel build. 807 808 If unsure, say N. 809 810config VFIO_CCW 811 def_tristate n 812 prompt "Support for VFIO-CCW subchannels" 813 depends on VFIO 814 select VFIO_MDEV 815 help 816 This driver allows usage of I/O subchannels via VFIO-CCW. 817 818 To compile this driver as a module, choose M here: the 819 module will be called vfio_ccw. 820 821config VFIO_AP 822 def_tristate n 823 prompt "VFIO support for AP devices" 824 depends on KVM 825 depends on VFIO 826 depends on AP 827 select VFIO_MDEV 828 help 829 This driver grants access to Adjunct Processor (AP) devices 830 via the VFIO mediated device interface. 831 832 To compile this driver as a module, choose M here: the module 833 will be called vfio_ap. 834 835endmenu 836 837config CCW 838 def_bool y 839 840config HAVE_PNETID 841 tristate 842 default (SMC || CCWGROUP) 843 844menu "Virtualization" 845 846config PFAULT 847 def_bool y 848 prompt "Pseudo page fault support" 849 help 850 Select this option, if you want to use PFAULT pseudo page fault 851 handling under VM. If running native or in LPAR, this option 852 has no effect. If your VM does not support PFAULT, PAGEEX 853 pseudo page fault handling will be used. 854 Note that VM 4.2 supports PFAULT but has a bug in its 855 implementation that causes some problems. 856 Everybody who wants to run Linux under VM != VM4.2 should select 857 this option. 858 859config CMM 860 def_tristate n 861 prompt "Cooperative memory management" 862 help 863 Select this option, if you want to enable the kernel interface 864 to reduce the memory size of the system. This is accomplished 865 by allocating pages of memory and put them "on hold". This only 866 makes sense for a system running under VM where the unused pages 867 will be reused by VM for other guest systems. The interface 868 allows an external monitor to balance memory of many systems. 869 Everybody who wants to run Linux under VM should select this 870 option. 871 872config CMM_IUCV 873 def_bool y 874 prompt "IUCV special message interface to cooperative memory management" 875 depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) 876 help 877 Select this option to enable the special message interface to 878 the cooperative memory management. 879 880config APPLDATA_BASE 881 def_bool n 882 prompt "Linux - VM Monitor Stream, base infrastructure" 883 depends on PROC_SYSCTL 884 help 885 This provides a kernel interface for creating and updating z/VM APPLDATA 886 monitor records. The monitor records are updated at certain time 887 intervals, once the timer is started. 888 Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, 889 i.e. enables or disables monitoring on the Linux side. 890 A custom interval value (in seconds) can be written to 891 /proc/appldata/interval. 892 893 Defaults are 60 seconds interval and timer off. 894 The /proc entries can also be read from, showing the current settings. 895 896config APPLDATA_MEM 897 def_tristate m 898 prompt "Monitor memory management statistics" 899 depends on APPLDATA_BASE && VM_EVENT_COUNTERS 900 help 901 This provides memory management related data to the Linux - VM Monitor 902 Stream, like paging/swapping rate, memory utilisation, etc. 903 Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM 904 APPLDATA monitor record, i.e. enables or disables monitoring this record 905 on the z/VM side. 906 907 Default is disabled. 908 The /proc entry can also be read from, showing the current settings. 909 910 This can also be compiled as a module, which will be called 911 appldata_mem.o. 912 913config APPLDATA_OS 914 def_tristate m 915 prompt "Monitor OS statistics" 916 depends on APPLDATA_BASE 917 help 918 This provides OS related data to the Linux - VM Monitor Stream, like 919 CPU utilisation, etc. 920 Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM 921 APPLDATA monitor record, i.e. enables or disables monitoring this record 922 on the z/VM side. 923 924 Default is disabled. 925 This can also be compiled as a module, which will be called 926 appldata_os.o. 927 928config APPLDATA_NET_SUM 929 def_tristate m 930 prompt "Monitor overall network statistics" 931 depends on APPLDATA_BASE && NET 932 help 933 This provides network related data to the Linux - VM Monitor Stream, 934 currently there is only a total sum of network I/O statistics, no 935 per-interface data. 936 Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM 937 APPLDATA monitor record, i.e. enables or disables monitoring this record 938 on the z/VM side. 939 940 Default is disabled. 941 This can also be compiled as a module, which will be called 942 appldata_net_sum.o. 943 944config S390_HYPFS 945 def_bool y 946 prompt "s390 hypervisor information" 947 help 948 This provides several binary files at (debugfs)/s390_hypfs/ to 949 provide accounting information in an s390 hypervisor environment. 950 951config S390_HYPFS_FS 952 def_bool n 953 prompt "s390 hypervisor file system support" 954 select SYS_HYPERVISOR 955 depends on S390_HYPFS 956 help 957 This is a virtual file system intended to provide accounting 958 information in an s390 hypervisor environment. This file system 959 is deprecated and should not be used. 960 961 Say N if you are unsure. 962 963source "arch/s390/kvm/Kconfig" 964 965config S390_GUEST 966 def_bool y 967 prompt "s390 support for virtio devices" 968 select TTY 969 select VIRTUALIZATION 970 select VIRTIO 971 help 972 Enabling this option adds support for virtio based paravirtual device 973 drivers on s390. 974 975 Select this option if you want to run the kernel as a guest under 976 the KVM hypervisor. 977 978endmenu 979 980config S390_MODULES_SANITY_TEST_HELPERS 981 def_bool n 982 983menu "Selftests" 984 985config S390_UNWIND_SELFTEST 986 def_tristate n 987 depends on KUNIT 988 default KUNIT_ALL_TESTS 989 prompt "Test unwind functions" 990 help 991 This option enables s390 specific stack unwinder testing kernel 992 module. This option is not useful for distributions or general 993 kernels, but only for kernel developers working on architecture code. 994 995 Say N if you are unsure. 996 997config S390_KPROBES_SANITY_TEST 998 def_tristate n 999 prompt "Enable s390 specific kprobes tests" 1000 depends on KPROBES 1001 depends on KUNIT 1002 help 1003 This option enables an s390 specific kprobes test module. This option 1004 is not useful for distributions or general kernels, but only for kernel 1005 developers working on architecture code. 1006 1007 Say N if you are unsure. 1008 1009config S390_MODULES_SANITY_TEST 1010 def_tristate n 1011 depends on KUNIT 1012 default KUNIT_ALL_TESTS 1013 prompt "Enable s390 specific modules tests" 1014 select S390_MODULES_SANITY_TEST_HELPERS 1015 help 1016 This option enables an s390 specific modules test. This option is 1017 not useful for distributions or general kernels, but only for 1018 kernel developers working on architecture code. 1019 1020 Say N if you are unsure. 1021endmenu
~/
Read-only file preview.