1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvaldsconfig MMU 361d48c2cSMartin Schwidefsky def_bool y 41da177e4SLinus Torvalds 52fd92273SHeiko Carstensconfig CPU_BIG_ENDIAN 62fd92273SHeiko Carstens def_bool y 72fd92273SHeiko Carstens 82b105ff9SIngo Molnarconfig LOCKDEP_SUPPORT 961d48c2cSMartin Schwidefsky def_bool y 102b105ff9SIngo Molnar 115bdc9b44SHeiko Carstensconfig STACKTRACE_SUPPORT 1261d48c2cSMartin Schwidefsky def_bool y 135bdc9b44SHeiko Carstens 14f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U32 156f9a3c33SMartin Schwidefsky def_bool n 16f0d1b0b3SDavid Howells 17f0d1b0b3SDavid Howellsconfig ARCH_HAS_ILOG2_U64 186f9a3c33SMartin Schwidefsky def_bool n 19f0d1b0b3SDavid Howells 203bb11234SAlexander Gordeevconfig ARCH_PROC_KCORE_TEXT 213bb11234SAlexander Gordeev def_bool y 223bb11234SAlexander Gordeev 237e33db4eSAkinobu Mitaconfig GENERIC_HWEIGHT 247c679286SHeiko Carstens def_bool !HAVE_MARCH_Z196_FEATURES 257e33db4eSAkinobu Mita 26c0007f1aSHeiko Carstensconfig GENERIC_BUG 276f9a3c33SMartin Schwidefsky def_bool y if BUG 28c0007f1aSHeiko Carstens 2952499f40SHeiko Carstensconfig GENERIC_BUG_RELATIVE_POINTERS 3052499f40SHeiko Carstens def_bool y 3152499f40SHeiko Carstens 32b6b40c53SMartin Schwidefskyconfig GENERIC_LOCKBREAK 33114b9df4SEric Farman def_bool y if PREEMPTION 34b6b40c53SMartin Schwidefsky 35402b0862SCarsten Otteconfig PGSTE 366f9a3c33SMartin Schwidefsky def_bool y if KVM 37402b0862SCarsten Otte 38843c48fdSJan Glauberconfig AUDIT_ARCH 39843c48fdSJan Glauber def_bool y 40843c48fdSJan Glauber 41ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP 42c8717a3dSJan Glauber def_bool y 43c8717a3dSJan Glauber 442a0a5b22SJan Willekeconfig ARCH_SUPPORTS_UPROBES 455a79859aSHeiko Carstens def_bool y 462a0a5b22SJan Willeke 475e785963SVasily Gorbikconfig KASAN_SHADOW_OFFSET 485e785963SVasily Gorbik hex 495e785963SVasily Gorbik depends on KASAN 509a39abb7SVasily Gorbik default 0x1C000000000000 515e785963SVasily Gorbik 526c4e0cb3SHeiko Carstensconfig CC_HAS_BUILTIN_FFS 536c4e0cb3SHeiko Carstens def_bool !(CC_IS_GCC && GCC_VERSION < 160000) 546c4e0cb3SHeiko Carstens help 556c4e0cb3SHeiko Carstens GCC versions before 16.0.0 generate library calls to ffs() 566c4e0cb3SHeiko Carstens for __builtin_ffs() even when __has_builtin(__builtin_ffs) 576c4e0cb3SHeiko Carstens is true. 586c4e0cb3SHeiko Carstens 59579a6633SHeiko Carstensconfig CC_ASM_FLAG_OUTPUT_BROKEN 60e7583c5fSHeiko Carstens def_bool CC_IS_GCC && GCC_VERSION < 140200 61e7583c5fSHeiko Carstens help 62e7583c5fSHeiko Carstens GCC versions before 14.2.0 may die with an internal 63e7583c5fSHeiko Carstens compiler error in some configurations if flag output 64e7583c5fSHeiko Carstens operands are used within inline assemblies. 65e7583c5fSHeiko Carstens 66f340d270SHeiko Carstensconfig CC_HAS_ASM_AOR_FORMAT_FLAGS 67f340d270SHeiko Carstens def_bool !(CC_IS_CLANG && CLANG_VERSION < 190100) 68f340d270SHeiko Carstens help 69f340d270SHeiko Carstens Clang versions before 19.1.0 do not support A, 70f340d270SHeiko Carstens O, and R inline assembly format flags. 71f340d270SHeiko Carstens 72f5730d44SHeiko Carstensconfig CC_HAS_STACKPROTECTOR_GLOBAL 73f5730d44SHeiko Carstens def_bool $(cc-option, -mstack-protector-guard=global -mstack-protector-guard-record) 74f5730d44SHeiko Carstens 75347a8dc3SMartin Schwidefskyconfig S390 7661d48c2cSMartin Schwidefsky def_bool y 77129975e7SHeiko Carstens # 78129975e7SHeiko Carstens # Note: keep this list sorted alphabetically 79129975e7SHeiko Carstens # 80129975e7SHeiko Carstens imply IMA_SECURE_AND_OR_TRUSTED_BOOT 8112700c17SArnd Bergmann select ALTERNATE_USER_ADDRESS_SPACE 8296c0a6a7SHeiko Carstens select ARCH_32BIT_USTAT_F_TINODE 83708b1376SVasily Gorbik select ARCH_CORRECT_STACKTRACE_ON_KRETPROBE 8491024b3cSAnshuman Khandual select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM 8591024b3cSAnshuman Khandual select ARCH_ENABLE_MEMORY_HOTREMOVE 86cebc774fSAnshuman Khandual select ARCH_ENABLE_SPLIT_PMD_PTLOCK if PGTABLE_LEVELS > 2 8710dd5a00SGerald Schaefer select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE 883bcc8a1aSHeiko Carstens select ARCH_HAS_CPU_FINALIZE_INIT 892792d84eSKees Cook select ARCH_HAS_CURRENT_STACK_POINTER 905f58bde7SHeiko Carstens select ARCH_HAS_DEBUG_VIRTUAL 91399145f9SAnshuman Khandual select ARCH_HAS_DEBUG_VM_PGTABLE 9208c8e685SHeiko Carstens select ARCH_HAS_DEBUG_WX 9321266be9SDan Williams select ARCH_HAS_DEVMEM_IS_ALLOWED 94de6c85bfSChristoph Hellwig select ARCH_HAS_DMA_OPS if PCI 952b68f6caSKees Cook select ARCH_HAS_ELF_RANDOMIZE 96129975e7SHeiko Carstens select ARCH_HAS_FORCE_DMA_UNENCRYPTED 9779962038SHeiko Carstens select ARCH_HAS_FORTIFY_SOURCE 98957e3facSRiku Voipio select ARCH_HAS_GCOV_PROFILE_ALL 994eb0716eSAlexandre Ghiti select ARCH_HAS_GIGANTIC_PAGE 100907fa061SHeiko Carstens select ARCH_HAS_KCOV 101e7615c92SHeiko Carstens select ARCH_HAS_MEMBARRIER_SYNC_CORE 1020c9c1d56SThiago Jung Bauermann select ARCH_HAS_MEM_ENCRYPT 10385bf3785SPaul E. McKenney select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS 1049de3e4bfSHeiko Carstens select ARCH_HAS_PREEMPT_LAZY 105f9aad622SAnshuman Khandual select ARCH_HAS_PTDUMP 1063010a5eaSLaurent Dufour select ARCH_HAS_PTE_SPECIAL 107129975e7SHeiko Carstens select ARCH_HAS_SCALED_CPUTIME 1080490d6d7SHeiko Carstens select ARCH_HAS_SET_DIRECT_MAP 109d2852a22SDaniel Borkmann select ARCH_HAS_SET_MEMORY 110ad21fc4fSLaura Abbott select ARCH_HAS_STRICT_KERNEL_RWX 111ad21fc4fSLaura Abbott select ARCH_HAS_STRICT_MODULE_RWX 112aa0d6e70SArnd Bergmann select ARCH_HAS_SYSCALL_WRAPPER 113918327e9SKees Cook select ARCH_HAS_UBSAN 114a812eee0SNam Cao select ARCH_HAS_VDSO_TIME_DATA 1150e0d04a8SHeiko Carstens select ARCH_HAVE_NMI_SAFE_CMPXCHG 116ccb0aa03SSteffen Maier select ARCH_HAVE_TRACE_MMIO_ACCESS 1176beb0009SThomas Gleixner select ARCH_INLINE_READ_LOCK 1186beb0009SThomas Gleixner select ARCH_INLINE_READ_LOCK_BH 1196beb0009SThomas Gleixner select ARCH_INLINE_READ_LOCK_IRQ 1206beb0009SThomas Gleixner select ARCH_INLINE_READ_LOCK_IRQSAVE 1210e0d04a8SHeiko Carstens select ARCH_INLINE_READ_TRYLOCK 1226beb0009SThomas Gleixner select ARCH_INLINE_READ_UNLOCK 1236beb0009SThomas Gleixner select ARCH_INLINE_READ_UNLOCK_BH 1246beb0009SThomas Gleixner select ARCH_INLINE_READ_UNLOCK_IRQ 1256beb0009SThomas Gleixner select ARCH_INLINE_READ_UNLOCK_IRQRESTORE 1260e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_LOCK 1270e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_LOCK_BH 1280e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_LOCK_IRQ 1290e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_LOCK_IRQSAVE 1300e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_TRYLOCK 1310e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_TRYLOCK_BH 1320e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_UNLOCK 1330e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_UNLOCK_BH 1340e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_UNLOCK_IRQ 1350e0d04a8SHeiko Carstens select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE 1366beb0009SThomas Gleixner select ARCH_INLINE_WRITE_LOCK 1376beb0009SThomas Gleixner select ARCH_INLINE_WRITE_LOCK_BH 1386beb0009SThomas Gleixner select ARCH_INLINE_WRITE_LOCK_IRQ 1396beb0009SThomas Gleixner select ARCH_INLINE_WRITE_LOCK_IRQSAVE 1400e0d04a8SHeiko Carstens select ARCH_INLINE_WRITE_TRYLOCK 1416beb0009SThomas Gleixner select ARCH_INLINE_WRITE_UNLOCK 1426beb0009SThomas Gleixner select ARCH_INLINE_WRITE_UNLOCK_BH 1436beb0009SThomas Gleixner select ARCH_INLINE_WRITE_UNLOCK_IRQ 1446beb0009SThomas Gleixner select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 1459eda317cSSumanth Korikkar select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE 146e991e5bbSVasily Gorbik select ARCH_STACKWALK 14736e7fdaaSChristian Borntraeger select ARCH_SUPPORTS_ATOMIC_RMW 1485d6ad668SMike Rapoport select ARCH_SUPPORTS_DEBUG_PAGEALLOC 149bb9c14adSDavid Hildenbrand select ARCH_SUPPORTS_HUGETLBFS 150fbac266fSHeiko Carstens select ARCH_SUPPORTS_INT128 if CC_HAS_INT128 && CC_IS_CLANG 15124e3f9fbSHeiko Carstens select ARCH_SUPPORTS_MSEAL_SYSTEM_MAPPINGS 152a763bc8bSPhilipp Hachtmann select ARCH_SUPPORTS_NUMA_BALANCING 153e06f47a1SHeiko Carstens select ARCH_SUPPORTS_PER_VMA_LOCK 154295d8fa9SChristian Borntraeger select ARCH_USE_BUILTIN_BSWAP 155efc1d23bSHeiko Carstens select ARCH_USE_CMPXCHG_LOCKREF 156ccf7c3fbSHeiko Carstens select ARCH_USE_SYM_ANNOTATIONS 15751c2ee6dSNick Desaulniers select ARCH_WANTS_NO_INSTR 158d2abfbe4SHeiko Carstens select ARCH_WANT_DEFAULT_BPF_JIT 1596ca6b581SHeiko Carstens select ARCH_WANT_IPC_PARSE_VERSION 160fe201641SHeiko Carstens select ARCH_WANT_IRQS_OFF_ACTIVATE_MM 1612f0584f3SRick Edgecombe select ARCH_WANT_KERNEL_PMD_MKWRITE 162acb7c202SNathan Chancellor select ARCH_WANT_LD_ORPHAN_WARN 16310dd5a00SGerald Schaefer select ARCH_WANTS_THP_SWAP 16410916706SShile Zhang select BUILDTIME_TABLE_SORT 1650e0d04a8SHeiko Carstens select CLONE_BACKWARDS2 166802ba53eSHeiko Carstens select DCACHE_WORD_ACCESS if !KMSAN 1675d6a0163SHeiko Carstens select DYNAMIC_FTRACE if FUNCTION_TRACER 1686ef55060SHeiko Carstens select FUNCTION_ALIGNMENT_8B if CC_IS_GCC 1696ef55060SHeiko Carstens select FUNCTION_ALIGNMENT_16B if !CC_IS_GCC 170129975e7SHeiko Carstens select GENERIC_ALLOCATOR 1714a39f12eSSven Schnelle select GENERIC_CPU_DEVICES 1728f00b3e2SHendrik Brueckner select GENERIC_CPU_AUTOPROBE 173d424986fSMartin Schwidefsky select GENERIC_CPU_VULNERABILITIES 17456e62a73SSven Schnelle select GENERIC_ENTRY 1754bff8cb5SSven Schnelle select GENERIC_GETTIMEOFDAY 176e80e7813SThomas Gleixner select GENERIC_SMP_IDLE_THREAD 17779c74ecbSMartin Schwidefsky select GENERIC_TIME_VSYSCALL 178b43b3fffSBaoquan He select GENERIC_IOREMAP if PCI 1792a19be61SVlastimil Babka select HAVE_ALIGNED_STRUCT_PAGE 1807a017721SAKASHI Takahiro select HAVE_ARCH_AUDITSYSCALL 1815a79859aSHeiko Carstens select HAVE_ARCH_JUMP_LABEL 18213ddb52cSHeiko Carstens select HAVE_ARCH_JUMP_LABEL_RELATIVE 18342db5ed8SVasily Gorbik select HAVE_ARCH_KASAN 1843e39ce26SVasily Gorbik select HAVE_ARCH_KASAN_VMALLOC 185e37b3dd0SIlya Leoshkevich select HAVE_ARCH_KCSAN 1863a8f6f3bSIlya Leoshkevich select HAVE_ARCH_KMSAN 187e41ba111SSven Schnelle select HAVE_ARCH_KFENCE 18857fbad15SKees Cook select HAVE_ARCH_KSTACK_ERASE 189bae1cd36SSven Schnelle select HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET 190c63cb468SHeiko Carstens select HAVE_ARCH_SECCOMP_FILTER 1915614dd92SMartin Schwidefsky select HAVE_ARCH_SOFT_DIRTY 1920e0d04a8SHeiko Carstens select HAVE_ARCH_TRACEHOOK 1935a79859aSHeiko Carstens select HAVE_ARCH_TRANSPARENT_HUGEPAGE 194ce3dc447SMartin Schwidefsky select HAVE_ARCH_VMAP_STACK 1952ff2b7ecSMasahiro Yamada select HAVE_ASM_MODVERSIONS 196fa151887SHeiko Carstens select HAVE_BUILDTIME_MCOUNT_SORT 1970e0d04a8SHeiko Carstens select HAVE_CMPXCHG_DOUBLE 1980e0d04a8SHeiko Carstens select HAVE_CMPXCHG_LOCAL 1990e0d04a8SHeiko Carstens select HAVE_DEBUG_KMEMLEAK 200e1231b0eSHeiko Carstens select HAVE_DMA_CONTIGUOUS 2015a79859aSHeiko Carstens select HAVE_DYNAMIC_FTRACE 2025740a7c7SHeiko Carstens select HAVE_DYNAMIC_FTRACE_WITH_ARGS 203762abbc0SMasami Hiramatsu (Google) select HAVE_FTRACE_REGS_HAVING_PT_REGS 2042ab3a0a9SHeiko Carstens select HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS 2055a79859aSHeiko Carstens select HAVE_DYNAMIC_FTRACE_WITH_REGS 20642b01a55SVasily Gorbik select HAVE_EBPF_JIT if HAVE_MARCH_Z196_FEATURES 2079078a549SChristian Borntraeger select HAVE_EFFICIENT_UNALIGNED_ACCESS 20806e5b728SThomas Gleixner select HAVE_GENERIC_TIF_BITS 20925176ad0SDavid Hildenbrand select HAVE_GUP_FAST 210d983c89cSVasily Gorbik select HAVE_FENTRY 2117495e179SSven Schnelle select HAVE_FTRACE_GRAPH_FUNC 212a30b5b03SHeiko Carstens select HAVE_FUNCTION_ARG_ACCESS_API 21373d6eb48SIlya Leoshkevich select HAVE_FUNCTION_ERROR_INJECTION 214a3ed4157SMasami Hiramatsu (Google) select HAVE_FUNCTION_GRAPH_FREGS 2155a79859aSHeiko Carstens select HAVE_FUNCTION_GRAPH_TRACER 2165a79859aSHeiko Carstens select HAVE_FUNCTION_TRACER 217bc00b3ecSHeiko Carstens select HAVE_GCC_PLUGINS 2184bff8cb5SSven Schnelle select HAVE_GENERIC_VDSO 219d460bb6cSNiklas Schnelle select HAVE_IOREMAP_PROT if PCI 2200e0d04a8SHeiko Carstens select HAVE_KERNEL_BZIP2 2210e0d04a8SHeiko Carstens select HAVE_KERNEL_GZIP 2228e2872ceSHeiko Carstens select HAVE_KERNEL_LZ4 2230e0d04a8SHeiko Carstens select HAVE_KERNEL_LZMA 2240e0d04a8SHeiko Carstens select HAVE_KERNEL_LZO 22589b5202eSVasily Gorbik select HAVE_KERNEL_UNCOMPRESSED 2260e0d04a8SHeiko Carstens select HAVE_KERNEL_XZ 2277b034d9cSDimitri John Ledkov select HAVE_KERNEL_ZSTD 2280e0d04a8SHeiko Carstens select HAVE_KPROBES 229657480d9SSven Schnelle select HAVE_KPROBES_ON_FTRACE 2300e0d04a8SHeiko Carstens select HAVE_KRETPROBES 23121042d43SJiri Slaby select HAVE_LIVEPATCH 23250be6345SPhilipp Hachtmann select HAVE_MEMBLOCK_PHYS_MAP 233786d35d4SDavid Howells select HAVE_MOD_ARCH_SPECIFIC 234129975e7SHeiko Carstens select HAVE_NMI 235d983c89cSVasily Gorbik select HAVE_NOP_MCOUNT 2365394f1e9SArnd Bergmann select HAVE_PAGE_SIZE_4KB 237eb01d42aSChristoph Hellwig select HAVE_PCI 2380e0d04a8SHeiko Carstens select HAVE_PERF_EVENTS 239129975e7SHeiko Carstens select HAVE_PERF_REGS 240129975e7SHeiko Carstens select HAVE_PERF_USER_STACK_DUMP 241eb9780a1SHeiko Carstens select HAVE_POSIX_CPU_TIMERS_TASK_WORK 242b5f46348SHeiko Carstens select HAVE_PREEMPT_DYNAMIC_KEY 2430e0d04a8SHeiko Carstens select HAVE_REGS_AND_STACK_ACCESS_API 244aa137a6dSMiroslav Benes select HAVE_RELIABLE_STACKTRACE 2456ca6b581SHeiko Carstens select HAVE_RETHOOK 2469d6d99e3SHeiko Carstens select HAVE_RSEQ 2471254cfbcSHeiko Carstens select HAVE_SAMPLE_FTRACE_DIRECT 248890e3dc8SHeiko Carstens select HAVE_SAMPLE_FTRACE_DIRECT_MULTI 249254b2fd0SHeiko Carstens select HAVE_SETUP_PER_CPU_AREA 250cd1a41ceSThomas Gleixner select HAVE_SOFTIRQ_ON_OWN_STACK 251f5730d44SHeiko Carstens select HAVE_STACKPROTECTOR if CC_HAS_STACKPROTECTOR_GLOBAL 2520e0d04a8SHeiko Carstens select HAVE_SYSCALL_TRACEPOINTS 2530e0d04a8SHeiko Carstens select HAVE_VIRT_CPU_ACCOUNTING 2542b91ec9fSFrederic Weisbecker select HAVE_VIRT_CPU_ACCOUNTING_IDLE 2551018424aSHeiko Carstens select HOTPLUG_SMT 256eb01d42aSChristoph Hellwig select IOMMU_HELPER if PCI 257eb01d42aSChristoph Hellwig select IOMMU_SUPPORT if PCI 258*f770950aSTobias Schumacher select IRQ_MSI_LIB if PCI 259e7256acaSHeiko Carstens select KASAN_VMALLOC if KASAN 26057d1da4fSHeiko Carstens select LOCK_MM_AND_FIND_VMA 2616ca6b581SHeiko Carstens select MMU_GATHER_MERGE_VMAS 262129975e7SHeiko Carstens select MMU_GATHER_NO_GATHER 263129975e7SHeiko Carstens select MMU_GATHER_RCU_TABLE_FREE 264786d35d4SDavid Howells select MODULES_USE_ELF_RELA 265eb01d42aSChristoph Hellwig select NEED_DMA_MAP_STATE if PCI 266254b2fd0SHeiko Carstens select NEED_PER_CPU_EMBED_FIRST_CHUNK 267212c3a85SDavid Hildenbrand select NEED_PROC_VMCORE_DEVICE_RAM if PROC_VMCORE 268eb01d42aSChristoph Hellwig select NEED_SG_DMA_LENGTH if PCI 2697eddd99cSAl Viro select OLD_SIGACTION 27093bead43SHeiko Carstens select OLD_SIGSUSPEND3 2712eac9c2dSChristoph Hellwig select PCI_DOMAINS if PCI 272eb01d42aSChristoph Hellwig select PCI_MSI if PCI 273981aa1d3SThomas Gleixner select PCI_MSI_ARCH_FALLBACKS if PCI_MSI 274aa9f168dSNiklas Schnelle select PCI_QUIRKS if PCI 275bb98f396SSebastian Ott select SPARSE_IRQ 276129975e7SHeiko Carstens select SWIOTLB 2770e0d04a8SHeiko Carstens select SYSCTL_EXCEPTION_TRACE 278d5c352cdSHeiko Carstens select THREAD_INFO_IN_TASK 2794aae683fSMasahiro Yamada select TRACE_IRQFLAGS_SUPPORT 2800563416bSJosh Triplett select TTY 281aa44433aSHeiko Carstens select USER_STACKTRACE_SUPPORT 282b920aa77SHeiko Carstens select VDSO_GETRANDOM 2830e0d04a8SHeiko Carstens select VIRT_CPU_ACCOUNTING 28427939d6cSHeiko Carstens select VMAP_STACK 28563703f37SKefeng Wang select ZONE_DMA 286129975e7SHeiko Carstens # Note: keep the above list sorted alphabetically 2871da177e4SLinus Torvalds 288fca3e357SMartin Schwidefskyconfig SCHED_OMIT_FRAME_POINTER 2896f9a3c33SMartin Schwidefsky def_bool y 290fca3e357SMartin Schwidefsky 291c81956c9SKirill A. Shutemovconfig PGTABLE_LEVELS 292c81956c9SKirill A. Shutemov int 2931aea9b3fSMartin Schwidefsky default 5 294c81956c9SKirill A. Shutemov 29521042d43SJiri Slabysource "kernel/livepatch/Kconfig" 29621042d43SJiri Slaby 29775239cf7SEric DeVolderconfig ARCH_SUPPORTS_KEXEC 29875239cf7SEric DeVolder def_bool y 29975239cf7SEric DeVolder 30075239cf7SEric DeVolderconfig ARCH_SUPPORTS_KEXEC_FILE 301c1ad12eeSArnd Bergmann def_bool y 30275239cf7SEric DeVolder 30375239cf7SEric DeVolderconfig ARCH_SUPPORTS_KEXEC_SIG 30475239cf7SEric DeVolder def_bool MODULE_SIG_FORMAT 30575239cf7SEric DeVolder 306e6265fe7SEric DeVolderconfig ARCH_SUPPORTS_KEXEC_PURGATORY 307c1ad12eeSArnd Bergmann def_bool y 30875239cf7SEric DeVolder 30975239cf7SEric DeVolderconfig ARCH_SUPPORTS_CRASH_DUMP 31075239cf7SEric DeVolder def_bool y 31175239cf7SEric DeVolder help 312d68b4b6fSLinus Torvalds Refer to <file:Documentation/arch/s390/zfcpdump.rst> for more details on this. 31375239cf7SEric DeVolder This option also enables s390 zfcpdump. 314d68b4b6fSLinus Torvalds See also <file:Documentation/arch/s390/zfcpdump.rst> 31575239cf7SEric DeVolder 31631daa343SDave Vasilevskyconfig ARCH_DEFAULT_CRASH_DUMP 31731daa343SDave Vasilevsky def_bool y 31831daa343SDave Vasilevsky 319843c48fdSJan Glaubermenu "Processor type and features" 3201da177e4SLinus Torvalds 321843c48fdSJan Glauberconfig HAVE_MARCH_Z10_FEATURES 322843c48fdSJan Glauber def_bool n 323843c48fdSJan Glauber 324843c48fdSJan Glauberconfig HAVE_MARCH_Z196_FEATURES 325843c48fdSJan Glauber def_bool n 326843c48fdSJan Glauber select HAVE_MARCH_Z10_FEATURES 327843c48fdSJan Glauber 328991c1505SHeiko Carstensconfig HAVE_MARCH_ZEC12_FEATURES 329991c1505SHeiko Carstens def_bool n 330991c1505SHeiko Carstens select HAVE_MARCH_Z196_FEATURES 331991c1505SHeiko Carstens 332f8b2dcbdSMartin Schwidefskyconfig HAVE_MARCH_Z13_FEATURES 333f8b2dcbdSMartin Schwidefsky def_bool n 334f8b2dcbdSMartin Schwidefsky select HAVE_MARCH_ZEC12_FEATURES 335f8b2dcbdSMartin Schwidefsky 3366997c323SMartin Schwidefskyconfig HAVE_MARCH_Z14_FEATURES 3376997c323SMartin Schwidefsky def_bool n 3386997c323SMartin Schwidefsky select HAVE_MARCH_Z13_FEATURES 3396997c323SMartin Schwidefsky 340a0e22511SMartin Schwidefskyconfig HAVE_MARCH_Z15_FEATURES 341a0e22511SMartin Schwidefsky def_bool n 342a0e22511SMartin Schwidefsky select HAVE_MARCH_Z14_FEATURES 343a0e22511SMartin Schwidefsky 344e69a7ff8SHeiko Carstensconfig HAVE_MARCH_Z16_FEATURES 345e69a7ff8SHeiko Carstens def_bool n 346e69a7ff8SHeiko Carstens select HAVE_MARCH_Z15_FEATURES 347e69a7ff8SHeiko Carstens 348c51ea988SVasily Gorbikconfig HAVE_MARCH_Z17_FEATURES 349c51ea988SVasily Gorbik def_bool n 350c51ea988SVasily Gorbik select HAVE_MARCH_Z16_FEATURES 351c51ea988SVasily Gorbik 352843c48fdSJan Glauberchoice 353843c48fdSJan Glauber prompt "Processor type" 3547072276eSMartin Schwidefsky default MARCH_Z196 355843c48fdSJan Glauber 356843c48fdSJan Glauberconfig MARCH_Z10 357843c48fdSJan Glauber bool "IBM System z10" 3585a79859aSHeiko Carstens select HAVE_MARCH_Z10_FEATURES 3595474080aSHeiko Carstens depends on $(cc-option,-march=z10) 360843c48fdSJan Glauber help 3614efd417fSVasily Gorbik Select this to enable optimizations for IBM System z10 (2097 and 2098 3624efd417fSVasily Gorbik series). This is the oldest machine generation currently supported. 363843c48fdSJan Glauber 364843c48fdSJan Glauberconfig MARCH_Z196 365843c48fdSJan Glauber bool "IBM zEnterprise 114 and 196" 3665a79859aSHeiko Carstens select HAVE_MARCH_Z196_FEATURES 3675474080aSHeiko Carstens depends on $(cc-option,-march=z196) 368843c48fdSJan Glauber help 369843c48fdSJan Glauber Select this to enable optimizations for IBM zEnterprise 114 and 196 370843c48fdSJan Glauber (2818 and 2817 series). The kernel will be slightly faster but will 371843c48fdSJan Glauber not work on older machines. 372843c48fdSJan Glauber 373991c1505SHeiko Carstensconfig MARCH_ZEC12 37459471227SHeiko Carstens bool "IBM zBC12 and zEC12" 3755a79859aSHeiko Carstens select HAVE_MARCH_ZEC12_FEATURES 3765474080aSHeiko Carstens depends on $(cc-option,-march=zEC12) 377991c1505SHeiko Carstens help 37859471227SHeiko Carstens Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and 37959471227SHeiko Carstens 2827 series). The kernel will be slightly faster but will not work on 38059471227SHeiko Carstens older machines. 381991c1505SHeiko Carstens 382f8b2dcbdSMartin Schwidefskyconfig MARCH_Z13 383bb3aa614SHeiko Carstens bool "IBM z13s and z13" 3845a79859aSHeiko Carstens select HAVE_MARCH_Z13_FEATURES 3855474080aSHeiko Carstens depends on $(cc-option,-march=z13) 386f8b2dcbdSMartin Schwidefsky help 387bb3aa614SHeiko Carstens Select this to enable optimizations for IBM z13s and z13 (2965 and 388bb3aa614SHeiko Carstens 2964 series). The kernel will be slightly faster but will not work on 389bb3aa614SHeiko Carstens older machines. 390f8b2dcbdSMartin Schwidefsky 3916997c323SMartin Schwidefskyconfig MARCH_Z14 392451239ebSHeiko Carstens bool "IBM z14 ZR1 and z14" 3936997c323SMartin Schwidefsky select HAVE_MARCH_Z14_FEATURES 3945474080aSHeiko Carstens depends on $(cc-option,-march=z14) 3956997c323SMartin Schwidefsky help 396451239ebSHeiko Carstens Select this to enable optimizations for IBM z14 ZR1 and z14 (3907 397451239ebSHeiko Carstens and 3906 series). The kernel will be slightly faster but will not 398451239ebSHeiko Carstens work on older machines. 3996997c323SMartin Schwidefsky 400a0e22511SMartin Schwidefskyconfig MARCH_Z15 401a0e22511SMartin Schwidefsky bool "IBM z15" 402a0e22511SMartin Schwidefsky select HAVE_MARCH_Z15_FEATURES 4035474080aSHeiko Carstens depends on $(cc-option,-march=z15) 404a0e22511SMartin Schwidefsky help 405a0e22511SMartin Schwidefsky Select this to enable optimizations for IBM z15 (8562 406a0e22511SMartin Schwidefsky and 8561 series). The kernel will be slightly faster but will not 407a0e22511SMartin Schwidefsky work on older machines. 408a0e22511SMartin Schwidefsky 409e69a7ff8SHeiko Carstensconfig MARCH_Z16 410e69a7ff8SHeiko Carstens bool "IBM z16" 411e69a7ff8SHeiko Carstens select HAVE_MARCH_Z16_FEATURES 412e69a7ff8SHeiko Carstens depends on $(cc-option,-march=z16) 413e69a7ff8SHeiko Carstens help 414e69a7ff8SHeiko Carstens Select this to enable optimizations for IBM z16 (3931 and 415e69a7ff8SHeiko Carstens 3932 series). 416e69a7ff8SHeiko Carstens 417c51ea988SVasily Gorbikconfig MARCH_Z17 418c51ea988SVasily Gorbik bool "IBM z17" 419c51ea988SVasily Gorbik select HAVE_MARCH_Z17_FEATURES 420c51ea988SVasily Gorbik depends on $(cc-option,-march=z17) 421c51ea988SVasily Gorbik help 422c51ea988SVasily Gorbik Select this to enable optimizations for IBM z17 (9175 and 423c51ea988SVasily Gorbik 9176 series). 424c51ea988SVasily Gorbik 425843c48fdSJan Glauberendchoice 4261da177e4SLinus Torvalds 4271db9e051SHeiko Carstensconfig MARCH_Z10_TUNE 4281db9e051SHeiko Carstens def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT 4291db9e051SHeiko Carstens 4301db9e051SHeiko Carstensconfig MARCH_Z196_TUNE 4311db9e051SHeiko Carstens def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT 4321db9e051SHeiko Carstens 4331db9e051SHeiko Carstensconfig MARCH_ZEC12_TUNE 4341db9e051SHeiko Carstens def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT 4351db9e051SHeiko Carstens 436f8b2dcbdSMartin Schwidefskyconfig MARCH_Z13_TUNE 437f8b2dcbdSMartin Schwidefsky def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT 438f8b2dcbdSMartin Schwidefsky 4396997c323SMartin Schwidefskyconfig MARCH_Z14_TUNE 4406997c323SMartin Schwidefsky def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT 4416997c323SMartin Schwidefsky 442a0e22511SMartin Schwidefskyconfig MARCH_Z15_TUNE 443a0e22511SMartin Schwidefsky def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT 444a0e22511SMartin Schwidefsky 445e69a7ff8SHeiko Carstensconfig MARCH_Z16_TUNE 446e69a7ff8SHeiko Carstens def_bool TUNE_Z16 || MARCH_Z16 && TUNE_DEFAULT 447e69a7ff8SHeiko Carstens 448c51ea988SVasily Gorbikconfig MARCH_Z17_TUNE 449c51ea988SVasily Gorbik def_bool TUNE_Z17 || MARCH_Z17 && TUNE_DEFAULT 450c51ea988SVasily Gorbik 4511db9e051SHeiko Carstenschoice 4521db9e051SHeiko Carstens prompt "Tune code generation" 4531db9e051SHeiko Carstens default TUNE_DEFAULT 4541db9e051SHeiko Carstens help 4551db9e051SHeiko Carstens Cause the compiler to tune (-mtune) the generated code for a machine. 4561db9e051SHeiko Carstens This will make the code run faster on the selected machine but 4571db9e051SHeiko Carstens somewhat slower on other machines. 4581db9e051SHeiko Carstens This option only changes how the compiler emits instructions, not the 4591db9e051SHeiko Carstens selection of instructions itself, so the resulting kernel will run on 4601db9e051SHeiko Carstens all other machines. 4611db9e051SHeiko Carstens 4621db9e051SHeiko Carstensconfig TUNE_DEFAULT 4631db9e051SHeiko Carstens bool "Default" 4641db9e051SHeiko Carstens help 4651db9e051SHeiko Carstens Tune the generated code for the target processor for which the kernel 4661db9e051SHeiko Carstens will be compiled. 4671db9e051SHeiko Carstens 4681db9e051SHeiko Carstensconfig TUNE_Z10 4691db9e051SHeiko Carstens bool "IBM System z10" 4701db9e051SHeiko Carstens 4711db9e051SHeiko Carstensconfig TUNE_Z196 4721db9e051SHeiko Carstens bool "IBM zEnterprise 114 and 196" 4735474080aSHeiko Carstens depends on $(cc-option,-mtune=z196) 4741db9e051SHeiko Carstens 4751db9e051SHeiko Carstensconfig TUNE_ZEC12 4761db9e051SHeiko Carstens bool "IBM zBC12 and zEC12" 4775474080aSHeiko Carstens depends on $(cc-option,-mtune=zEC12) 4781db9e051SHeiko Carstens 479f8b2dcbdSMartin Schwidefskyconfig TUNE_Z13 48089d0180aSHeiko Carstens bool "IBM z13s and z13" 4815474080aSHeiko Carstens depends on $(cc-option,-mtune=z13) 482f8b2dcbdSMartin Schwidefsky 4836997c323SMartin Schwidefskyconfig TUNE_Z14 48489d0180aSHeiko Carstens bool "IBM z14 ZR1 and z14" 4855474080aSHeiko Carstens depends on $(cc-option,-mtune=z14) 4866997c323SMartin Schwidefsky 487a0e22511SMartin Schwidefskyconfig TUNE_Z15 488a0e22511SMartin Schwidefsky bool "IBM z15" 4895474080aSHeiko Carstens depends on $(cc-option,-mtune=z15) 490a0e22511SMartin Schwidefsky 491e69a7ff8SHeiko Carstensconfig TUNE_Z16 492e69a7ff8SHeiko Carstens bool "IBM z16" 493e69a7ff8SHeiko Carstens depends on $(cc-option,-mtune=z16) 494e69a7ff8SHeiko Carstens 495c51ea988SVasily Gorbikconfig TUNE_Z17 496c51ea988SVasily Gorbik bool "IBM z17" 497c51ea988SVasily Gorbik depends on $(cc-option,-mtune=z17) 498c51ea988SVasily Gorbik 4991db9e051SHeiko Carstensendchoice 5001db9e051SHeiko Carstens 501347a8dc3SMartin Schwidefskyconfig 64BIT 5026f9a3c33SMartin Schwidefsky def_bool y 503d9f7a745SMartin Schwidefsky 504622021cdSSven Schnelleconfig COMMAND_LINE_SIZE 505622021cdSSven Schnelle int "Maximum size of kernel command line" 506622021cdSSven Schnelle default 4096 507622021cdSSven Schnelle range 896 1048576 508622021cdSSven Schnelle help 509622021cdSSven Schnelle This allows you to specify the maximum length of the kernel command 510622021cdSSven Schnelle line. 511622021cdSSven Schnelle 5121da177e4SLinus Torvaldsconfig SMP 5136f9a3c33SMartin Schwidefsky def_bool y 5141da177e4SLinus Torvalds 5151da177e4SLinus Torvaldsconfig NR_CPUS 5165c75a0daSHeiko Carstens int "Maximum number of CPUs (2-512)" 5175c75a0daSHeiko Carstens range 2 512 5185a79859aSHeiko Carstens default "64" 5191da177e4SLinus Torvalds help 5201da177e4SLinus Torvalds This allows you to specify the maximum number of CPUs which this 5215c75a0daSHeiko Carstens kernel will support. The maximum supported value is 512 and the 5221da177e4SLinus Torvalds minimum value which makes sense is 2. 5231da177e4SLinus Torvalds 5241da177e4SLinus Torvalds This is purely to save memory - each supported CPU adds 5251da177e4SLinus Torvalds approximately sixteen kilobytes to the kernel image. 5261da177e4SLinus Torvalds 5271da177e4SLinus Torvaldsconfig HOTPLUG_CPU 5286f9a3c33SMartin Schwidefsky def_bool y 5291da177e4SLinus Torvalds 5303a368f74SPhilipp Hachtmannconfig NUMA 5313a368f74SPhilipp Hachtmann bool "NUMA support" 53267626fadSHeiko Carstens depends on SCHED_TOPOLOGY 5333a368f74SPhilipp Hachtmann default n 5343a368f74SPhilipp Hachtmann help 5353a368f74SPhilipp Hachtmann Enable NUMA support 5363a368f74SPhilipp Hachtmann 5373a368f74SPhilipp Hachtmann This option adds NUMA support to the kernel. 5383a368f74SPhilipp Hachtmann 5393a368f74SPhilipp Hachtmannconfig NODES_SHIFT 540701dc81eSHeiko Carstens int 541a9ee6cf5SMike Rapoport depends on NUMA 542701dc81eSHeiko Carstens default "1" 543c29a7bafSMichael Holzheu 54410ad34bcSMartin Schwidefskyconfig SCHED_TOPOLOGY 5456f9a3c33SMartin Schwidefsky def_bool y 54610ad34bcSMartin Schwidefsky prompt "Topology scheduler support" 5477bd291abSPeter Zijlstra select ARCH_SUPPORTS_SCHED_SMT 5487bd291abSPeter Zijlstra select ARCH_SUPPORTS_SCHED_MC 54910ad34bcSMartin Schwidefsky select SCHED_SMT 55083a24e32SHeiko Carstens select SCHED_MC 5514cb14bc8SHeiko Carstens help 55210ad34bcSMartin Schwidefsky Topology scheduler support improves the CPU scheduler's decision 55310ad34bcSMartin Schwidefsky making when dealing with machines that have multi-threading, 55410ad34bcSMartin Schwidefsky multiple cores or multiple books. 5554cb14bc8SHeiko Carstens 5567e627f81STobias Huschleconfig SCHED_TOPOLOGY_VERTICAL 5577e627f81STobias Huschle def_bool y 5587e627f81STobias Huschle bool "Use vertical CPU polarization by default" 5597e627f81STobias Huschle depends on SCHED_TOPOLOGY 5607e627f81STobias Huschle help 5617e627f81STobias Huschle Use vertical CPU polarization by default if available. 5627e627f81STobias Huschle The default CPU polarization is horizontal. 5637e627f81STobias Huschle 564b9271a53SMete Durluconfig HIPERDISPATCH_ON 565b9271a53SMete Durlu def_bool y 566b9271a53SMete Durlu bool "Use hiperdispatch on vertical polarization by default" 567b9271a53SMete Durlu depends on SCHED_TOPOLOGY 568b9271a53SMete Durlu depends on PROC_SYSCTL 569b9271a53SMete Durlu help 570b9271a53SMete Durlu Hiperdispatch aims to improve the CPU scheduler's decision 571b9271a53SMete Durlu making when using vertical polarization by adjusting CPU 572b9271a53SMete Durlu capacities dynamically. Set this option to use hiperdispatch 573b9271a53SMete Durlu on vertical polarization by default. This can be overwritten 574b9271a53SMete Durlu by sysctl's s390.hiperdispatch attribute later on. 575b9271a53SMete Durlu 5768636a1f9SMasahiro Yamadasource "kernel/Kconfig.hz" 577843c48fdSJan Glauber 5788cf57d72SAnastasia Eskovaconfig CERT_STORE 5798cf57d72SAnastasia Eskova bool "Get user certificates via DIAG320" 5808cf57d72SAnastasia Eskova depends on KEYS 581481daa50SSven Schnelle select CRYPTO_LIB_SHA256 5828cf57d72SAnastasia Eskova help 5838cf57d72SAnastasia Eskova Enable this option if you want to access user-provided secure boot 5848cf57d72SAnastasia Eskova certificates via DIAG 0x320. 5858cf57d72SAnastasia Eskova 5868cf57d72SAnastasia Eskova These certificates will be made available via the keyring named 5878cf57d72SAnastasia Eskova 'cert_store'. 5888cf57d72SAnastasia Eskova 589d768bd89SMartin Schwidefskyconfig KERNEL_NOBP 590d768bd89SMartin Schwidefsky def_bool n 591d768bd89SMartin Schwidefsky prompt "Enable modified branch prediction for the kernel by default" 592d768bd89SMartin Schwidefsky help 593d768bd89SMartin Schwidefsky If this option is selected the kernel will switch to a modified 594d768bd89SMartin Schwidefsky branch prediction mode if the firmware interface is available. 595d768bd89SMartin Schwidefsky The modified branch prediction mode improves the behaviour in 596d768bd89SMartin Schwidefsky regard to speculative execution. 597d768bd89SMartin Schwidefsky 598d768bd89SMartin Schwidefsky With the option enabled the kernel parameter "nobp=0" or "nospec" 599d768bd89SMartin Schwidefsky can be used to run the kernel in the normal branch prediction mode. 600d768bd89SMartin Schwidefsky 601d768bd89SMartin Schwidefsky With the option disabled the modified branch prediction mode is 602d768bd89SMartin Schwidefsky enabled with the "nobp=1" kernel parameter. 603d768bd89SMartin Schwidefsky 604d768bd89SMartin Schwidefsky If unsure, say N. 605d768bd89SMartin Schwidefsky 606f19fbd5eSMartin Schwidefskyconfig EXPOLINE 607f19fbd5eSMartin Schwidefsky def_bool n 6081d2ad084SVasily Gorbik depends on $(cc-option,-mindirect-branch=thunk) 609f19fbd5eSMartin Schwidefsky prompt "Avoid speculative indirect branches in the kernel" 610f19fbd5eSMartin Schwidefsky help 611f19fbd5eSMartin Schwidefsky Compile the kernel with the expoline compiler options to guard 612f19fbd5eSMartin Schwidefsky against kernel-to-user data leaks by avoiding speculative indirect 613f19fbd5eSMartin Schwidefsky branches. 614f19fbd5eSMartin Schwidefsky Requires a compiler with -mindirect-branch=thunk support for full 615f19fbd5eSMartin Schwidefsky protection. The kernel may run slower. 616f19fbd5eSMartin Schwidefsky 617f19fbd5eSMartin Schwidefsky If unsure, say N. 618f19fbd5eSMartin Schwidefsky 6191d2ad084SVasily Gorbikconfig EXPOLINE_EXTERN 6204eac37ffSVasily Gorbik def_bool EXPOLINE && CC_IS_GCC && GCC_VERSION >= 110200 && \ 6214eac37ffSVasily Gorbik $(success,$(srctree)/arch/s390/tools/gcc-thunk-extern.sh $(CC)) 6221d2ad084SVasily Gorbik help 6234eac37ffSVasily Gorbik Generate expolines as external functions if the compiler supports it. 6244eac37ffSVasily Gorbik This option is required for some tooling like kpatch, if expolines 6254eac37ffSVasily Gorbik are enabled. The kernel is compiled with 6264eac37ffSVasily Gorbik -mindirect-branch=thunk-extern, which requires a newer compiler. 6271d2ad084SVasily Gorbik 628f19fbd5eSMartin Schwidefskychoice 629f19fbd5eSMartin Schwidefsky prompt "Expoline default" 630f19fbd5eSMartin Schwidefsky depends on EXPOLINE 631f19fbd5eSMartin Schwidefsky default EXPOLINE_FULL 632f19fbd5eSMartin Schwidefsky 633f19fbd5eSMartin Schwidefskyconfig EXPOLINE_OFF 634f19fbd5eSMartin Schwidefsky bool "spectre_v2=off" 635f19fbd5eSMartin Schwidefsky 6366e179d64SMartin Schwidefskyconfig EXPOLINE_AUTO 637f19fbd5eSMartin Schwidefsky bool "spectre_v2=auto" 638f19fbd5eSMartin Schwidefsky 639f19fbd5eSMartin Schwidefskyconfig EXPOLINE_FULL 640f19fbd5eSMartin Schwidefsky bool "spectre_v2=on" 641f19fbd5eSMartin Schwidefsky 642f19fbd5eSMartin Schwidefskyendchoice 643f19fbd5eSMartin Schwidefsky 644805bc0bcSGerald Schaeferconfig RELOCATABLE 64580ddf5ceSHeiko Carstens def_bool y 6469b400d17SArd Biesheuvel select ARCH_VMLINUX_NEEDS_RELOCS 647805bc0bcSGerald Schaefer help 648805bc0bcSGerald Schaefer This builds a kernel image that retains relocation information 649805bc0bcSGerald Schaefer so it can be loaded at an arbitrary address. 650805bc0bcSGerald Schaefer The relocations make the kernel image about 15% larger (compressed 651805bc0bcSGerald Schaefer 10%), but are discarded at runtime. 65280ddf5ceSHeiko Carstens Note: this option exists only for documentation purposes, please do 65380ddf5ceSHeiko Carstens not remove it. 654805bc0bcSGerald Schaefer 655b2d24b97SGerald Schaeferconfig RANDOMIZE_BASE 656b2d24b97SGerald Schaefer bool "Randomize the address of the kernel image (KASLR)" 657b2d24b97SGerald Schaefer default y 658b2d24b97SGerald Schaefer help 659b2d24b97SGerald Schaefer In support of Kernel Address Space Layout Randomization (KASLR), 660b2d24b97SGerald Schaefer this randomizes the address at which the kernel image is loaded, 661b2d24b97SGerald Schaefer as a security feature that deters exploit attempts relying on 662b2d24b97SGerald Schaefer knowledge of the location of kernel internals. 663b2d24b97SGerald Schaefer 66432db4019SAlexander Gordeevconfig RANDOMIZE_IDENTITY_BASE 66532db4019SAlexander Gordeev bool "Randomize the address of the identity mapping base" 66632db4019SAlexander Gordeev depends on RANDOMIZE_BASE 66732db4019SAlexander Gordeev default DEBUG_VM 66832db4019SAlexander Gordeev help 66932db4019SAlexander Gordeev The identity mapping base address is pinned to zero by default. 67032db4019SAlexander Gordeev Allow randomization of that base to expose otherwise missed 67132db4019SAlexander Gordeev notion of physical and virtual addresses of data structures. 67232db4019SAlexander Gordeev That does not have any impact on the base address at which the 67332db4019SAlexander Gordeev kernel image is loaded. 67432db4019SAlexander Gordeev 67532db4019SAlexander Gordeev If unsure, say N 67632db4019SAlexander Gordeev 67754f2ecc3SAlexander Gordeevconfig KERNEL_IMAGE_BASE 67854f2ecc3SAlexander Gordeev hex "Kernel image base address" 67954f2ecc3SAlexander Gordeev range 0x100000 0x1FFFFFE0000000 if !KASAN 68054f2ecc3SAlexander Gordeev range 0x100000 0x1BFFFFE0000000 if KASAN 68154f2ecc3SAlexander Gordeev default 0x3FFE0000000 if !KASAN 68254f2ecc3SAlexander Gordeev default 0x7FFFE0000000 if KASAN 68354f2ecc3SAlexander Gordeev help 68454f2ecc3SAlexander Gordeev This is the address at which the kernel image is loaded in case 68554f2ecc3SAlexander Gordeev Kernel Address Space Layout Randomization (KASLR) is disabled. 68654f2ecc3SAlexander Gordeev 68754f2ecc3SAlexander Gordeev In case the Protected virtualization guest support is enabled the 68854f2ecc3SAlexander Gordeev Ultravisor imposes a virtual address limit. If the value of this 68954f2ecc3SAlexander Gordeev option leads to the kernel image exceeding the Ultravisor limit, 69054f2ecc3SAlexander Gordeev this option is ignored and the image is loaded below the limit. 69154f2ecc3SAlexander Gordeev 69254f2ecc3SAlexander Gordeev If the value of this option leads to the kernel image overlapping 69354f2ecc3SAlexander Gordeev the virtual memory where other data structures are located, this 69454f2ecc3SAlexander Gordeev option is ignored and the image is loaded above the structures. 69554f2ecc3SAlexander Gordeev 696843c48fdSJan Glauberendmenu 697843c48fdSJan Glauber 698843c48fdSJan Glaubermenu "Memory setup" 699843c48fdSJan Glauber 700843c48fdSJan Glauberconfig ARCH_SPARSEMEM_ENABLE 7016f9a3c33SMartin Schwidefsky def_bool y 702843c48fdSJan Glauber select SPARSEMEM_VMEMMAP_ENABLE 7031da177e4SLinus Torvalds 704843c48fdSJan Glauberconfig ARCH_SPARSEMEM_DEFAULT 7056f9a3c33SMartin Schwidefsky def_bool y 706e65e1fc2SAl Viro 707b8402b95SHeiko Carstensconfig MAX_PHYSMEM_BITS 708b8402b95SHeiko Carstens int "Maximum size of supported physical memory in bits (42-53)" 709b8402b95SHeiko Carstens range 42 53 710b8402b95SHeiko Carstens default "46" 711b8402b95SHeiko Carstens help 712b8402b95SHeiko Carstens This option specifies the maximum supported size of physical memory 713b8402b95SHeiko Carstens in bits. Supported is any size between 2^42 (4TB) and 2^53 (8PB). 714b8402b95SHeiko Carstens Increasing the number of bits also increases the kernel image size. 715b8402b95SHeiko Carstens By default 46 bits (64TB) are supported. 716b8402b95SHeiko Carstens 717843c48fdSJan Glauberendmenu 71861d48c2cSMartin Schwidefsky 719843c48fdSJan Glaubermenu "I/O subsystem" 7201da177e4SLinus Torvalds 7211da177e4SLinus Torvaldsconfig QDIO 7226f9a3c33SMartin Schwidefsky def_tristate y 7236f9a3c33SMartin Schwidefsky prompt "QDIO support" 724a7f7f624SMasahiro Yamada help 7258129ee16SFrank Pavlic This driver provides the Queued Direct I/O base support for 726efca13bcSUrsula Braun IBM System z. 7271da177e4SLinus Torvalds 7281da177e4SLinus Torvalds To compile this driver as a module, choose M here: the 7291da177e4SLinus Torvalds module will be called qdio. 7301da177e4SLinus Torvalds 7311da177e4SLinus Torvalds If unsure, say Y. 7321da177e4SLinus Torvalds 733c8717a3dSJan Glauberif PCI 734c8717a3dSJan Glauber 735c8717a3dSJan Glauberconfig PCI_NR_FUNCTIONS 736c8717a3dSJan Glauber int "Maximum number of PCI functions (1-4096)" 737c8717a3dSJan Glauber range 1 4096 73810e59217SNiklas Schnelle default "512" 739c8717a3dSJan Glauber help 740c8717a3dSJan Glauber This allows you to specify the maximum number of PCI functions which 741c8717a3dSJan Glauber this kernel will support. 742c8717a3dSJan Glauber 743c8717a3dSJan Glauberendif # PCI 744c8717a3dSJan Glauber 745c8717a3dSJan Glauberconfig HAS_IOMEM 746c8717a3dSJan Glauber def_bool PCI 747c8717a3dSJan Glauber 7489d92a7e1SCornelia Huckconfig CHSC_SCH 749d9c11b1eSSebastian Ott def_tristate m 7506f9a3c33SMartin Schwidefsky prompt "Support for CHSC subchannels" 7519d92a7e1SCornelia Huck help 7529d92a7e1SCornelia Huck This driver allows usage of CHSC subchannels. A CHSC subchannel 7539d92a7e1SCornelia Huck is usually present on LPAR only. 7549d92a7e1SCornelia Huck The driver creates a device /dev/chsc, which may be used to 7559d92a7e1SCornelia Huck obtain I/O configuration information about the machine and 7569d92a7e1SCornelia Huck to issue asynchronous chsc commands (DANGEROUS). 7579d92a7e1SCornelia Huck You will usually only want to use this interface on a special 7589d92a7e1SCornelia Huck LPAR designated for system management. 7599d92a7e1SCornelia Huck 7609d92a7e1SCornelia Huck To compile this driver as a module, choose M here: the 7619d92a7e1SCornelia Huck module will be called chsc_sch. 7629d92a7e1SCornelia Huck 7639d92a7e1SCornelia Huck If unsure, say N. 7649d92a7e1SCornelia Huck 7651d1c8f78SSebastian Ottconfig SCM_BUS 7661d1c8f78SSebastian Ott def_bool y 7671d1c8f78SSebastian Ott prompt "SCM bus driver" 7681d1c8f78SSebastian Ott help 7691d1c8f78SSebastian Ott Bus driver for Storage Class Memory. 7701d1c8f78SSebastian Ott 771eadb86abSSebastian Ottconfig EADM_SCH 772eadb86abSSebastian Ott def_tristate m 773eadb86abSSebastian Ott prompt "Support for EADM subchannels" 774eadb86abSSebastian Ott depends on SCM_BUS 775eadb86abSSebastian Ott help 776eadb86abSSebastian Ott This driver allows usage of EADM subchannels. EADM subchannels act 777eadb86abSSebastian Ott as a communication vehicle for SCM increments. 778eadb86abSSebastian Ott 779eadb86abSSebastian Ott To compile this driver as a module, choose M here: the 780eadb86abSSebastian Ott module will be called eadm_sch. 781eadb86abSSebastian Ott 78212376084SHolger Denglerconfig AP 78312376084SHolger Dengler def_tristate y 78412376084SHolger Dengler prompt "Support for Adjunct Processors (ap)" 78512376084SHolger Dengler help 78612376084SHolger Dengler This driver allows usage to Adjunct Processor (AP) devices via 78712376084SHolger Dengler the ap bus, cards and queues. Supported Adjunct Processors are 78812376084SHolger Dengler the CryptoExpress Cards (CEX). 78912376084SHolger Dengler 79012376084SHolger Dengler To compile this driver as a module, choose M here: the 79112376084SHolger Dengler module will be called ap. 79212376084SHolger Dengler 79312376084SHolger Dengler If unsure, say Y (default). 79412376084SHolger Dengler 795b3840c8bSHolger Denglerconfig AP_DEBUG 796b3840c8bSHolger Dengler def_bool n 797b3840c8bSHolger Dengler prompt "Enable debug features for Adjunct Processor (ap) devices" 798b3840c8bSHolger Dengler depends on AP 799b3840c8bSHolger Dengler help 800b3840c8bSHolger Dengler Say 'Y' here to enable some additional debug features for Adjunct 801b3840c8bSHolger Dengler Processor (ap) devices. 802b3840c8bSHolger Dengler 803b3840c8bSHolger Dengler There will be some more sysfs attributes displayed for ap queues. 804b3840c8bSHolger Dengler 805b3840c8bSHolger Dengler Do not enable on production level kernel build. 806b3840c8bSHolger Dengler 807b3840c8bSHolger Dengler If unsure, say N. 808b3840c8bSHolger Dengler 80963f1934dSDong Jia Shiconfig VFIO_CCW 81063f1934dSDong Jia Shi def_tristate n 81163f1934dSDong Jia Shi prompt "Support for VFIO-CCW subchannels" 812de858a05SArnd Bergmann depends on VFIO 8138bf8c5eeSChristoph Hellwig select VFIO_MDEV 81463f1934dSDong Jia Shi help 81563f1934dSDong Jia Shi This driver allows usage of I/O subchannels via VFIO-CCW. 81663f1934dSDong Jia Shi 81763f1934dSDong Jia Shi To compile this driver as a module, choose M here: the 81863f1934dSDong Jia Shi module will be called vfio_ccw. 81963f1934dSDong Jia Shi 8201fde5734STony Krowiakconfig VFIO_AP 8211fde5734STony Krowiak def_tristate n 8221fde5734STony Krowiak prompt "VFIO support for AP devices" 8230f1cbf94SJason Gunthorpe depends on KVM 824de858a05SArnd Bergmann depends on VFIO 82512376084SHolger Dengler depends on AP 826de858a05SArnd Bergmann select VFIO_MDEV 8271fde5734STony Krowiak help 8281fde5734STony Krowiak This driver grants access to Adjunct Processor (AP) devices 8291fde5734STony Krowiak via the VFIO mediated device interface. 8301fde5734STony Krowiak 8311fde5734STony Krowiak To compile this driver as a module, choose M here: the module 8321fde5734STony Krowiak will be called vfio_ap. 8331fde5734STony Krowiak 834843c48fdSJan Glauberendmenu 835843c48fdSJan Glauber 836843c48fdSJan Glauberconfig CCW 837843c48fdSJan Glauber def_bool y 838843c48fdSJan Glauber 839b6ef86e9SUrsula Braunconfig HAVE_PNETID 840b6ef86e9SUrsula Braun tristate 841b6ef86e9SUrsula Braun default (SMC || CCWGROUP) 842b6ef86e9SUrsula Braun 843843c48fdSJan Glaubermenu "Virtualization" 844684de39bSHeiko Carstens 8451da177e4SLinus Torvaldsconfig PFAULT 8466f9a3c33SMartin Schwidefsky def_bool y 8476f9a3c33SMartin Schwidefsky prompt "Pseudo page fault support" 8481da177e4SLinus Torvalds help 8491da177e4SLinus Torvalds Select this option, if you want to use PFAULT pseudo page fault 8501da177e4SLinus Torvalds handling under VM. If running native or in LPAR, this option 8511da177e4SLinus Torvalds has no effect. If your VM does not support PFAULT, PAGEEX 8521da177e4SLinus Torvalds pseudo page fault handling will be used. 8531da177e4SLinus Torvalds Note that VM 4.2 supports PFAULT but has a bug in its 8541da177e4SLinus Torvalds implementation that causes some problems. 8551da177e4SLinus Torvalds Everybody who wants to run Linux under VM != VM4.2 should select 8561da177e4SLinus Torvalds this option. 8571da177e4SLinus Torvalds 8581da177e4SLinus Torvaldsconfig CMM 8596f9a3c33SMartin Schwidefsky def_tristate n 8606f9a3c33SMartin Schwidefsky prompt "Cooperative memory management" 8611da177e4SLinus Torvalds help 8621da177e4SLinus Torvalds Select this option, if you want to enable the kernel interface 8631da177e4SLinus Torvalds to reduce the memory size of the system. This is accomplished 8641da177e4SLinus Torvalds by allocating pages of memory and put them "on hold". This only 8651da177e4SLinus Torvalds makes sense for a system running under VM where the unused pages 8661da177e4SLinus Torvalds will be reused by VM for other guest systems. The interface 8671da177e4SLinus Torvalds allows an external monitor to balance memory of many systems. 8681da177e4SLinus Torvalds Everybody who wants to run Linux under VM should select this 8691da177e4SLinus Torvalds option. 8701da177e4SLinus Torvalds 8711da177e4SLinus Torvaldsconfig CMM_IUCV 8726f9a3c33SMartin Schwidefsky def_bool y 8736f9a3c33SMartin Schwidefsky prompt "IUCV special message interface to cooperative memory management" 8741da177e4SLinus Torvalds depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) 8751da177e4SLinus Torvalds help 8761da177e4SLinus Torvalds Select this option to enable the special message interface to 8771da177e4SLinus Torvalds the cooperative memory management. 8781da177e4SLinus Torvalds 8791da177e4SLinus Torvaldsconfig APPLDATA_BASE 8806f9a3c33SMartin Schwidefsky def_bool n 8816f9a3c33SMartin Schwidefsky prompt "Linux - VM Monitor Stream, base infrastructure" 8825d3516b3SRandy Dunlap depends on PROC_SYSCTL 8831da177e4SLinus Torvalds help 8841da177e4SLinus Torvalds This provides a kernel interface for creating and updating z/VM APPLDATA 8851da177e4SLinus Torvalds monitor records. The monitor records are updated at certain time 8861da177e4SLinus Torvalds intervals, once the timer is started. 8871da177e4SLinus Torvalds Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, 8881da177e4SLinus Torvalds i.e. enables or disables monitoring on the Linux side. 8891da177e4SLinus Torvalds A custom interval value (in seconds) can be written to 8901da177e4SLinus Torvalds /proc/appldata/interval. 8911da177e4SLinus Torvalds 8921da177e4SLinus Torvalds Defaults are 60 seconds interval and timer off. 8931da177e4SLinus Torvalds The /proc entries can also be read from, showing the current settings. 8941da177e4SLinus Torvalds 8951da177e4SLinus Torvaldsconfig APPLDATA_MEM 8966f9a3c33SMartin Schwidefsky def_tristate m 8976f9a3c33SMartin Schwidefsky prompt "Monitor memory management statistics" 89862fb2ba3SAl Viro depends on APPLDATA_BASE && VM_EVENT_COUNTERS 8991da177e4SLinus Torvalds help 9001da177e4SLinus Torvalds This provides memory management related data to the Linux - VM Monitor 9011da177e4SLinus Torvalds Stream, like paging/swapping rate, memory utilisation, etc. 9021da177e4SLinus Torvalds Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM 9031da177e4SLinus Torvalds APPLDATA monitor record, i.e. enables or disables monitoring this record 9041da177e4SLinus Torvalds on the z/VM side. 9051da177e4SLinus Torvalds 9061da177e4SLinus Torvalds Default is disabled. 9071da177e4SLinus Torvalds The /proc entry can also be read from, showing the current settings. 9081da177e4SLinus Torvalds 9091da177e4SLinus Torvalds This can also be compiled as a module, which will be called 9101da177e4SLinus Torvalds appldata_mem.o. 9111da177e4SLinus Torvalds 9121da177e4SLinus Torvaldsconfig APPLDATA_OS 9136f9a3c33SMartin Schwidefsky def_tristate m 9146f9a3c33SMartin Schwidefsky prompt "Monitor OS statistics" 9151da177e4SLinus Torvalds depends on APPLDATA_BASE 9161da177e4SLinus Torvalds help 9171da177e4SLinus Torvalds This provides OS related data to the Linux - VM Monitor Stream, like 9181da177e4SLinus Torvalds CPU utilisation, etc. 9191da177e4SLinus Torvalds Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM 9201da177e4SLinus Torvalds APPLDATA monitor record, i.e. enables or disables monitoring this record 9211da177e4SLinus Torvalds on the z/VM side. 9221da177e4SLinus Torvalds 9231da177e4SLinus Torvalds Default is disabled. 9241da177e4SLinus Torvalds This can also be compiled as a module, which will be called 9251da177e4SLinus Torvalds appldata_os.o. 9261da177e4SLinus Torvalds 9271da177e4SLinus Torvaldsconfig APPLDATA_NET_SUM 9286f9a3c33SMartin Schwidefsky def_tristate m 9296f9a3c33SMartin Schwidefsky prompt "Monitor overall network statistics" 93070193af9SSachin Sant depends on APPLDATA_BASE && NET 9311da177e4SLinus Torvalds help 9321da177e4SLinus Torvalds This provides network related data to the Linux - VM Monitor Stream, 9331da177e4SLinus Torvalds currently there is only a total sum of network I/O statistics, no 9341da177e4SLinus Torvalds per-interface data. 9351da177e4SLinus Torvalds Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM 9361da177e4SLinus Torvalds APPLDATA monitor record, i.e. enables or disables monitoring this record 9371da177e4SLinus Torvalds on the z/VM side. 9381da177e4SLinus Torvalds 9391da177e4SLinus Torvalds Default is disabled. 9401da177e4SLinus Torvalds This can also be compiled as a module, which will be called 9411da177e4SLinus Torvalds appldata_net_sum.o. 9421da177e4SLinus Torvalds 9433325b4d8SHeiko Carstensconfig S390_HYPFS 9446f9a3c33SMartin Schwidefsky def_bool y 9453325b4d8SHeiko Carstens prompt "s390 hypervisor information" 9463325b4d8SHeiko Carstens help 9473325b4d8SHeiko Carstens This provides several binary files at (debugfs)/s390_hypfs/ to 9483325b4d8SHeiko Carstens provide accounting information in an s390 hypervisor environment. 9493325b4d8SHeiko Carstens 9503325b4d8SHeiko Carstensconfig S390_HYPFS_FS 9513325b4d8SHeiko Carstens def_bool n 9526f9a3c33SMartin Schwidefsky prompt "s390 hypervisor file system support" 95324bbb1faSMichael Holzheu select SYS_HYPERVISOR 9543325b4d8SHeiko Carstens depends on S390_HYPFS 95524bbb1faSMichael Holzheu help 95624bbb1faSMichael Holzheu This is a virtual file system intended to provide accounting 9573325b4d8SHeiko Carstens information in an s390 hypervisor environment. This file system 9583325b4d8SHeiko Carstens is deprecated and should not be used. 9593325b4d8SHeiko Carstens 9603325b4d8SHeiko Carstens Say N if you are unsure. 96124bbb1faSMichael Holzheu 962843c48fdSJan Glaubersource "arch/s390/kvm/Kconfig" 963411ed322SMichael Holzheu 964fa587743SCarsten Otteconfig S390_GUEST 9656f9a3c33SMartin Schwidefsky def_bool y 966510cf5a6SKees Cook prompt "s390 support for virtio devices" 96779b6f7fbSChen Gang select TTY 96880629b0bSChristian Borntraeger select VIRTUALIZATION 969fa587743SCarsten Otte select VIRTIO 970fa587743SCarsten Otte help 971bdd1fc27SCornelia Huck Enabling this option adds support for virtio based paravirtual device 972bdd1fc27SCornelia Huck drivers on s390. 973bdd1fc27SCornelia Huck 97420766c08SChristian Borntraeger Select this option if you want to run the kernel as a guest under 975bdd1fc27SCornelia Huck the KVM hypervisor. 976bcf5cef7SHeiko Carstens 9771da177e4SLinus Torvaldsendmenu 978badbf397SIlya Leoshkevich 97990c53187SIlya Leoshkevichconfig S390_MODULES_SANITY_TEST_HELPERS 98090c53187SIlya Leoshkevich def_bool n 98190c53187SIlya Leoshkevich 982badbf397SIlya Leoshkevichmenu "Selftests" 983badbf397SIlya Leoshkevich 984badbf397SIlya Leoshkevichconfig S390_UNWIND_SELFTEST 985badbf397SIlya Leoshkevich def_tristate n 98625d36a85SMete Durlu depends on KUNIT 98725d36a85SMete Durlu default KUNIT_ALL_TESTS 988badbf397SIlya Leoshkevich prompt "Test unwind functions" 989badbf397SIlya Leoshkevich help 990badbf397SIlya Leoshkevich This option enables s390 specific stack unwinder testing kernel 991badbf397SIlya Leoshkevich module. This option is not useful for distributions or general 992badbf397SIlya Leoshkevich kernels, but only for kernel developers working on architecture code. 993badbf397SIlya Leoshkevich 994badbf397SIlya Leoshkevich Say N if you are unsure. 995badbf397SIlya Leoshkevich 996d340d28aSSven Schnelleconfig S390_KPROBES_SANITY_TEST 997d340d28aSSven Schnelle def_tristate n 998d340d28aSSven Schnelle prompt "Enable s390 specific kprobes tests" 999d340d28aSSven Schnelle depends on KPROBES 1000d340d28aSSven Schnelle depends on KUNIT 1001d340d28aSSven Schnelle help 1002d340d28aSSven Schnelle This option enables an s390 specific kprobes test module. This option 1003d340d28aSSven Schnelle is not useful for distributions or general kernels, but only for kernel 1004d340d28aSSven Schnelle developers working on architecture code. 1005d340d28aSSven Schnelle 1006d340d28aSSven Schnelle Say N if you are unsure. 1007d340d28aSSven Schnelle 100890c53187SIlya Leoshkevichconfig S390_MODULES_SANITY_TEST 100990c53187SIlya Leoshkevich def_tristate n 101090c53187SIlya Leoshkevich depends on KUNIT 101190c53187SIlya Leoshkevich default KUNIT_ALL_TESTS 101290c53187SIlya Leoshkevich prompt "Enable s390 specific modules tests" 101390c53187SIlya Leoshkevich select S390_MODULES_SANITY_TEST_HELPERS 101490c53187SIlya Leoshkevich help 101590c53187SIlya Leoshkevich This option enables an s390 specific modules test. This option is 101690c53187SIlya Leoshkevich not useful for distributions or general kernels, but only for 101790c53187SIlya Leoshkevich kernel developers working on architecture code. 101890c53187SIlya Leoshkevich 101990c53187SIlya Leoshkevich Say N if you are unsure. 1020badbf397SIlya Leoshkevichendmenu 1021