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