1# SPDX-License-Identifier: GPL-2.0 2config MMU 3 def_bool y 4 5config ZONE_DMA 6 def_bool y 7 8config CPU_BIG_ENDIAN 9 def_bool y 10 11config LOCKDEP_SUPPORT 12 def_bool y 13 14config STACKTRACE_SUPPORT 15 def_bool y 16 17config RWSEM_GENERIC_SPINLOCK 18 bool 19 20config RWSEM_XCHGADD_ALGORITHM 21 def_bool y 22 23config ARCH_HAS_ILOG2_U32 24 def_bool n 25 26config ARCH_HAS_ILOG2_U64 27 def_bool n 28 29config GENERIC_HWEIGHT 30 def_bool y 31 32config GENERIC_BUG 33 def_bool y if BUG 34 35config GENERIC_BUG_RELATIVE_POINTERS 36 def_bool y 37 38config ARCH_DMA_ADDR_T_64BIT 39 def_bool y 40 41config GENERIC_LOCKBREAK 42 def_bool y if SMP && PREEMPT 43 44config PGSTE 45 def_bool y if KVM 46 47config ARCH_SUPPORTS_DEBUG_PAGEALLOC 48 def_bool y 49 50config KEXEC 51 def_bool y 52 select KEXEC_CORE 53 54config AUDIT_ARCH 55 def_bool y 56 57config NO_IOPORT_MAP 58 def_bool y 59 60config PCI_QUIRKS 61 def_bool n 62 63config ARCH_SUPPORTS_UPROBES 64 def_bool y 65 66config S390 67 def_bool y 68 select ARCH_BINFMT_ELF_STATE 69 select ARCH_HAS_DEVMEM_IS_ALLOWED 70 select ARCH_HAS_ELF_RANDOMIZE 71 select ARCH_HAS_FORTIFY_SOURCE 72 select ARCH_HAS_GCOV_PROFILE_ALL 73 select ARCH_HAS_GIGANTIC_PAGE if (MEMORY_ISOLATION && COMPACTION) || CMA 74 select ARCH_HAS_KCOV 75 select ARCH_HAS_SET_MEMORY 76 select ARCH_HAS_SG_CHAIN 77 select ARCH_HAS_STRICT_KERNEL_RWX 78 select ARCH_HAS_STRICT_MODULE_RWX 79 select ARCH_HAS_UBSAN_SANITIZE_ALL 80 select ARCH_HAVE_NMI_SAFE_CMPXCHG 81 select ARCH_INLINE_READ_LOCK 82 select ARCH_INLINE_READ_LOCK_BH 83 select ARCH_INLINE_READ_LOCK_IRQ 84 select ARCH_INLINE_READ_LOCK_IRQSAVE 85 select ARCH_INLINE_READ_TRYLOCK 86 select ARCH_INLINE_READ_UNLOCK 87 select ARCH_INLINE_READ_UNLOCK_BH 88 select ARCH_INLINE_READ_UNLOCK_IRQ 89 select ARCH_INLINE_READ_UNLOCK_IRQRESTORE 90 select ARCH_INLINE_SPIN_LOCK 91 select ARCH_INLINE_SPIN_LOCK_BH 92 select ARCH_INLINE_SPIN_LOCK_IRQ 93 select ARCH_INLINE_SPIN_LOCK_IRQSAVE 94 select ARCH_INLINE_SPIN_TRYLOCK 95 select ARCH_INLINE_SPIN_TRYLOCK_BH 96 select ARCH_INLINE_SPIN_UNLOCK 97 select ARCH_INLINE_SPIN_UNLOCK_BH 98 select ARCH_INLINE_SPIN_UNLOCK_IRQ 99 select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE 100 select ARCH_INLINE_WRITE_LOCK 101 select ARCH_INLINE_WRITE_LOCK_BH 102 select ARCH_INLINE_WRITE_LOCK_IRQ 103 select ARCH_INLINE_WRITE_LOCK_IRQSAVE 104 select ARCH_INLINE_WRITE_TRYLOCK 105 select ARCH_INLINE_WRITE_UNLOCK 106 select ARCH_INLINE_WRITE_UNLOCK_BH 107 select ARCH_INLINE_WRITE_UNLOCK_IRQ 108 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 109 select ARCH_SAVE_PAGE_KEYS if HIBERNATION 110 select ARCH_SUPPORTS_ATOMIC_RMW 111 select ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT 112 select ARCH_SUPPORTS_NUMA_BALANCING 113 select ARCH_USE_BUILTIN_BSWAP 114 select ARCH_USE_CMPXCHG_LOCKREF 115 select ARCH_WANTS_DYNAMIC_TASK_STRUCT 116 select ARCH_WANTS_PROT_NUMA_PROT_NONE 117 select ARCH_WANTS_UBSAN_NO_NULL 118 select ARCH_WANT_IPC_PARSE_VERSION 119 select BUILDTIME_EXTABLE_SORT 120 select CLONE_BACKWARDS2 121 select DYNAMIC_FTRACE if FUNCTION_TRACER 122 select GENERIC_CLOCKEVENTS 123 select GENERIC_CPU_AUTOPROBE 124 select GENERIC_CPU_DEVICES if !SMP 125 select GENERIC_FIND_FIRST_BIT 126 select GENERIC_SMP_IDLE_THREAD 127 select GENERIC_TIME_VSYSCALL 128 select HAVE_ALIGNED_STRUCT_PAGE if SLUB 129 select HAVE_ARCH_AUDITSYSCALL 130 select HAVE_ARCH_JUMP_LABEL 131 select CPU_NO_EFFICIENT_FFS if !HAVE_MARCH_Z9_109_FEATURES 132 select HAVE_ARCH_SECCOMP_FILTER 133 select HAVE_ARCH_SOFT_DIRTY 134 select HAVE_ARCH_TRACEHOOK 135 select HAVE_ARCH_TRANSPARENT_HUGEPAGE 136 select HAVE_EBPF_JIT if PACK_STACK && HAVE_MARCH_Z196_FEATURES 137 select HAVE_CMPXCHG_DOUBLE 138 select HAVE_CMPXCHG_LOCAL 139 select HAVE_COPY_THREAD_TLS 140 select HAVE_DEBUG_KMEMLEAK 141 select HAVE_DMA_API_DEBUG 142 select HAVE_DMA_CONTIGUOUS 143 select DMA_NOOP_OPS 144 select HAVE_DYNAMIC_FTRACE 145 select HAVE_DYNAMIC_FTRACE_WITH_REGS 146 select HAVE_EFFICIENT_UNALIGNED_ACCESS 147 select HAVE_FTRACE_MCOUNT_RECORD 148 select HAVE_FUNCTION_GRAPH_TRACER 149 select HAVE_FUNCTION_TRACER 150 select HAVE_FUTEX_CMPXCHG if FUTEX 151 select HAVE_GCC_PLUGINS 152 select HAVE_KERNEL_BZIP2 153 select HAVE_KERNEL_GZIP 154 select HAVE_KERNEL_LZ4 155 select HAVE_KERNEL_LZMA 156 select HAVE_KERNEL_LZO 157 select HAVE_KERNEL_XZ 158 select HAVE_KPROBES 159 select HAVE_KRETPROBES 160 select HAVE_KVM 161 select HAVE_LIVEPATCH 162 select HAVE_PERF_REGS 163 select HAVE_PERF_USER_STACK_DUMP 164 select HAVE_MEMBLOCK 165 select HAVE_MEMBLOCK_NODE_MAP 166 select HAVE_MEMBLOCK_PHYS_MAP 167 select HAVE_MOD_ARCH_SPECIFIC 168 select HAVE_OPROFILE 169 select HAVE_PERF_EVENTS 170 select HAVE_REGS_AND_STACK_ACCESS_API 171 select HAVE_SYSCALL_TRACEPOINTS 172 select HAVE_VIRT_CPU_ACCOUNTING 173 select MODULES_USE_ELF_RELA 174 select NO_BOOTMEM 175 select OLD_SIGACTION 176 select OLD_SIGSUSPEND3 177 select SPARSE_IRQ 178 select SYSCTL_EXCEPTION_TRACE 179 select THREAD_INFO_IN_TASK 180 select TTY 181 select VIRT_CPU_ACCOUNTING 182 select ARCH_HAS_SCALED_CPUTIME 183 select VIRT_TO_BUS 184 select HAVE_NMI 185 186 187config SCHED_OMIT_FRAME_POINTER 188 def_bool y 189 190config PGTABLE_LEVELS 191 int 192 default 5 193 194source "init/Kconfig" 195 196source "kernel/Kconfig.freezer" 197 198source "kernel/livepatch/Kconfig" 199 200menu "Processor type and features" 201 202config HAVE_MARCH_Z900_FEATURES 203 def_bool n 204 205config HAVE_MARCH_Z990_FEATURES 206 def_bool n 207 select HAVE_MARCH_Z900_FEATURES 208 209config HAVE_MARCH_Z9_109_FEATURES 210 def_bool n 211 select HAVE_MARCH_Z990_FEATURES 212 213config HAVE_MARCH_Z10_FEATURES 214 def_bool n 215 select HAVE_MARCH_Z9_109_FEATURES 216 217config HAVE_MARCH_Z196_FEATURES 218 def_bool n 219 select HAVE_MARCH_Z10_FEATURES 220 221config HAVE_MARCH_ZEC12_FEATURES 222 def_bool n 223 select HAVE_MARCH_Z196_FEATURES 224 225config HAVE_MARCH_Z13_FEATURES 226 def_bool n 227 select HAVE_MARCH_ZEC12_FEATURES 228 229config HAVE_MARCH_Z14_FEATURES 230 def_bool n 231 select HAVE_MARCH_Z13_FEATURES 232 233choice 234 prompt "Processor type" 235 default MARCH_Z196 236 237config MARCH_Z900 238 bool "IBM zSeries model z800 and z900" 239 select HAVE_MARCH_Z900_FEATURES 240 help 241 Select this to enable optimizations for model z800/z900 (2064 and 242 2066 series). This will enable some optimizations that are not 243 available on older ESA/390 (31 Bit) only CPUs. 244 245config MARCH_Z990 246 bool "IBM zSeries model z890 and z990" 247 select HAVE_MARCH_Z990_FEATURES 248 help 249 Select this to enable optimizations for model z890/z990 (2084 and 250 2086 series). The kernel will be slightly faster but will not work 251 on older machines. 252 253config MARCH_Z9_109 254 bool "IBM System z9" 255 select HAVE_MARCH_Z9_109_FEATURES 256 help 257 Select this to enable optimizations for IBM System z9 (2094 and 258 2096 series). The kernel will be slightly faster but will not work 259 on older machines. 260 261config MARCH_Z10 262 bool "IBM System z10" 263 select HAVE_MARCH_Z10_FEATURES 264 help 265 Select this to enable optimizations for IBM System z10 (2097 and 266 2098 series). The kernel will be slightly faster but will not work 267 on older machines. 268 269config MARCH_Z196 270 bool "IBM zEnterprise 114 and 196" 271 select HAVE_MARCH_Z196_FEATURES 272 help 273 Select this to enable optimizations for IBM zEnterprise 114 and 196 274 (2818 and 2817 series). The kernel will be slightly faster but will 275 not work on older machines. 276 277config MARCH_ZEC12 278 bool "IBM zBC12 and zEC12" 279 select HAVE_MARCH_ZEC12_FEATURES 280 help 281 Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and 282 2827 series). The kernel will be slightly faster but will not work on 283 older machines. 284 285config MARCH_Z13 286 bool "IBM z13s and z13" 287 select HAVE_MARCH_Z13_FEATURES 288 help 289 Select this to enable optimizations for IBM z13s and z13 (2965 and 290 2964 series). The kernel will be slightly faster but will not work on 291 older machines. 292 293config MARCH_Z14 294 bool "IBM z14" 295 select HAVE_MARCH_Z14_FEATURES 296 help 297 Select this to enable optimizations for IBM z14 (3906 series). 298 The kernel will be slightly faster but will not work on older 299 machines. 300 301endchoice 302 303config MARCH_Z900_TUNE 304 def_bool TUNE_Z900 || MARCH_Z900 && TUNE_DEFAULT 305 306config MARCH_Z990_TUNE 307 def_bool TUNE_Z990 || MARCH_Z990 && TUNE_DEFAULT 308 309config MARCH_Z9_109_TUNE 310 def_bool TUNE_Z9_109 || MARCH_Z9_109 && TUNE_DEFAULT 311 312config MARCH_Z10_TUNE 313 def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT 314 315config MARCH_Z196_TUNE 316 def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT 317 318config MARCH_ZEC12_TUNE 319 def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT 320 321config MARCH_Z13_TUNE 322 def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT 323 324config MARCH_Z14_TUNE 325 def_bool TUNE_Z14 || MARCH_Z14 && TUNE_DEFAULT 326 327choice 328 prompt "Tune code generation" 329 default TUNE_DEFAULT 330 help 331 Cause the compiler to tune (-mtune) the generated code for a machine. 332 This will make the code run faster on the selected machine but 333 somewhat slower on other machines. 334 This option only changes how the compiler emits instructions, not the 335 selection of instructions itself, so the resulting kernel will run on 336 all other machines. 337 338config TUNE_DEFAULT 339 bool "Default" 340 help 341 Tune the generated code for the target processor for which the kernel 342 will be compiled. 343 344config TUNE_Z900 345 bool "IBM zSeries model z800 and z900" 346 347config TUNE_Z990 348 bool "IBM zSeries model z890 and z990" 349 350config TUNE_Z9_109 351 bool "IBM System z9" 352 353config TUNE_Z10 354 bool "IBM System z10" 355 356config TUNE_Z196 357 bool "IBM zEnterprise 114 and 196" 358 359config TUNE_ZEC12 360 bool "IBM zBC12 and zEC12" 361 362config TUNE_Z13 363 bool "IBM z13" 364 365config TUNE_Z14 366 bool "IBM z14" 367 368endchoice 369 370config 64BIT 371 def_bool y 372 373config COMPAT 374 def_bool y 375 prompt "Kernel support for 31 bit emulation" 376 select COMPAT_BINFMT_ELF if BINFMT_ELF 377 select ARCH_WANT_OLD_COMPAT_IPC 378 select COMPAT_OLD_SIGACTION 379 depends on MULTIUSER 380 help 381 Select this option if you want to enable your system kernel to 382 handle system-calls from ELF binaries for 31 bit ESA. This option 383 (and some other stuff like libraries and such) is needed for 384 executing 31 bit applications. It is safe to say "Y". 385 386config SYSVIPC_COMPAT 387 def_bool y if COMPAT && SYSVIPC 388 389config SMP 390 def_bool y 391 prompt "Symmetric multi-processing support" 392 ---help--- 393 This enables support for systems with more than one CPU. If you have 394 a system with only one CPU, like most personal computers, say N. If 395 you have a system with more than one CPU, say Y. 396 397 If you say N here, the kernel will run on uni- and multiprocessor 398 machines, but will use only one CPU of a multiprocessor machine. If 399 you say Y here, the kernel will run on many, but not all, 400 uniprocessor machines. On a uniprocessor machine, the kernel 401 will run faster if you say N here. 402 403 See also the SMP-HOWTO available at 404 <http://www.tldp.org/docs.html#howto>. 405 406 Even if you don't know what to do here, say Y. 407 408config NR_CPUS 409 int "Maximum number of CPUs (2-512)" 410 range 2 512 411 depends on SMP 412 default "64" 413 help 414 This allows you to specify the maximum number of CPUs which this 415 kernel will support. The maximum supported value is 512 and the 416 minimum value which makes sense is 2. 417 418 This is purely to save memory - each supported CPU adds 419 approximately sixteen kilobytes to the kernel image. 420 421config HOTPLUG_CPU 422 def_bool y 423 prompt "Support for hot-pluggable CPUs" 424 depends on SMP 425 help 426 Say Y here to be able to turn CPUs off and on. CPUs 427 can be controlled through /sys/devices/system/cpu/cpu#. 428 Say N if you want to disable CPU hotplug. 429 430# Some NUMA nodes have memory ranges that span 431# other nodes. Even though a pfn is valid and 432# between a node's start and end pfns, it may not 433# reside on that node. See memmap_init_zone() 434# for details. <- They meant memory holes! 435config NODES_SPAN_OTHER_NODES 436 def_bool NUMA 437 438config NUMA 439 bool "NUMA support" 440 depends on SMP && SCHED_TOPOLOGY 441 default n 442 help 443 Enable NUMA support 444 445 This option adds NUMA support to the kernel. 446 447 An operation mode can be selected by appending 448 numa=<method> to the kernel command line. 449 450 The default behaviour is identical to appending numa=plain to 451 the command line. This will create just one node with all 452 available memory and all CPUs in it. 453 454config NODES_SHIFT 455 int "Maximum NUMA nodes (as a power of 2)" 456 range 1 10 457 depends on NUMA 458 default "4" 459 help 460 Specify the maximum number of NUMA nodes available on the target 461 system. Increases memory reserved to accommodate various tables. 462 463menu "Select NUMA modes" 464 depends on NUMA 465 466config NUMA_EMU 467 bool "NUMA emulation" 468 default y 469 help 470 Numa emulation mode will split the available system memory into 471 equal chunks which then are distributed over the configured number 472 of nodes in a round-robin manner. 473 474 The number of fake nodes is limited by the number of available memory 475 chunks (i.e. memory size / fake size) and the number of supported 476 nodes in the kernel. 477 478 The CPUs are assigned to the nodes in a way that partially respects 479 the original machine topology (if supported by the machine). 480 Fair distribution of the CPUs is not guaranteed. 481 482config EMU_SIZE 483 hex "NUMA emulation memory chunk size" 484 default 0x10000000 485 range 0x400000 0x100000000 486 depends on NUMA_EMU 487 help 488 Select the default size by which the memory is chopped and then 489 assigned to emulated NUMA nodes. 490 491 This can be overridden by specifying 492 493 emu_size=<n> 494 495 on the kernel command line where also suffixes K, M, G, and T are 496 supported. 497 498endmenu 499 500config SCHED_SMT 501 def_bool n 502 503config SCHED_MC 504 def_bool n 505 506config SCHED_BOOK 507 def_bool n 508 509config SCHED_DRAWER 510 def_bool n 511 512config SCHED_TOPOLOGY 513 def_bool y 514 prompt "Topology scheduler support" 515 depends on SMP 516 select SCHED_SMT 517 select SCHED_MC 518 select SCHED_BOOK 519 select SCHED_DRAWER 520 help 521 Topology scheduler support improves the CPU scheduler's decision 522 making when dealing with machines that have multi-threading, 523 multiple cores or multiple books. 524 525source kernel/Kconfig.preempt 526 527source kernel/Kconfig.hz 528 529config ARCH_RANDOM 530 def_bool y 531 prompt "s390 architectural random number generation API" 532 help 533 Enable the s390 architectural random number generation API 534 to provide random data for all consumers within the Linux 535 kernel. 536 537 When enabled the arch_random_* functions declared in linux/random.h 538 are implemented. The implementation is based on the s390 CPACF 539 instruction subfunction TRNG which provides a real true random 540 number generator. 541 542 If unsure, say Y. 543 544endmenu 545 546menu "Memory setup" 547 548config ARCH_SPARSEMEM_ENABLE 549 def_bool y 550 select SPARSEMEM_VMEMMAP_ENABLE 551 select SPARSEMEM_VMEMMAP 552 553config ARCH_SPARSEMEM_DEFAULT 554 def_bool y 555 556config ARCH_SELECT_MEMORY_MODEL 557 def_bool y 558 559config ARCH_ENABLE_MEMORY_HOTPLUG 560 def_bool y if SPARSEMEM 561 562config ARCH_ENABLE_MEMORY_HOTREMOVE 563 def_bool y 564 565config ARCH_ENABLE_SPLIT_PMD_PTLOCK 566 def_bool y 567 568config FORCE_MAX_ZONEORDER 569 int 570 default "9" 571 572source "mm/Kconfig" 573 574config MAX_PHYSMEM_BITS 575 int "Maximum size of supported physical memory in bits (42-53)" 576 range 42 53 577 default "46" 578 help 579 This option specifies the maximum supported size of physical memory 580 in bits. Supported is any size between 2^42 (4TB) and 2^53 (8PB). 581 Increasing the number of bits also increases the kernel image size. 582 By default 46 bits (64TB) are supported. 583 584config PACK_STACK 585 def_bool y 586 prompt "Pack kernel stack" 587 help 588 This option enables the compiler option -mkernel-backchain if it 589 is available. If the option is available the compiler supports 590 the new stack layout which dramatically reduces the minimum stack 591 frame size. With an old compiler a non-leaf function needs a 592 minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With 593 -mkernel-backchain the minimum size drops to 16 byte on 31 bit 594 and 24 byte on 64 bit. 595 596 Say Y if you are unsure. 597 598config CHECK_STACK 599 def_bool y 600 prompt "Detect kernel stack overflow" 601 help 602 This option enables the compiler option -mstack-guard and 603 -mstack-size if they are available. If the compiler supports them 604 it will emit additional code to each function prolog to trigger 605 an illegal operation if the kernel stack is about to overflow. 606 607 Say N if you are unsure. 608 609config STACK_GUARD 610 int "Size of the guard area (128-1024)" 611 range 128 1024 612 depends on CHECK_STACK 613 default "256" 614 help 615 This allows you to specify the size of the guard area at the lower 616 end of the kernel stack. If the kernel stack points into the guard 617 area on function entry an illegal operation is triggered. The size 618 needs to be a power of 2. Please keep in mind that the size of an 619 interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. 620 The minimum size for the stack guard should be 256 for 31 bit and 621 512 for 64 bit. 622 623config WARN_DYNAMIC_STACK 624 def_bool n 625 prompt "Emit compiler warnings for function with dynamic stack usage" 626 help 627 This option enables the compiler option -mwarn-dynamicstack. If the 628 compiler supports this options generates warnings for functions 629 that dynamically allocate stack space using alloca. 630 631 Say N if you are unsure. 632 633endmenu 634 635menu "I/O subsystem" 636 637config QDIO 638 def_tristate y 639 prompt "QDIO support" 640 ---help--- 641 This driver provides the Queued Direct I/O base support for 642 IBM System z. 643 644 To compile this driver as a module, choose M here: the 645 module will be called qdio. 646 647 If unsure, say Y. 648 649menuconfig PCI 650 bool "PCI support" 651 select PCI_MSI 652 select IOMMU_SUPPORT 653 help 654 Enable PCI support. 655 656if PCI 657 658config PCI_NR_FUNCTIONS 659 int "Maximum number of PCI functions (1-4096)" 660 range 1 4096 661 default "128" 662 help 663 This allows you to specify the maximum number of PCI functions which 664 this kernel will support. 665 666source "drivers/pci/Kconfig" 667 668endif # PCI 669 670config PCI_DOMAINS 671 def_bool PCI 672 673config HAS_IOMEM 674 def_bool PCI 675 676config IOMMU_HELPER 677 def_bool PCI 678 679config NEED_SG_DMA_LENGTH 680 def_bool PCI 681 682config NEED_DMA_MAP_STATE 683 def_bool PCI 684 685config CHSC_SCH 686 def_tristate m 687 prompt "Support for CHSC subchannels" 688 help 689 This driver allows usage of CHSC subchannels. A CHSC subchannel 690 is usually present on LPAR only. 691 The driver creates a device /dev/chsc, which may be used to 692 obtain I/O configuration information about the machine and 693 to issue asynchronous chsc commands (DANGEROUS). 694 You will usually only want to use this interface on a special 695 LPAR designated for system management. 696 697 To compile this driver as a module, choose M here: the 698 module will be called chsc_sch. 699 700 If unsure, say N. 701 702config SCM_BUS 703 def_bool y 704 prompt "SCM bus driver" 705 help 706 Bus driver for Storage Class Memory. 707 708config EADM_SCH 709 def_tristate m 710 prompt "Support for EADM subchannels" 711 depends on SCM_BUS 712 help 713 This driver allows usage of EADM subchannels. EADM subchannels act 714 as a communication vehicle for SCM increments. 715 716 To compile this driver as a module, choose M here: the 717 module will be called eadm_sch. 718 719config VFIO_CCW 720 def_tristate n 721 prompt "Support for VFIO-CCW subchannels" 722 depends on S390_CCW_IOMMU && VFIO_MDEV 723 help 724 This driver allows usage of I/O subchannels via VFIO-CCW. 725 726 To compile this driver as a module, choose M here: the 727 module will be called vfio_ccw. 728 729endmenu 730 731menu "Dump support" 732 733config CRASH_DUMP 734 bool "kernel crash dumps" 735 depends on SMP 736 select KEXEC 737 help 738 Generate crash dump after being started by kexec. 739 Crash dump kernels are loaded in the main kernel with kexec-tools 740 into a specially reserved region and then later executed after 741 a crash by kdump/kexec. 742 Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this. 743 This option also enables s390 zfcpdump. 744 See also <file:Documentation/s390/zfcpdump.txt> 745 746endmenu 747 748menu "Executable file formats / Emulations" 749 750source "fs/Kconfig.binfmt" 751 752config SECCOMP 753 def_bool y 754 prompt "Enable seccomp to safely compute untrusted bytecode" 755 depends on PROC_FS 756 help 757 This kernel feature is useful for number crunching applications 758 that may need to compute untrusted bytecode during their 759 execution. By using pipes or other transports made available to 760 the process as file descriptors supporting the read/write 761 syscalls, it's possible to isolate those applications in 762 their own address space using seccomp. Once seccomp is 763 enabled via /proc/<pid>/seccomp, it cannot be disabled 764 and the task is only allowed to execute a few safe syscalls 765 defined by each seccomp mode. 766 767 If unsure, say Y. 768 769endmenu 770 771menu "Power Management" 772 773config ARCH_HIBERNATION_POSSIBLE 774 def_bool y 775 776source "kernel/power/Kconfig" 777 778endmenu 779 780source "net/Kconfig" 781 782config PCMCIA 783 def_bool n 784 785config CCW 786 def_bool y 787 788source "drivers/Kconfig" 789 790source "fs/Kconfig" 791 792source "arch/s390/Kconfig.debug" 793 794source "security/Kconfig" 795 796source "crypto/Kconfig" 797 798source "lib/Kconfig" 799 800menu "Virtualization" 801 802config PFAULT 803 def_bool y 804 prompt "Pseudo page fault support" 805 help 806 Select this option, if you want to use PFAULT pseudo page fault 807 handling under VM. If running native or in LPAR, this option 808 has no effect. If your VM does not support PFAULT, PAGEEX 809 pseudo page fault handling will be used. 810 Note that VM 4.2 supports PFAULT but has a bug in its 811 implementation that causes some problems. 812 Everybody who wants to run Linux under VM != VM4.2 should select 813 this option. 814 815config CMM 816 def_tristate n 817 prompt "Cooperative memory management" 818 help 819 Select this option, if you want to enable the kernel interface 820 to reduce the memory size of the system. This is accomplished 821 by allocating pages of memory and put them "on hold". This only 822 makes sense for a system running under VM where the unused pages 823 will be reused by VM for other guest systems. The interface 824 allows an external monitor to balance memory of many systems. 825 Everybody who wants to run Linux under VM should select this 826 option. 827 828config CMM_IUCV 829 def_bool y 830 prompt "IUCV special message interface to cooperative memory management" 831 depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) 832 help 833 Select this option to enable the special message interface to 834 the cooperative memory management. 835 836config APPLDATA_BASE 837 def_bool n 838 prompt "Linux - VM Monitor Stream, base infrastructure" 839 depends on PROC_FS 840 help 841 This provides a kernel interface for creating and updating z/VM APPLDATA 842 monitor records. The monitor records are updated at certain time 843 intervals, once the timer is started. 844 Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, 845 i.e. enables or disables monitoring on the Linux side. 846 A custom interval value (in seconds) can be written to 847 /proc/appldata/interval. 848 849 Defaults are 60 seconds interval and timer off. 850 The /proc entries can also be read from, showing the current settings. 851 852config APPLDATA_MEM 853 def_tristate m 854 prompt "Monitor memory management statistics" 855 depends on APPLDATA_BASE && VM_EVENT_COUNTERS 856 help 857 This provides memory management related data to the Linux - VM Monitor 858 Stream, like paging/swapping rate, memory utilisation, etc. 859 Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM 860 APPLDATA monitor record, i.e. enables or disables monitoring this record 861 on the z/VM side. 862 863 Default is disabled. 864 The /proc entry can also be read from, showing the current settings. 865 866 This can also be compiled as a module, which will be called 867 appldata_mem.o. 868 869config APPLDATA_OS 870 def_tristate m 871 prompt "Monitor OS statistics" 872 depends on APPLDATA_BASE 873 help 874 This provides OS related data to the Linux - VM Monitor Stream, like 875 CPU utilisation, etc. 876 Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM 877 APPLDATA monitor record, i.e. enables or disables monitoring this record 878 on the z/VM side. 879 880 Default is disabled. 881 This can also be compiled as a module, which will be called 882 appldata_os.o. 883 884config APPLDATA_NET_SUM 885 def_tristate m 886 prompt "Monitor overall network statistics" 887 depends on APPLDATA_BASE && NET 888 help 889 This provides network related data to the Linux - VM Monitor Stream, 890 currently there is only a total sum of network I/O statistics, no 891 per-interface data. 892 Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM 893 APPLDATA monitor record, i.e. enables or disables monitoring this record 894 on the z/VM side. 895 896 Default is disabled. 897 This can also be compiled as a module, which will be called 898 appldata_net_sum.o. 899 900config S390_HYPFS_FS 901 def_bool y 902 prompt "s390 hypervisor file system support" 903 select SYS_HYPERVISOR 904 help 905 This is a virtual file system intended to provide accounting 906 information in an s390 hypervisor environment. 907 908source "arch/s390/kvm/Kconfig" 909 910config S390_GUEST 911 def_bool y 912 prompt "s390 support for virtio devices" 913 select TTY 914 select VIRTUALIZATION 915 select VIRTIO 916 select VIRTIO_CONSOLE 917 help 918 Enabling this option adds support for virtio based paravirtual device 919 drivers on s390. 920 921 Select this option if you want to run the kernel as a guest under 922 the KVM hypervisor. 923 924endmenu 925