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