18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ciconfig MMU 38c2ecf20Sopenharmony_ci def_bool y 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciconfig ZONE_DMA 68c2ecf20Sopenharmony_ci def_bool y 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciconfig CPU_BIG_ENDIAN 98c2ecf20Sopenharmony_ci def_bool y 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciconfig LOCKDEP_SUPPORT 128c2ecf20Sopenharmony_ci def_bool y 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciconfig STACKTRACE_SUPPORT 158c2ecf20Sopenharmony_ci def_bool y 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciconfig ARCH_HAS_ILOG2_U32 188c2ecf20Sopenharmony_ci def_bool n 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ciconfig ARCH_HAS_ILOG2_U64 218c2ecf20Sopenharmony_ci def_bool n 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciconfig GENERIC_HWEIGHT 248c2ecf20Sopenharmony_ci def_bool y 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciconfig GENERIC_BUG 278c2ecf20Sopenharmony_ci def_bool y if BUG 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciconfig GENERIC_BUG_RELATIVE_POINTERS 308c2ecf20Sopenharmony_ci def_bool y 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig GENERIC_LOCKBREAK 338c2ecf20Sopenharmony_ci def_bool y if PREEMPTION 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciconfig PGSTE 368c2ecf20Sopenharmony_ci def_bool y if KVM 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciconfig ARCH_SUPPORTS_DEBUG_PAGEALLOC 398c2ecf20Sopenharmony_ci def_bool y 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciconfig AUDIT_ARCH 428c2ecf20Sopenharmony_ci def_bool y 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciconfig NO_IOPORT_MAP 458c2ecf20Sopenharmony_ci def_bool y 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig PCI_QUIRKS 488c2ecf20Sopenharmony_ci def_bool n 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ciconfig ARCH_SUPPORTS_UPROBES 518c2ecf20Sopenharmony_ci def_bool y 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciconfig KASAN_SHADOW_OFFSET 548c2ecf20Sopenharmony_ci hex 558c2ecf20Sopenharmony_ci depends on KASAN 568c2ecf20Sopenharmony_ci default 0x18000000000000 if KASAN_S390_4_LEVEL_PAGING 578c2ecf20Sopenharmony_ci default 0x30000000000 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ciconfig S390 608c2ecf20Sopenharmony_ci def_bool y 618c2ecf20Sopenharmony_ci select ARCH_BINFMT_ELF_STATE 628c2ecf20Sopenharmony_ci select ARCH_HAS_DEBUG_VM_PGTABLE 638c2ecf20Sopenharmony_ci select ARCH_HAS_DEBUG_WX 648c2ecf20Sopenharmony_ci select ARCH_HAS_DEVMEM_IS_ALLOWED 658c2ecf20Sopenharmony_ci select ARCH_HAS_ELF_RANDOMIZE 668c2ecf20Sopenharmony_ci select ARCH_HAS_FORTIFY_SOURCE 678c2ecf20Sopenharmony_ci select ARCH_HAS_GCOV_PROFILE_ALL 688c2ecf20Sopenharmony_ci select ARCH_HAS_GIGANTIC_PAGE 698c2ecf20Sopenharmony_ci select ARCH_HAS_KCOV 708c2ecf20Sopenharmony_ci select ARCH_HAS_MEM_ENCRYPT 718c2ecf20Sopenharmony_ci select ARCH_HAS_PTE_SPECIAL 728c2ecf20Sopenharmony_ci select ARCH_HAS_SET_MEMORY 738c2ecf20Sopenharmony_ci select ARCH_HAS_STRICT_KERNEL_RWX 748c2ecf20Sopenharmony_ci select ARCH_HAS_STRICT_MODULE_RWX 758c2ecf20Sopenharmony_ci select ARCH_HAS_SYSCALL_WRAPPER 768c2ecf20Sopenharmony_ci select ARCH_HAS_UBSAN_SANITIZE_ALL 778c2ecf20Sopenharmony_ci select ARCH_HAS_VDSO_DATA 788c2ecf20Sopenharmony_ci select ARCH_HAVE_NMI_SAFE_CMPXCHG 798c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_LOCK 808c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_LOCK_BH 818c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_LOCK_IRQ 828c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_LOCK_IRQSAVE 838c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_TRYLOCK 848c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_UNLOCK 858c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_UNLOCK_BH 868c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_UNLOCK_IRQ 878c2ecf20Sopenharmony_ci select ARCH_INLINE_READ_UNLOCK_IRQRESTORE 888c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_LOCK 898c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_LOCK_BH 908c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_LOCK_IRQ 918c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_LOCK_IRQSAVE 928c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_TRYLOCK 938c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_TRYLOCK_BH 948c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_UNLOCK 958c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_UNLOCK_BH 968c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_UNLOCK_IRQ 978c2ecf20Sopenharmony_ci select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE 988c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_LOCK 998c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_LOCK_BH 1008c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_LOCK_IRQ 1018c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_LOCK_IRQSAVE 1028c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_TRYLOCK 1038c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_UNLOCK 1048c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_UNLOCK_BH 1058c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_UNLOCK_IRQ 1068c2ecf20Sopenharmony_ci select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 1078c2ecf20Sopenharmony_ci select ARCH_STACKWALK 1088c2ecf20Sopenharmony_ci select ARCH_SUPPORTS_ATOMIC_RMW 1098c2ecf20Sopenharmony_ci select ARCH_SUPPORTS_NUMA_BALANCING 1108c2ecf20Sopenharmony_ci select ARCH_USE_BUILTIN_BSWAP 1118c2ecf20Sopenharmony_ci select ARCH_USE_CMPXCHG_LOCKREF 1128c2ecf20Sopenharmony_ci select ARCH_WANTS_DYNAMIC_TASK_STRUCT 1138c2ecf20Sopenharmony_ci select ARCH_WANT_DEFAULT_BPF_JIT 1148c2ecf20Sopenharmony_ci select ARCH_WANT_IPC_PARSE_VERSION 1158c2ecf20Sopenharmony_ci select BUILDTIME_TABLE_SORT 1168c2ecf20Sopenharmony_ci select CLONE_BACKWARDS2 1178c2ecf20Sopenharmony_ci select DMA_OPS if PCI 1188c2ecf20Sopenharmony_ci select DYNAMIC_FTRACE if FUNCTION_TRACER 1198c2ecf20Sopenharmony_ci select GENERIC_CLOCKEVENTS 1208c2ecf20Sopenharmony_ci select GENERIC_CPU_AUTOPROBE 1218c2ecf20Sopenharmony_ci select GENERIC_CPU_VULNERABILITIES 1228c2ecf20Sopenharmony_ci select GENERIC_FIND_FIRST_BIT 1238c2ecf20Sopenharmony_ci select GENERIC_GETTIMEOFDAY 1248c2ecf20Sopenharmony_ci select GENERIC_PTDUMP 1258c2ecf20Sopenharmony_ci select GENERIC_SMP_IDLE_THREAD 1268c2ecf20Sopenharmony_ci select GENERIC_TIME_VSYSCALL 1278c2ecf20Sopenharmony_ci select HAVE_ALIGNED_STRUCT_PAGE if SLUB 1288c2ecf20Sopenharmony_ci select HAVE_ARCH_AUDITSYSCALL 1298c2ecf20Sopenharmony_ci select HAVE_ARCH_JUMP_LABEL 1308c2ecf20Sopenharmony_ci select HAVE_ARCH_JUMP_LABEL_RELATIVE 1318c2ecf20Sopenharmony_ci select HAVE_ARCH_KASAN 1328c2ecf20Sopenharmony_ci select HAVE_ARCH_KASAN_VMALLOC 1338c2ecf20Sopenharmony_ci select CPU_NO_EFFICIENT_FFS if !HAVE_MARCH_Z9_109_FEATURES 1348c2ecf20Sopenharmony_ci select HAVE_ARCH_SECCOMP_FILTER 1358c2ecf20Sopenharmony_ci select HAVE_ARCH_SOFT_DIRTY 1368c2ecf20Sopenharmony_ci select HAVE_ARCH_TRACEHOOK 1378c2ecf20Sopenharmony_ci select HAVE_ARCH_TRANSPARENT_HUGEPAGE 1388c2ecf20Sopenharmony_ci select HAVE_ARCH_VMAP_STACK 1398c2ecf20Sopenharmony_ci select HAVE_ASM_MODVERSIONS 1408c2ecf20Sopenharmony_ci select HAVE_EBPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES 1418c2ecf20Sopenharmony_ci select HAVE_CMPXCHG_DOUBLE 1428c2ecf20Sopenharmony_ci select HAVE_CMPXCHG_LOCAL 1438c2ecf20Sopenharmony_ci select HAVE_DEBUG_KMEMLEAK 1448c2ecf20Sopenharmony_ci select HAVE_DMA_CONTIGUOUS 1458c2ecf20Sopenharmony_ci select HAVE_DYNAMIC_FTRACE 1468c2ecf20Sopenharmony_ci select HAVE_DYNAMIC_FTRACE_WITH_REGS 1478c2ecf20Sopenharmony_ci select HAVE_FAST_GUP 1488c2ecf20Sopenharmony_ci select HAVE_EFFICIENT_UNALIGNED_ACCESS 1498c2ecf20Sopenharmony_ci select HAVE_FENTRY 1508c2ecf20Sopenharmony_ci select HAVE_FTRACE_MCOUNT_RECORD 1518c2ecf20Sopenharmony_ci select HAVE_FUNCTION_ERROR_INJECTION 1528c2ecf20Sopenharmony_ci select HAVE_FUNCTION_GRAPH_TRACER 1538c2ecf20Sopenharmony_ci select HAVE_FUNCTION_TRACER 1548c2ecf20Sopenharmony_ci select HAVE_FUTEX_CMPXCHG if FUTEX 1558c2ecf20Sopenharmony_ci select HAVE_GCC_PLUGINS 1568c2ecf20Sopenharmony_ci select HAVE_GENERIC_VDSO 1578c2ecf20Sopenharmony_ci select HAVE_IOREMAP_PROT if PCI 1588c2ecf20Sopenharmony_ci select HAVE_IRQ_EXIT_ON_IRQ_STACK 1598c2ecf20Sopenharmony_ci select HAVE_KERNEL_BZIP2 1608c2ecf20Sopenharmony_ci select HAVE_KERNEL_GZIP 1618c2ecf20Sopenharmony_ci select HAVE_KERNEL_LZ4 1628c2ecf20Sopenharmony_ci select HAVE_KERNEL_LZMA 1638c2ecf20Sopenharmony_ci select HAVE_KERNEL_LZO 1648c2ecf20Sopenharmony_ci select HAVE_KERNEL_UNCOMPRESSED 1658c2ecf20Sopenharmony_ci select HAVE_KERNEL_XZ 1668c2ecf20Sopenharmony_ci select HAVE_KPROBES 1678c2ecf20Sopenharmony_ci select HAVE_KPROBES_ON_FTRACE 1688c2ecf20Sopenharmony_ci select HAVE_KRETPROBES 1698c2ecf20Sopenharmony_ci select HAVE_KVM 1708c2ecf20Sopenharmony_ci select HAVE_LIVEPATCH 1718c2ecf20Sopenharmony_ci select HAVE_PERF_REGS 1728c2ecf20Sopenharmony_ci select HAVE_PERF_USER_STACK_DUMP 1738c2ecf20Sopenharmony_ci select HAVE_MEMBLOCK_PHYS_MAP 1748c2ecf20Sopenharmony_ci select MMU_GATHER_NO_GATHER 1758c2ecf20Sopenharmony_ci select HAVE_MOD_ARCH_SPECIFIC 1768c2ecf20Sopenharmony_ci select HAVE_NOP_MCOUNT 1778c2ecf20Sopenharmony_ci select HAVE_OPROFILE 1788c2ecf20Sopenharmony_ci select HAVE_PCI 1798c2ecf20Sopenharmony_ci select HAVE_PERF_EVENTS 1808c2ecf20Sopenharmony_ci select MMU_GATHER_RCU_TABLE_FREE 1818c2ecf20Sopenharmony_ci select HAVE_REGS_AND_STACK_ACCESS_API 1828c2ecf20Sopenharmony_ci select HAVE_RELIABLE_STACKTRACE 1838c2ecf20Sopenharmony_ci select HAVE_RSEQ 1848c2ecf20Sopenharmony_ci select HAVE_SYSCALL_TRACEPOINTS 1858c2ecf20Sopenharmony_ci select HAVE_VIRT_CPU_ACCOUNTING 1868c2ecf20Sopenharmony_ci select IOMMU_HELPER if PCI 1878c2ecf20Sopenharmony_ci select IOMMU_SUPPORT if PCI 1888c2ecf20Sopenharmony_ci select MODULES_USE_ELF_RELA 1898c2ecf20Sopenharmony_ci select NEED_DMA_MAP_STATE if PCI 1908c2ecf20Sopenharmony_ci select NEED_SG_DMA_LENGTH if PCI 1918c2ecf20Sopenharmony_ci select OLD_SIGACTION 1928c2ecf20Sopenharmony_ci select OLD_SIGSUSPEND3 1938c2ecf20Sopenharmony_ci select PCI_DOMAINS if PCI 1948c2ecf20Sopenharmony_ci select PCI_MSI if PCI 1958c2ecf20Sopenharmony_ci select PCI_MSI_ARCH_FALLBACKS if PCI_MSI 1968c2ecf20Sopenharmony_ci select SET_FS 1978c2ecf20Sopenharmony_ci select SPARSE_IRQ 1988c2ecf20Sopenharmony_ci select SYSCTL_EXCEPTION_TRACE 1998c2ecf20Sopenharmony_ci select THREAD_INFO_IN_TASK 2008c2ecf20Sopenharmony_ci select TTY 2018c2ecf20Sopenharmony_ci select VIRT_CPU_ACCOUNTING 2028c2ecf20Sopenharmony_ci select ARCH_HAS_SCALED_CPUTIME 2038c2ecf20Sopenharmony_ci select HAVE_NMI 2048c2ecf20Sopenharmony_ci select ARCH_HAS_FORCE_DMA_UNENCRYPTED 2058c2ecf20Sopenharmony_ci select SWIOTLB 2068c2ecf20Sopenharmony_ci select GENERIC_ALLOCATOR 2078c2ecf20Sopenharmony_ci imply IMA_SECURE_AND_OR_TRUSTED_BOOT 2088c2ecf20Sopenharmony_ci 2098c2ecf20Sopenharmony_ci 2108c2ecf20Sopenharmony_ciconfig SCHED_OMIT_FRAME_POINTER 2118c2ecf20Sopenharmony_ci def_bool y 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ciconfig PGTABLE_LEVELS 2148c2ecf20Sopenharmony_ci int 2158c2ecf20Sopenharmony_ci default 5 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_cisource "kernel/livepatch/Kconfig" 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_cimenu "Processor type and features" 2208c2ecf20Sopenharmony_ci 2218c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z900_FEATURES 2228c2ecf20Sopenharmony_ci def_bool n 2238c2ecf20Sopenharmony_ci 2248c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z990_FEATURES 2258c2ecf20Sopenharmony_ci def_bool n 2268c2ecf20Sopenharmony_ci select HAVE_MARCH_Z900_FEATURES 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z9_109_FEATURES 2298c2ecf20Sopenharmony_ci def_bool n 2308c2ecf20Sopenharmony_ci select HAVE_MARCH_Z990_FEATURES 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z10_FEATURES 2338c2ecf20Sopenharmony_ci def_bool n 2348c2ecf20Sopenharmony_ci select HAVE_MARCH_Z9_109_FEATURES 2358c2ecf20Sopenharmony_ci 2368c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z196_FEATURES 2378c2ecf20Sopenharmony_ci def_bool n 2388c2ecf20Sopenharmony_ci select HAVE_MARCH_Z10_FEATURES 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ciconfig HAVE_MARCH_ZEC12_FEATURES 2418c2ecf20Sopenharmony_ci def_bool n 2428c2ecf20Sopenharmony_ci select HAVE_MARCH_Z196_FEATURES 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z13_FEATURES 2458c2ecf20Sopenharmony_ci def_bool n 2468c2ecf20Sopenharmony_ci select HAVE_MARCH_ZEC12_FEATURES 2478c2ecf20Sopenharmony_ci 2488c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z14_FEATURES 2498c2ecf20Sopenharmony_ci def_bool n 2508c2ecf20Sopenharmony_ci select HAVE_MARCH_Z13_FEATURES 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ciconfig HAVE_MARCH_Z15_FEATURES 2538c2ecf20Sopenharmony_ci def_bool n 2548c2ecf20Sopenharmony_ci select HAVE_MARCH_Z14_FEATURES 2558c2ecf20Sopenharmony_ci 2568c2ecf20Sopenharmony_cichoice 2578c2ecf20Sopenharmony_ci prompt "Processor type" 2588c2ecf20Sopenharmony_ci default MARCH_Z196 2598c2ecf20Sopenharmony_ci 2608c2ecf20Sopenharmony_ciconfig MARCH_Z900 2618c2ecf20Sopenharmony_ci bool "IBM zSeries model z800 and z900" 2628c2ecf20Sopenharmony_ci select HAVE_MARCH_Z900_FEATURES 2638c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z900) 2648c2ecf20Sopenharmony_ci help 2658c2ecf20Sopenharmony_ci Select this to enable optimizations for model z800/z900 (2064 and 2668c2ecf20Sopenharmony_ci 2066 series). This will enable some optimizations that are not 2678c2ecf20Sopenharmony_ci available on older ESA/390 (31 Bit) only CPUs. 2688c2ecf20Sopenharmony_ci 2698c2ecf20Sopenharmony_ciconfig MARCH_Z990 2708c2ecf20Sopenharmony_ci bool "IBM zSeries model z890 and z990" 2718c2ecf20Sopenharmony_ci select HAVE_MARCH_Z990_FEATURES 2728c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z990) 2738c2ecf20Sopenharmony_ci help 2748c2ecf20Sopenharmony_ci Select this to enable optimizations for model z890/z990 (2084 and 2758c2ecf20Sopenharmony_ci 2086 series). The kernel will be slightly faster but will not work 2768c2ecf20Sopenharmony_ci on older machines. 2778c2ecf20Sopenharmony_ci 2788c2ecf20Sopenharmony_ciconfig MARCH_Z9_109 2798c2ecf20Sopenharmony_ci bool "IBM System z9" 2808c2ecf20Sopenharmony_ci select HAVE_MARCH_Z9_109_FEATURES 2818c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z9-109) 2828c2ecf20Sopenharmony_ci help 2838c2ecf20Sopenharmony_ci Select this to enable optimizations for IBM System z9 (2094 and 2848c2ecf20Sopenharmony_ci 2096 series). The kernel will be slightly faster but will not work 2858c2ecf20Sopenharmony_ci on older machines. 2868c2ecf20Sopenharmony_ci 2878c2ecf20Sopenharmony_ciconfig MARCH_Z10 2888c2ecf20Sopenharmony_ci bool "IBM System z10" 2898c2ecf20Sopenharmony_ci select HAVE_MARCH_Z10_FEATURES 2908c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z10) 2918c2ecf20Sopenharmony_ci help 2928c2ecf20Sopenharmony_ci Select this to enable optimizations for IBM System z10 (2097 and 2938c2ecf20Sopenharmony_ci 2098 series). The kernel will be slightly faster but will not work 2948c2ecf20Sopenharmony_ci on older machines. 2958c2ecf20Sopenharmony_ci 2968c2ecf20Sopenharmony_ciconfig MARCH_Z196 2978c2ecf20Sopenharmony_ci bool "IBM zEnterprise 114 and 196" 2988c2ecf20Sopenharmony_ci select HAVE_MARCH_Z196_FEATURES 2998c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z196) 3008c2ecf20Sopenharmony_ci help 3018c2ecf20Sopenharmony_ci Select this to enable optimizations for IBM zEnterprise 114 and 196 3028c2ecf20Sopenharmony_ci (2818 and 2817 series). The kernel will be slightly faster but will 3038c2ecf20Sopenharmony_ci not work on older machines. 3048c2ecf20Sopenharmony_ci 3058c2ecf20Sopenharmony_ciconfig MARCH_ZEC12 3068c2ecf20Sopenharmony_ci bool "IBM zBC12 and zEC12" 3078c2ecf20Sopenharmony_ci select HAVE_MARCH_ZEC12_FEATURES 3088c2ecf20Sopenharmony_ci depends on $(cc-option,-march=zEC12) 3098c2ecf20Sopenharmony_ci help 3108c2ecf20Sopenharmony_ci Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and 3118c2ecf20Sopenharmony_ci 2827 series). The kernel will be slightly faster but will not work on 3128c2ecf20Sopenharmony_ci older machines. 3138c2ecf20Sopenharmony_ci 3148c2ecf20Sopenharmony_ciconfig MARCH_Z13 3158c2ecf20Sopenharmony_ci bool "IBM z13s and z13" 3168c2ecf20Sopenharmony_ci select HAVE_MARCH_Z13_FEATURES 3178c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z13) 3188c2ecf20Sopenharmony_ci help 3198c2ecf20Sopenharmony_ci Select this to enable optimizations for IBM z13s and z13 (2965 and 3208c2ecf20Sopenharmony_ci 2964 series). The kernel will be slightly faster but will not work on 3218c2ecf20Sopenharmony_ci older machines. 3228c2ecf20Sopenharmony_ci 3238c2ecf20Sopenharmony_ciconfig MARCH_Z14 3248c2ecf20Sopenharmony_ci bool "IBM z14 ZR1 and z14" 3258c2ecf20Sopenharmony_ci select HAVE_MARCH_Z14_FEATURES 3268c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z14) 3278c2ecf20Sopenharmony_ci help 3288c2ecf20Sopenharmony_ci Select this to enable optimizations for IBM z14 ZR1 and z14 (3907 3298c2ecf20Sopenharmony_ci and 3906 series). The kernel will be slightly faster but will not 3308c2ecf20Sopenharmony_ci work on older machines. 3318c2ecf20Sopenharmony_ci 3328c2ecf20Sopenharmony_ciconfig MARCH_Z15 3338c2ecf20Sopenharmony_ci bool "IBM z15" 3348c2ecf20Sopenharmony_ci select HAVE_MARCH_Z15_FEATURES 3358c2ecf20Sopenharmony_ci depends on $(cc-option,-march=z15) 3368c2ecf20Sopenharmony_ci help 3378c2ecf20Sopenharmony_ci Select this to enable optimizations for IBM z15 (8562 3388c2ecf20Sopenharmony_ci and 8561 series). The kernel will be slightly faster but will not 3398c2ecf20Sopenharmony_ci work on older machines. 3408c2ecf20Sopenharmony_ci 3418c2ecf20Sopenharmony_ciendchoice 3428c2ecf20Sopenharmony_ci 3438c2ecf20Sopenharmony_ciconfig MARCH_Z900_TUNE 3448c2ecf20Sopenharmony_ci def_bool TUNE_Z900 || MARCH_Z900 && TUNE_DEFAULT 3458c2ecf20Sopenharmony_ci 3468c2ecf20Sopenharmony_ciconfig MARCH_Z990_TUNE 3478c2ecf20Sopenharmony_ci def_bool TUNE_Z990 || MARCH_Z990 && TUNE_DEFAULT 3488c2ecf20Sopenharmony_ci 3498c2ecf20Sopenharmony_ciconfig MARCH_Z9_109_TUNE 3508c2ecf20Sopenharmony_ci def_bool TUNE_Z9_109 || MARCH_Z9_109 && TUNE_DEFAULT 3518c2ecf20Sopenharmony_ci 3528c2ecf20Sopenharmony_ciconfig MARCH_Z10_TUNE 3538c2ecf20Sopenharmony_ci def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT 3548c2ecf20Sopenharmony_ci 3558c2ecf20Sopenharmony_ciconfig MARCH_Z196_TUNE 3568c2ecf20Sopenharmony_ci def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT 3578c2ecf20Sopenharmony_ci 3588c2ecf20Sopenharmony_ciconfig MARCH_ZEC12_TUNE 3598c2ecf20Sopenharmony_ci def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT 3608c2ecf20Sopenharmony_ci 3618c2ecf20Sopenharmony_ciconfig MARCH_Z13_TUNE 3628c2ecf20Sopenharmony_ci def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT 3638c2ecf20Sopenharmony_ci 3648c2ecf20Sopenharmony_ciconfig MARCH_Z14_TUNE 3658c2ecf20Sopenharmony_ci def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT 3668c2ecf20Sopenharmony_ci 3678c2ecf20Sopenharmony_ciconfig MARCH_Z15_TUNE 3688c2ecf20Sopenharmony_ci def_bool TUNE_Z15 || MARCH_Z15 && TUNE_DEFAULT 3698c2ecf20Sopenharmony_ci 3708c2ecf20Sopenharmony_cichoice 3718c2ecf20Sopenharmony_ci prompt "Tune code generation" 3728c2ecf20Sopenharmony_ci default TUNE_DEFAULT 3738c2ecf20Sopenharmony_ci help 3748c2ecf20Sopenharmony_ci Cause the compiler to tune (-mtune) the generated code for a machine. 3758c2ecf20Sopenharmony_ci This will make the code run faster on the selected machine but 3768c2ecf20Sopenharmony_ci somewhat slower on other machines. 3778c2ecf20Sopenharmony_ci This option only changes how the compiler emits instructions, not the 3788c2ecf20Sopenharmony_ci selection of instructions itself, so the resulting kernel will run on 3798c2ecf20Sopenharmony_ci all other machines. 3808c2ecf20Sopenharmony_ci 3818c2ecf20Sopenharmony_ciconfig TUNE_DEFAULT 3828c2ecf20Sopenharmony_ci bool "Default" 3838c2ecf20Sopenharmony_ci help 3848c2ecf20Sopenharmony_ci Tune the generated code for the target processor for which the kernel 3858c2ecf20Sopenharmony_ci will be compiled. 3868c2ecf20Sopenharmony_ci 3878c2ecf20Sopenharmony_ciconfig TUNE_Z900 3888c2ecf20Sopenharmony_ci bool "IBM zSeries model z800 and z900" 3898c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z900) 3908c2ecf20Sopenharmony_ci 3918c2ecf20Sopenharmony_ciconfig TUNE_Z990 3928c2ecf20Sopenharmony_ci bool "IBM zSeries model z890 and z990" 3938c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z990) 3948c2ecf20Sopenharmony_ci 3958c2ecf20Sopenharmony_ciconfig TUNE_Z9_109 3968c2ecf20Sopenharmony_ci bool "IBM System z9" 3978c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z9-109) 3988c2ecf20Sopenharmony_ci 3998c2ecf20Sopenharmony_ciconfig TUNE_Z10 4008c2ecf20Sopenharmony_ci bool "IBM System z10" 4018c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z10) 4028c2ecf20Sopenharmony_ci 4038c2ecf20Sopenharmony_ciconfig TUNE_Z196 4048c2ecf20Sopenharmony_ci bool "IBM zEnterprise 114 and 196" 4058c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z196) 4068c2ecf20Sopenharmony_ci 4078c2ecf20Sopenharmony_ciconfig TUNE_ZEC12 4088c2ecf20Sopenharmony_ci bool "IBM zBC12 and zEC12" 4098c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=zEC12) 4108c2ecf20Sopenharmony_ci 4118c2ecf20Sopenharmony_ciconfig TUNE_Z13 4128c2ecf20Sopenharmony_ci bool "IBM z13s and z13" 4138c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z13) 4148c2ecf20Sopenharmony_ci 4158c2ecf20Sopenharmony_ciconfig TUNE_Z14 4168c2ecf20Sopenharmony_ci bool "IBM z14 ZR1 and z14" 4178c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z14) 4188c2ecf20Sopenharmony_ci 4198c2ecf20Sopenharmony_ciconfig TUNE_Z15 4208c2ecf20Sopenharmony_ci bool "IBM z15" 4218c2ecf20Sopenharmony_ci depends on $(cc-option,-mtune=z15) 4228c2ecf20Sopenharmony_ci 4238c2ecf20Sopenharmony_ciendchoice 4248c2ecf20Sopenharmony_ci 4258c2ecf20Sopenharmony_ciconfig 64BIT 4268c2ecf20Sopenharmony_ci def_bool y 4278c2ecf20Sopenharmony_ci 4288c2ecf20Sopenharmony_ciconfig COMPAT 4298c2ecf20Sopenharmony_ci def_bool y 4308c2ecf20Sopenharmony_ci prompt "Kernel support for 31 bit emulation" 4318c2ecf20Sopenharmony_ci select COMPAT_BINFMT_ELF if BINFMT_ELF 4328c2ecf20Sopenharmony_ci select ARCH_WANT_OLD_COMPAT_IPC 4338c2ecf20Sopenharmony_ci select COMPAT_OLD_SIGACTION 4348c2ecf20Sopenharmony_ci select HAVE_UID16 4358c2ecf20Sopenharmony_ci depends on MULTIUSER 4368c2ecf20Sopenharmony_ci help 4378c2ecf20Sopenharmony_ci Select this option if you want to enable your system kernel to 4388c2ecf20Sopenharmony_ci handle system-calls from ELF binaries for 31 bit ESA. This option 4398c2ecf20Sopenharmony_ci (and some other stuff like libraries and such) is needed for 4408c2ecf20Sopenharmony_ci executing 31 bit applications. It is safe to say "Y". 4418c2ecf20Sopenharmony_ci 4428c2ecf20Sopenharmony_ciconfig SYSVIPC_COMPAT 4438c2ecf20Sopenharmony_ci def_bool y if COMPAT && SYSVIPC 4448c2ecf20Sopenharmony_ci 4458c2ecf20Sopenharmony_ciconfig SMP 4468c2ecf20Sopenharmony_ci def_bool y 4478c2ecf20Sopenharmony_ci 4488c2ecf20Sopenharmony_ciconfig NR_CPUS 4498c2ecf20Sopenharmony_ci int "Maximum number of CPUs (2-512)" 4508c2ecf20Sopenharmony_ci range 2 512 4518c2ecf20Sopenharmony_ci default "64" 4528c2ecf20Sopenharmony_ci help 4538c2ecf20Sopenharmony_ci This allows you to specify the maximum number of CPUs which this 4548c2ecf20Sopenharmony_ci kernel will support. The maximum supported value is 512 and the 4558c2ecf20Sopenharmony_ci minimum value which makes sense is 2. 4568c2ecf20Sopenharmony_ci 4578c2ecf20Sopenharmony_ci This is purely to save memory - each supported CPU adds 4588c2ecf20Sopenharmony_ci approximately sixteen kilobytes to the kernel image. 4598c2ecf20Sopenharmony_ci 4608c2ecf20Sopenharmony_ciconfig HOTPLUG_CPU 4618c2ecf20Sopenharmony_ci def_bool y 4628c2ecf20Sopenharmony_ci 4638c2ecf20Sopenharmony_ciconfig NUMA 4648c2ecf20Sopenharmony_ci bool "NUMA support" 4658c2ecf20Sopenharmony_ci depends on SCHED_TOPOLOGY 4668c2ecf20Sopenharmony_ci default n 4678c2ecf20Sopenharmony_ci help 4688c2ecf20Sopenharmony_ci Enable NUMA support 4698c2ecf20Sopenharmony_ci 4708c2ecf20Sopenharmony_ci This option adds NUMA support to the kernel. 4718c2ecf20Sopenharmony_ci 4728c2ecf20Sopenharmony_ciconfig NODES_SHIFT 4738c2ecf20Sopenharmony_ci int 4748c2ecf20Sopenharmony_ci depends on NEED_MULTIPLE_NODES 4758c2ecf20Sopenharmony_ci default "1" 4768c2ecf20Sopenharmony_ci 4778c2ecf20Sopenharmony_ciconfig SCHED_SMT 4788c2ecf20Sopenharmony_ci def_bool n 4798c2ecf20Sopenharmony_ci 4808c2ecf20Sopenharmony_ciconfig SCHED_MC 4818c2ecf20Sopenharmony_ci def_bool n 4828c2ecf20Sopenharmony_ci 4838c2ecf20Sopenharmony_ciconfig SCHED_BOOK 4848c2ecf20Sopenharmony_ci def_bool n 4858c2ecf20Sopenharmony_ci 4868c2ecf20Sopenharmony_ciconfig SCHED_DRAWER 4878c2ecf20Sopenharmony_ci def_bool n 4888c2ecf20Sopenharmony_ci 4898c2ecf20Sopenharmony_ciconfig SCHED_TOPOLOGY 4908c2ecf20Sopenharmony_ci def_bool y 4918c2ecf20Sopenharmony_ci prompt "Topology scheduler support" 4928c2ecf20Sopenharmony_ci select SCHED_SMT 4938c2ecf20Sopenharmony_ci select SCHED_MC 4948c2ecf20Sopenharmony_ci select SCHED_BOOK 4958c2ecf20Sopenharmony_ci select SCHED_DRAWER 4968c2ecf20Sopenharmony_ci help 4978c2ecf20Sopenharmony_ci Topology scheduler support improves the CPU scheduler's decision 4988c2ecf20Sopenharmony_ci making when dealing with machines that have multi-threading, 4998c2ecf20Sopenharmony_ci multiple cores or multiple books. 5008c2ecf20Sopenharmony_ci 5018c2ecf20Sopenharmony_cisource "kernel/Kconfig.hz" 5028c2ecf20Sopenharmony_ci 5038c2ecf20Sopenharmony_ciconfig KEXEC 5048c2ecf20Sopenharmony_ci def_bool y 5058c2ecf20Sopenharmony_ci select KEXEC_CORE 5068c2ecf20Sopenharmony_ci 5078c2ecf20Sopenharmony_ciconfig KEXEC_FILE 5088c2ecf20Sopenharmony_ci bool "kexec file based system call" 5098c2ecf20Sopenharmony_ci select KEXEC_CORE 5108c2ecf20Sopenharmony_ci depends on CRYPTO 5118c2ecf20Sopenharmony_ci depends on CRYPTO_SHA256 5128c2ecf20Sopenharmony_ci depends on CRYPTO_SHA256_S390 5138c2ecf20Sopenharmony_ci help 5148c2ecf20Sopenharmony_ci Enable the kexec file based system call. In contrast to the normal 5158c2ecf20Sopenharmony_ci kexec system call this system call takes file descriptors for the 5168c2ecf20Sopenharmony_ci kernel and initramfs as arguments. 5178c2ecf20Sopenharmony_ci 5188c2ecf20Sopenharmony_ciconfig ARCH_HAS_KEXEC_PURGATORY 5198c2ecf20Sopenharmony_ci def_bool y 5208c2ecf20Sopenharmony_ci depends on KEXEC_FILE 5218c2ecf20Sopenharmony_ci 5228c2ecf20Sopenharmony_ciconfig KEXEC_SIG 5238c2ecf20Sopenharmony_ci bool "Verify kernel signature during kexec_file_load() syscall" 5248c2ecf20Sopenharmony_ci depends on KEXEC_FILE && MODULE_SIG_FORMAT 5258c2ecf20Sopenharmony_ci help 5268c2ecf20Sopenharmony_ci This option makes kernel signature verification mandatory for 5278c2ecf20Sopenharmony_ci the kexec_file_load() syscall. 5288c2ecf20Sopenharmony_ci 5298c2ecf20Sopenharmony_ci In addition to that option, you need to enable signature 5308c2ecf20Sopenharmony_ci verification for the corresponding kernel image type being 5318c2ecf20Sopenharmony_ci loaded in order for this to work. 5328c2ecf20Sopenharmony_ci 5338c2ecf20Sopenharmony_ciconfig ARCH_RANDOM 5348c2ecf20Sopenharmony_ci def_bool y 5358c2ecf20Sopenharmony_ci prompt "s390 architectural random number generation API" 5368c2ecf20Sopenharmony_ci help 5378c2ecf20Sopenharmony_ci Enable the s390 architectural random number generation API 5388c2ecf20Sopenharmony_ci to provide random data for all consumers within the Linux 5398c2ecf20Sopenharmony_ci kernel. 5408c2ecf20Sopenharmony_ci 5418c2ecf20Sopenharmony_ci When enabled the arch_random_* functions declared in linux/random.h 5428c2ecf20Sopenharmony_ci are implemented. The implementation is based on the s390 CPACF 5438c2ecf20Sopenharmony_ci instruction subfunction TRNG which provides a real true random 5448c2ecf20Sopenharmony_ci number generator. 5458c2ecf20Sopenharmony_ci 5468c2ecf20Sopenharmony_ci If unsure, say Y. 5478c2ecf20Sopenharmony_ci 5488c2ecf20Sopenharmony_ciconfig KERNEL_NOBP 5498c2ecf20Sopenharmony_ci def_bool n 5508c2ecf20Sopenharmony_ci prompt "Enable modified branch prediction for the kernel by default" 5518c2ecf20Sopenharmony_ci help 5528c2ecf20Sopenharmony_ci If this option is selected the kernel will switch to a modified 5538c2ecf20Sopenharmony_ci branch prediction mode if the firmware interface is available. 5548c2ecf20Sopenharmony_ci The modified branch prediction mode improves the behaviour in 5558c2ecf20Sopenharmony_ci regard to speculative execution. 5568c2ecf20Sopenharmony_ci 5578c2ecf20Sopenharmony_ci With the option enabled the kernel parameter "nobp=0" or "nospec" 5588c2ecf20Sopenharmony_ci can be used to run the kernel in the normal branch prediction mode. 5598c2ecf20Sopenharmony_ci 5608c2ecf20Sopenharmony_ci With the option disabled the modified branch prediction mode is 5618c2ecf20Sopenharmony_ci enabled with the "nobp=1" kernel parameter. 5628c2ecf20Sopenharmony_ci 5638c2ecf20Sopenharmony_ci If unsure, say N. 5648c2ecf20Sopenharmony_ci 5658c2ecf20Sopenharmony_ciconfig EXPOLINE 5668c2ecf20Sopenharmony_ci def_bool n 5678c2ecf20Sopenharmony_ci prompt "Avoid speculative indirect branches in the kernel" 5688c2ecf20Sopenharmony_ci help 5698c2ecf20Sopenharmony_ci Compile the kernel with the expoline compiler options to guard 5708c2ecf20Sopenharmony_ci against kernel-to-user data leaks by avoiding speculative indirect 5718c2ecf20Sopenharmony_ci branches. 5728c2ecf20Sopenharmony_ci Requires a compiler with -mindirect-branch=thunk support for full 5738c2ecf20Sopenharmony_ci protection. The kernel may run slower. 5748c2ecf20Sopenharmony_ci 5758c2ecf20Sopenharmony_ci If unsure, say N. 5768c2ecf20Sopenharmony_ci 5778c2ecf20Sopenharmony_cichoice 5788c2ecf20Sopenharmony_ci prompt "Expoline default" 5798c2ecf20Sopenharmony_ci depends on EXPOLINE 5808c2ecf20Sopenharmony_ci default EXPOLINE_FULL 5818c2ecf20Sopenharmony_ci 5828c2ecf20Sopenharmony_ciconfig EXPOLINE_OFF 5838c2ecf20Sopenharmony_ci bool "spectre_v2=off" 5848c2ecf20Sopenharmony_ci 5858c2ecf20Sopenharmony_ciconfig EXPOLINE_AUTO 5868c2ecf20Sopenharmony_ci bool "spectre_v2=auto" 5878c2ecf20Sopenharmony_ci 5888c2ecf20Sopenharmony_ciconfig EXPOLINE_FULL 5898c2ecf20Sopenharmony_ci bool "spectre_v2=on" 5908c2ecf20Sopenharmony_ci 5918c2ecf20Sopenharmony_ciendchoice 5928c2ecf20Sopenharmony_ci 5938c2ecf20Sopenharmony_ciconfig RELOCATABLE 5948c2ecf20Sopenharmony_ci bool "Build a relocatable kernel" 5958c2ecf20Sopenharmony_ci select MODULE_REL_CRCS if MODVERSIONS 5968c2ecf20Sopenharmony_ci default y 5978c2ecf20Sopenharmony_ci help 5988c2ecf20Sopenharmony_ci This builds a kernel image that retains relocation information 5998c2ecf20Sopenharmony_ci so it can be loaded at an arbitrary address. 6008c2ecf20Sopenharmony_ci The kernel is linked as a position-independent executable (PIE) 6018c2ecf20Sopenharmony_ci and contains dynamic relocations which are processed early in the 6028c2ecf20Sopenharmony_ci bootup process. 6038c2ecf20Sopenharmony_ci The relocations make the kernel image about 15% larger (compressed 6048c2ecf20Sopenharmony_ci 10%), but are discarded at runtime. 6058c2ecf20Sopenharmony_ci 6068c2ecf20Sopenharmony_ciconfig RANDOMIZE_BASE 6078c2ecf20Sopenharmony_ci bool "Randomize the address of the kernel image (KASLR)" 6088c2ecf20Sopenharmony_ci depends on RELOCATABLE 6098c2ecf20Sopenharmony_ci default y 6108c2ecf20Sopenharmony_ci help 6118c2ecf20Sopenharmony_ci In support of Kernel Address Space Layout Randomization (KASLR), 6128c2ecf20Sopenharmony_ci this randomizes the address at which the kernel image is loaded, 6138c2ecf20Sopenharmony_ci as a security feature that deters exploit attempts relying on 6148c2ecf20Sopenharmony_ci knowledge of the location of kernel internals. 6158c2ecf20Sopenharmony_ci 6168c2ecf20Sopenharmony_ciendmenu 6178c2ecf20Sopenharmony_ci 6188c2ecf20Sopenharmony_cimenu "Memory setup" 6198c2ecf20Sopenharmony_ci 6208c2ecf20Sopenharmony_ciconfig ARCH_SPARSEMEM_ENABLE 6218c2ecf20Sopenharmony_ci def_bool y 6228c2ecf20Sopenharmony_ci select SPARSEMEM_VMEMMAP_ENABLE 6238c2ecf20Sopenharmony_ci select SPARSEMEM_VMEMMAP 6248c2ecf20Sopenharmony_ci 6258c2ecf20Sopenharmony_ciconfig ARCH_SPARSEMEM_DEFAULT 6268c2ecf20Sopenharmony_ci def_bool y 6278c2ecf20Sopenharmony_ci 6288c2ecf20Sopenharmony_ciconfig ARCH_ENABLE_MEMORY_HOTPLUG 6298c2ecf20Sopenharmony_ci def_bool y if SPARSEMEM 6308c2ecf20Sopenharmony_ci 6318c2ecf20Sopenharmony_ciconfig ARCH_ENABLE_MEMORY_HOTREMOVE 6328c2ecf20Sopenharmony_ci def_bool y 6338c2ecf20Sopenharmony_ci 6348c2ecf20Sopenharmony_ciconfig ARCH_ENABLE_SPLIT_PMD_PTLOCK 6358c2ecf20Sopenharmony_ci def_bool y 6368c2ecf20Sopenharmony_ci 6378c2ecf20Sopenharmony_ciconfig MAX_PHYSMEM_BITS 6388c2ecf20Sopenharmony_ci int "Maximum size of supported physical memory in bits (42-53)" 6398c2ecf20Sopenharmony_ci range 42 53 6408c2ecf20Sopenharmony_ci default "46" 6418c2ecf20Sopenharmony_ci help 6428c2ecf20Sopenharmony_ci This option specifies the maximum supported size of physical memory 6438c2ecf20Sopenharmony_ci in bits. Supported is any size between 2^42 (4TB) and 2^53 (8PB). 6448c2ecf20Sopenharmony_ci Increasing the number of bits also increases the kernel image size. 6458c2ecf20Sopenharmony_ci By default 46 bits (64TB) are supported. 6468c2ecf20Sopenharmony_ci 6478c2ecf20Sopenharmony_ciconfig PACK_STACK 6488c2ecf20Sopenharmony_ci def_bool y 6498c2ecf20Sopenharmony_ci prompt "Pack kernel stack" 6508c2ecf20Sopenharmony_ci help 6518c2ecf20Sopenharmony_ci This option enables the compiler option -mkernel-backchain if it 6528c2ecf20Sopenharmony_ci is available. If the option is available the compiler supports 6538c2ecf20Sopenharmony_ci the new stack layout which dramatically reduces the minimum stack 6548c2ecf20Sopenharmony_ci frame size. With an old compiler a non-leaf function needs a 6558c2ecf20Sopenharmony_ci minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With 6568c2ecf20Sopenharmony_ci -mkernel-backchain the minimum size drops to 16 byte on 31 bit 6578c2ecf20Sopenharmony_ci and 24 byte on 64 bit. 6588c2ecf20Sopenharmony_ci 6598c2ecf20Sopenharmony_ci Say Y if you are unsure. 6608c2ecf20Sopenharmony_ci 6618c2ecf20Sopenharmony_ciconfig CHECK_STACK 6628c2ecf20Sopenharmony_ci def_bool y 6638c2ecf20Sopenharmony_ci depends on !VMAP_STACK 6648c2ecf20Sopenharmony_ci prompt "Detect kernel stack overflow" 6658c2ecf20Sopenharmony_ci help 6668c2ecf20Sopenharmony_ci This option enables the compiler option -mstack-guard and 6678c2ecf20Sopenharmony_ci -mstack-size if they are available. If the compiler supports them 6688c2ecf20Sopenharmony_ci it will emit additional code to each function prolog to trigger 6698c2ecf20Sopenharmony_ci an illegal operation if the kernel stack is about to overflow. 6708c2ecf20Sopenharmony_ci 6718c2ecf20Sopenharmony_ci Say N if you are unsure. 6728c2ecf20Sopenharmony_ci 6738c2ecf20Sopenharmony_ciconfig STACK_GUARD 6748c2ecf20Sopenharmony_ci int "Size of the guard area (128-1024)" 6758c2ecf20Sopenharmony_ci range 128 1024 6768c2ecf20Sopenharmony_ci depends on CHECK_STACK 6778c2ecf20Sopenharmony_ci default "256" 6788c2ecf20Sopenharmony_ci help 6798c2ecf20Sopenharmony_ci This allows you to specify the size of the guard area at the lower 6808c2ecf20Sopenharmony_ci end of the kernel stack. If the kernel stack points into the guard 6818c2ecf20Sopenharmony_ci area on function entry an illegal operation is triggered. The size 6828c2ecf20Sopenharmony_ci needs to be a power of 2. Please keep in mind that the size of an 6838c2ecf20Sopenharmony_ci interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. 6848c2ecf20Sopenharmony_ci The minimum size for the stack guard should be 256 for 31 bit and 6858c2ecf20Sopenharmony_ci 512 for 64 bit. 6868c2ecf20Sopenharmony_ci 6878c2ecf20Sopenharmony_ciconfig WARN_DYNAMIC_STACK 6888c2ecf20Sopenharmony_ci def_bool n 6898c2ecf20Sopenharmony_ci prompt "Emit compiler warnings for function with dynamic stack usage" 6908c2ecf20Sopenharmony_ci help 6918c2ecf20Sopenharmony_ci This option enables the compiler option -mwarn-dynamicstack. If the 6928c2ecf20Sopenharmony_ci compiler supports this options generates warnings for functions 6938c2ecf20Sopenharmony_ci that dynamically allocate stack space using alloca. 6948c2ecf20Sopenharmony_ci 6958c2ecf20Sopenharmony_ci Say N if you are unsure. 6968c2ecf20Sopenharmony_ci 6978c2ecf20Sopenharmony_ciendmenu 6988c2ecf20Sopenharmony_ci 6998c2ecf20Sopenharmony_cimenu "I/O subsystem" 7008c2ecf20Sopenharmony_ci 7018c2ecf20Sopenharmony_ciconfig QDIO 7028c2ecf20Sopenharmony_ci def_tristate y 7038c2ecf20Sopenharmony_ci prompt "QDIO support" 7048c2ecf20Sopenharmony_ci help 7058c2ecf20Sopenharmony_ci This driver provides the Queued Direct I/O base support for 7068c2ecf20Sopenharmony_ci IBM System z. 7078c2ecf20Sopenharmony_ci 7088c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 7098c2ecf20Sopenharmony_ci module will be called qdio. 7108c2ecf20Sopenharmony_ci 7118c2ecf20Sopenharmony_ci If unsure, say Y. 7128c2ecf20Sopenharmony_ci 7138c2ecf20Sopenharmony_ciif PCI 7148c2ecf20Sopenharmony_ci 7158c2ecf20Sopenharmony_ciconfig PCI_NR_FUNCTIONS 7168c2ecf20Sopenharmony_ci int "Maximum number of PCI functions (1-4096)" 7178c2ecf20Sopenharmony_ci range 1 4096 7188c2ecf20Sopenharmony_ci default "128" 7198c2ecf20Sopenharmony_ci help 7208c2ecf20Sopenharmony_ci This allows you to specify the maximum number of PCI functions which 7218c2ecf20Sopenharmony_ci this kernel will support. 7228c2ecf20Sopenharmony_ci 7238c2ecf20Sopenharmony_ciendif # PCI 7248c2ecf20Sopenharmony_ci 7258c2ecf20Sopenharmony_ciconfig HAS_IOMEM 7268c2ecf20Sopenharmony_ci def_bool PCI 7278c2ecf20Sopenharmony_ci 7288c2ecf20Sopenharmony_ciconfig CHSC_SCH 7298c2ecf20Sopenharmony_ci def_tristate m 7308c2ecf20Sopenharmony_ci prompt "Support for CHSC subchannels" 7318c2ecf20Sopenharmony_ci help 7328c2ecf20Sopenharmony_ci This driver allows usage of CHSC subchannels. A CHSC subchannel 7338c2ecf20Sopenharmony_ci is usually present on LPAR only. 7348c2ecf20Sopenharmony_ci The driver creates a device /dev/chsc, which may be used to 7358c2ecf20Sopenharmony_ci obtain I/O configuration information about the machine and 7368c2ecf20Sopenharmony_ci to issue asynchronous chsc commands (DANGEROUS). 7378c2ecf20Sopenharmony_ci You will usually only want to use this interface on a special 7388c2ecf20Sopenharmony_ci LPAR designated for system management. 7398c2ecf20Sopenharmony_ci 7408c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 7418c2ecf20Sopenharmony_ci module will be called chsc_sch. 7428c2ecf20Sopenharmony_ci 7438c2ecf20Sopenharmony_ci If unsure, say N. 7448c2ecf20Sopenharmony_ci 7458c2ecf20Sopenharmony_ciconfig SCM_BUS 7468c2ecf20Sopenharmony_ci def_bool y 7478c2ecf20Sopenharmony_ci prompt "SCM bus driver" 7488c2ecf20Sopenharmony_ci help 7498c2ecf20Sopenharmony_ci Bus driver for Storage Class Memory. 7508c2ecf20Sopenharmony_ci 7518c2ecf20Sopenharmony_ciconfig EADM_SCH 7528c2ecf20Sopenharmony_ci def_tristate m 7538c2ecf20Sopenharmony_ci prompt "Support for EADM subchannels" 7548c2ecf20Sopenharmony_ci depends on SCM_BUS 7558c2ecf20Sopenharmony_ci help 7568c2ecf20Sopenharmony_ci This driver allows usage of EADM subchannels. EADM subchannels act 7578c2ecf20Sopenharmony_ci as a communication vehicle for SCM increments. 7588c2ecf20Sopenharmony_ci 7598c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 7608c2ecf20Sopenharmony_ci module will be called eadm_sch. 7618c2ecf20Sopenharmony_ci 7628c2ecf20Sopenharmony_ciconfig VFIO_CCW 7638c2ecf20Sopenharmony_ci def_tristate n 7648c2ecf20Sopenharmony_ci prompt "Support for VFIO-CCW subchannels" 7658c2ecf20Sopenharmony_ci depends on S390_CCW_IOMMU && VFIO_MDEV 7668c2ecf20Sopenharmony_ci help 7678c2ecf20Sopenharmony_ci This driver allows usage of I/O subchannels via VFIO-CCW. 7688c2ecf20Sopenharmony_ci 7698c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the 7708c2ecf20Sopenharmony_ci module will be called vfio_ccw. 7718c2ecf20Sopenharmony_ci 7728c2ecf20Sopenharmony_ciconfig VFIO_AP 7738c2ecf20Sopenharmony_ci def_tristate n 7748c2ecf20Sopenharmony_ci prompt "VFIO support for AP devices" 7758c2ecf20Sopenharmony_ci depends on S390_AP_IOMMU && VFIO_MDEV_DEVICE && KVM 7768c2ecf20Sopenharmony_ci depends on ZCRYPT 7778c2ecf20Sopenharmony_ci help 7788c2ecf20Sopenharmony_ci This driver grants access to Adjunct Processor (AP) devices 7798c2ecf20Sopenharmony_ci via the VFIO mediated device interface. 7808c2ecf20Sopenharmony_ci 7818c2ecf20Sopenharmony_ci To compile this driver as a module, choose M here: the module 7828c2ecf20Sopenharmony_ci will be called vfio_ap. 7838c2ecf20Sopenharmony_ci 7848c2ecf20Sopenharmony_ciendmenu 7858c2ecf20Sopenharmony_ci 7868c2ecf20Sopenharmony_cimenu "Dump support" 7878c2ecf20Sopenharmony_ci 7888c2ecf20Sopenharmony_ciconfig CRASH_DUMP 7898c2ecf20Sopenharmony_ci bool "kernel crash dumps" 7908c2ecf20Sopenharmony_ci select KEXEC 7918c2ecf20Sopenharmony_ci help 7928c2ecf20Sopenharmony_ci Generate crash dump after being started by kexec. 7938c2ecf20Sopenharmony_ci Crash dump kernels are loaded in the main kernel with kexec-tools 7948c2ecf20Sopenharmony_ci into a specially reserved region and then later executed after 7958c2ecf20Sopenharmony_ci a crash by kdump/kexec. 7968c2ecf20Sopenharmony_ci Refer to <file:Documentation/s390/zfcpdump.rst> for more details on this. 7978c2ecf20Sopenharmony_ci This option also enables s390 zfcpdump. 7988c2ecf20Sopenharmony_ci See also <file:Documentation/s390/zfcpdump.rst> 7998c2ecf20Sopenharmony_ci 8008c2ecf20Sopenharmony_ciendmenu 8018c2ecf20Sopenharmony_ci 8028c2ecf20Sopenharmony_ciconfig CCW 8038c2ecf20Sopenharmony_ci def_bool y 8048c2ecf20Sopenharmony_ci 8058c2ecf20Sopenharmony_ciconfig HAVE_PNETID 8068c2ecf20Sopenharmony_ci tristate 8078c2ecf20Sopenharmony_ci default (SMC || CCWGROUP) 8088c2ecf20Sopenharmony_ci 8098c2ecf20Sopenharmony_cimenu "Virtualization" 8108c2ecf20Sopenharmony_ci 8118c2ecf20Sopenharmony_ciconfig PROTECTED_VIRTUALIZATION_GUEST 8128c2ecf20Sopenharmony_ci def_bool n 8138c2ecf20Sopenharmony_ci prompt "Protected virtualization guest support" 8148c2ecf20Sopenharmony_ci select ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS 8158c2ecf20Sopenharmony_ci help 8168c2ecf20Sopenharmony_ci Select this option, if you want to be able to run this 8178c2ecf20Sopenharmony_ci kernel as a protected virtualization KVM guest. 8188c2ecf20Sopenharmony_ci Protected virtualization capable machines have a mini hypervisor 8198c2ecf20Sopenharmony_ci located at machine level (an ultravisor). With help of the 8208c2ecf20Sopenharmony_ci Ultravisor, KVM will be able to run "protected" VMs, special 8218c2ecf20Sopenharmony_ci VMs whose memory and management data are unavailable to KVM. 8228c2ecf20Sopenharmony_ci 8238c2ecf20Sopenharmony_ciconfig PFAULT 8248c2ecf20Sopenharmony_ci def_bool y 8258c2ecf20Sopenharmony_ci prompt "Pseudo page fault support" 8268c2ecf20Sopenharmony_ci help 8278c2ecf20Sopenharmony_ci Select this option, if you want to use PFAULT pseudo page fault 8288c2ecf20Sopenharmony_ci handling under VM. If running native or in LPAR, this option 8298c2ecf20Sopenharmony_ci has no effect. If your VM does not support PFAULT, PAGEEX 8308c2ecf20Sopenharmony_ci pseudo page fault handling will be used. 8318c2ecf20Sopenharmony_ci Note that VM 4.2 supports PFAULT but has a bug in its 8328c2ecf20Sopenharmony_ci implementation that causes some problems. 8338c2ecf20Sopenharmony_ci Everybody who wants to run Linux under VM != VM4.2 should select 8348c2ecf20Sopenharmony_ci this option. 8358c2ecf20Sopenharmony_ci 8368c2ecf20Sopenharmony_ciconfig CMM 8378c2ecf20Sopenharmony_ci def_tristate n 8388c2ecf20Sopenharmony_ci prompt "Cooperative memory management" 8398c2ecf20Sopenharmony_ci help 8408c2ecf20Sopenharmony_ci Select this option, if you want to enable the kernel interface 8418c2ecf20Sopenharmony_ci to reduce the memory size of the system. This is accomplished 8428c2ecf20Sopenharmony_ci by allocating pages of memory and put them "on hold". This only 8438c2ecf20Sopenharmony_ci makes sense for a system running under VM where the unused pages 8448c2ecf20Sopenharmony_ci will be reused by VM for other guest systems. The interface 8458c2ecf20Sopenharmony_ci allows an external monitor to balance memory of many systems. 8468c2ecf20Sopenharmony_ci Everybody who wants to run Linux under VM should select this 8478c2ecf20Sopenharmony_ci option. 8488c2ecf20Sopenharmony_ci 8498c2ecf20Sopenharmony_ciconfig CMM_IUCV 8508c2ecf20Sopenharmony_ci def_bool y 8518c2ecf20Sopenharmony_ci prompt "IUCV special message interface to cooperative memory management" 8528c2ecf20Sopenharmony_ci depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) 8538c2ecf20Sopenharmony_ci help 8548c2ecf20Sopenharmony_ci Select this option to enable the special message interface to 8558c2ecf20Sopenharmony_ci the cooperative memory management. 8568c2ecf20Sopenharmony_ci 8578c2ecf20Sopenharmony_ciconfig APPLDATA_BASE 8588c2ecf20Sopenharmony_ci def_bool n 8598c2ecf20Sopenharmony_ci prompt "Linux - VM Monitor Stream, base infrastructure" 8608c2ecf20Sopenharmony_ci depends on PROC_SYSCTL 8618c2ecf20Sopenharmony_ci help 8628c2ecf20Sopenharmony_ci This provides a kernel interface for creating and updating z/VM APPLDATA 8638c2ecf20Sopenharmony_ci monitor records. The monitor records are updated at certain time 8648c2ecf20Sopenharmony_ci intervals, once the timer is started. 8658c2ecf20Sopenharmony_ci Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, 8668c2ecf20Sopenharmony_ci i.e. enables or disables monitoring on the Linux side. 8678c2ecf20Sopenharmony_ci A custom interval value (in seconds) can be written to 8688c2ecf20Sopenharmony_ci /proc/appldata/interval. 8698c2ecf20Sopenharmony_ci 8708c2ecf20Sopenharmony_ci Defaults are 60 seconds interval and timer off. 8718c2ecf20Sopenharmony_ci The /proc entries can also be read from, showing the current settings. 8728c2ecf20Sopenharmony_ci 8738c2ecf20Sopenharmony_ciconfig APPLDATA_MEM 8748c2ecf20Sopenharmony_ci def_tristate m 8758c2ecf20Sopenharmony_ci prompt "Monitor memory management statistics" 8768c2ecf20Sopenharmony_ci depends on APPLDATA_BASE && VM_EVENT_COUNTERS 8778c2ecf20Sopenharmony_ci help 8788c2ecf20Sopenharmony_ci This provides memory management related data to the Linux - VM Monitor 8798c2ecf20Sopenharmony_ci Stream, like paging/swapping rate, memory utilisation, etc. 8808c2ecf20Sopenharmony_ci Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM 8818c2ecf20Sopenharmony_ci APPLDATA monitor record, i.e. enables or disables monitoring this record 8828c2ecf20Sopenharmony_ci on the z/VM side. 8838c2ecf20Sopenharmony_ci 8848c2ecf20Sopenharmony_ci Default is disabled. 8858c2ecf20Sopenharmony_ci The /proc entry can also be read from, showing the current settings. 8868c2ecf20Sopenharmony_ci 8878c2ecf20Sopenharmony_ci This can also be compiled as a module, which will be called 8888c2ecf20Sopenharmony_ci appldata_mem.o. 8898c2ecf20Sopenharmony_ci 8908c2ecf20Sopenharmony_ciconfig APPLDATA_OS 8918c2ecf20Sopenharmony_ci def_tristate m 8928c2ecf20Sopenharmony_ci prompt "Monitor OS statistics" 8938c2ecf20Sopenharmony_ci depends on APPLDATA_BASE 8948c2ecf20Sopenharmony_ci help 8958c2ecf20Sopenharmony_ci This provides OS related data to the Linux - VM Monitor Stream, like 8968c2ecf20Sopenharmony_ci CPU utilisation, etc. 8978c2ecf20Sopenharmony_ci Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM 8988c2ecf20Sopenharmony_ci APPLDATA monitor record, i.e. enables or disables monitoring this record 8998c2ecf20Sopenharmony_ci on the z/VM side. 9008c2ecf20Sopenharmony_ci 9018c2ecf20Sopenharmony_ci Default is disabled. 9028c2ecf20Sopenharmony_ci This can also be compiled as a module, which will be called 9038c2ecf20Sopenharmony_ci appldata_os.o. 9048c2ecf20Sopenharmony_ci 9058c2ecf20Sopenharmony_ciconfig APPLDATA_NET_SUM 9068c2ecf20Sopenharmony_ci def_tristate m 9078c2ecf20Sopenharmony_ci prompt "Monitor overall network statistics" 9088c2ecf20Sopenharmony_ci depends on APPLDATA_BASE && NET 9098c2ecf20Sopenharmony_ci help 9108c2ecf20Sopenharmony_ci This provides network related data to the Linux - VM Monitor Stream, 9118c2ecf20Sopenharmony_ci currently there is only a total sum of network I/O statistics, no 9128c2ecf20Sopenharmony_ci per-interface data. 9138c2ecf20Sopenharmony_ci Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM 9148c2ecf20Sopenharmony_ci APPLDATA monitor record, i.e. enables or disables monitoring this record 9158c2ecf20Sopenharmony_ci on the z/VM side. 9168c2ecf20Sopenharmony_ci 9178c2ecf20Sopenharmony_ci Default is disabled. 9188c2ecf20Sopenharmony_ci This can also be compiled as a module, which will be called 9198c2ecf20Sopenharmony_ci appldata_net_sum.o. 9208c2ecf20Sopenharmony_ci 9218c2ecf20Sopenharmony_ciconfig S390_HYPFS_FS 9228c2ecf20Sopenharmony_ci def_bool y 9238c2ecf20Sopenharmony_ci prompt "s390 hypervisor file system support" 9248c2ecf20Sopenharmony_ci select SYS_HYPERVISOR 9258c2ecf20Sopenharmony_ci help 9268c2ecf20Sopenharmony_ci This is a virtual file system intended to provide accounting 9278c2ecf20Sopenharmony_ci information in an s390 hypervisor environment. 9288c2ecf20Sopenharmony_ci 9298c2ecf20Sopenharmony_cisource "arch/s390/kvm/Kconfig" 9308c2ecf20Sopenharmony_ci 9318c2ecf20Sopenharmony_ciconfig S390_GUEST 9328c2ecf20Sopenharmony_ci def_bool y 9338c2ecf20Sopenharmony_ci prompt "s390 support for virtio devices" 9348c2ecf20Sopenharmony_ci select TTY 9358c2ecf20Sopenharmony_ci select VIRTUALIZATION 9368c2ecf20Sopenharmony_ci select VIRTIO 9378c2ecf20Sopenharmony_ci help 9388c2ecf20Sopenharmony_ci Enabling this option adds support for virtio based paravirtual device 9398c2ecf20Sopenharmony_ci drivers on s390. 9408c2ecf20Sopenharmony_ci 9418c2ecf20Sopenharmony_ci Select this option if you want to run the kernel as a guest under 9428c2ecf20Sopenharmony_ci the KVM hypervisor. 9438c2ecf20Sopenharmony_ci 9448c2ecf20Sopenharmony_ciendmenu 9458c2ecf20Sopenharmony_ci 9468c2ecf20Sopenharmony_cimenu "Selftests" 9478c2ecf20Sopenharmony_ci 9488c2ecf20Sopenharmony_ciconfig S390_UNWIND_SELFTEST 9498c2ecf20Sopenharmony_ci def_tristate n 9508c2ecf20Sopenharmony_ci prompt "Test unwind functions" 9518c2ecf20Sopenharmony_ci help 9528c2ecf20Sopenharmony_ci This option enables s390 specific stack unwinder testing kernel 9538c2ecf20Sopenharmony_ci module. This option is not useful for distributions or general 9548c2ecf20Sopenharmony_ci kernels, but only for kernel developers working on architecture code. 9558c2ecf20Sopenharmony_ci 9568c2ecf20Sopenharmony_ci Say N if you are unsure. 9578c2ecf20Sopenharmony_ci 9588c2ecf20Sopenharmony_ciendmenu 959