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