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