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