1config MMU 2 def_bool y 3 4config ZONE_DMA 5 def_bool y 6 7config LOCKDEP_SUPPORT 8 def_bool y 9 10config STACKTRACE_SUPPORT 11 def_bool y 12 13config HAVE_LATENCYTOP_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 64BIT 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 52config AUDIT_ARCH 53 def_bool y 54 55config NO_IOPORT 56 def_bool y 57 58config PCI_QUIRKS 59 def_bool n 60 61config S390 62 def_bool y 63 select USE_GENERIC_SMP_HELPERS if SMP 64 select GENERIC_CPU_DEVICES if !SMP 65 select HAVE_SYSCALL_WRAPPERS 66 select HAVE_FUNCTION_TRACER 67 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 68 select HAVE_FTRACE_MCOUNT_RECORD 69 select HAVE_C_RECORDMCOUNT 70 select HAVE_SYSCALL_TRACEPOINTS 71 select SYSCTL_EXCEPTION_TRACE 72 select HAVE_DYNAMIC_FTRACE 73 select HAVE_FUNCTION_GRAPH_TRACER 74 select HAVE_REGS_AND_STACK_ACCESS_API 75 select HAVE_OPROFILE 76 select HAVE_KPROBES 77 select HAVE_KRETPROBES 78 select HAVE_KVM if 64BIT 79 select HAVE_ARCH_TRACEHOOK 80 select INIT_ALL_POSSIBLE 81 select HAVE_IRQ_WORK 82 select HAVE_PERF_EVENTS 83 select ARCH_HAVE_NMI_SAFE_CMPXCHG 84 select HAVE_DEBUG_KMEMLEAK 85 select HAVE_KERNEL_GZIP 86 select HAVE_KERNEL_BZIP2 87 select HAVE_KERNEL_LZMA 88 select HAVE_KERNEL_LZO 89 select HAVE_KERNEL_XZ 90 select HAVE_ARCH_MUTEX_CPU_RELAX 91 select HAVE_ARCH_JUMP_LABEL if !MARCH_G5 92 select HAVE_BPF_JIT if 64BIT && PACK_STACK 93 select ARCH_SAVE_PAGE_KEYS if HIBERNATION 94 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 95 select HAVE_MEMBLOCK 96 select HAVE_MEMBLOCK_NODE_MAP 97 select HAVE_CMPXCHG_LOCAL 98 select HAVE_CMPXCHG_DOUBLE 99 select HAVE_ALIGNED_STRUCT_PAGE if SLUB 100 select HAVE_VIRT_CPU_ACCOUNTING 101 select VIRT_CPU_ACCOUNTING 102 select ARCH_DISCARD_MEMBLOCK 103 select BUILDTIME_EXTABLE_SORT 104 select ARCH_INLINE_SPIN_TRYLOCK 105 select ARCH_INLINE_SPIN_TRYLOCK_BH 106 select ARCH_INLINE_SPIN_LOCK 107 select ARCH_INLINE_SPIN_LOCK_BH 108 select ARCH_INLINE_SPIN_LOCK_IRQ 109 select ARCH_INLINE_SPIN_LOCK_IRQSAVE 110 select ARCH_INLINE_SPIN_UNLOCK 111 select ARCH_INLINE_SPIN_UNLOCK_BH 112 select ARCH_INLINE_SPIN_UNLOCK_IRQ 113 select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE 114 select ARCH_INLINE_READ_TRYLOCK 115 select ARCH_INLINE_READ_LOCK 116 select ARCH_INLINE_READ_LOCK_BH 117 select ARCH_INLINE_READ_LOCK_IRQ 118 select ARCH_INLINE_READ_LOCK_IRQSAVE 119 select ARCH_INLINE_READ_UNLOCK 120 select ARCH_INLINE_READ_UNLOCK_BH 121 select ARCH_INLINE_READ_UNLOCK_IRQ 122 select ARCH_INLINE_READ_UNLOCK_IRQRESTORE 123 select ARCH_INLINE_WRITE_TRYLOCK 124 select ARCH_INLINE_WRITE_LOCK 125 select ARCH_INLINE_WRITE_LOCK_BH 126 select ARCH_INLINE_WRITE_LOCK_IRQ 127 select ARCH_INLINE_WRITE_LOCK_IRQSAVE 128 select ARCH_INLINE_WRITE_UNLOCK 129 select ARCH_INLINE_WRITE_UNLOCK_BH 130 select ARCH_INLINE_WRITE_UNLOCK_IRQ 131 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 132 select HAVE_UID16 if 32BIT 133 select ARCH_WANT_IPC_PARSE_VERSION 134 select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT 135 select GENERIC_SMP_IDLE_THREAD 136 select GENERIC_TIME_VSYSCALL_OLD 137 select GENERIC_CLOCKEVENTS 138 select KTIME_SCALAR if 32BIT 139 select HAVE_ARCH_SECCOMP_FILTER 140 select GENERIC_KERNEL_THREAD 141 select GENERIC_KERNEL_EXECVE 142 select HAVE_MOD_ARCH_SPECIFIC 143 select MODULES_USE_ELF_RELA 144 select CLONE_BACKWARDS2 145 146config SCHED_OMIT_FRAME_POINTER 147 def_bool y 148 149source "init/Kconfig" 150 151source "kernel/Kconfig.freezer" 152 153menu "Processor type and features" 154 155config HAVE_MARCH_Z900_FEATURES 156 def_bool n 157 158config HAVE_MARCH_Z990_FEATURES 159 def_bool n 160 select HAVE_MARCH_Z900_FEATURES 161 162config HAVE_MARCH_Z9_109_FEATURES 163 def_bool n 164 select HAVE_MARCH_Z990_FEATURES 165 166config HAVE_MARCH_Z10_FEATURES 167 def_bool n 168 select HAVE_MARCH_Z9_109_FEATURES 169 170config HAVE_MARCH_Z196_FEATURES 171 def_bool n 172 select HAVE_MARCH_Z10_FEATURES 173 174config HAVE_MARCH_ZEC12_FEATURES 175 def_bool n 176 select HAVE_MARCH_Z196_FEATURES 177 178choice 179 prompt "Processor type" 180 default MARCH_G5 181 182config MARCH_G5 183 bool "System/390 model G5 and G6" 184 depends on !64BIT 185 help 186 Select this to build a 31 bit kernel that works 187 on all ESA/390 and z/Architecture machines. 188 189config MARCH_Z900 190 bool "IBM zSeries model z800 and z900" 191 select HAVE_MARCH_Z900_FEATURES if 64BIT 192 help 193 Select this to enable optimizations for model z800/z900 (2064 and 194 2066 series). This will enable some optimizations that are not 195 available on older ESA/390 (31 Bit) only CPUs. 196 197config MARCH_Z990 198 bool "IBM zSeries model z890 and z990" 199 select HAVE_MARCH_Z990_FEATURES if 64BIT 200 help 201 Select this to enable optimizations for model z890/z990 (2084 and 202 2086 series). The kernel will be slightly faster but will not work 203 on older machines. 204 205config MARCH_Z9_109 206 bool "IBM System z9" 207 select HAVE_MARCH_Z9_109_FEATURES if 64BIT 208 help 209 Select this to enable optimizations for IBM System z9 (2094 and 210 2096 series). The kernel will be slightly faster but will not work 211 on older machines. 212 213config MARCH_Z10 214 bool "IBM System z10" 215 select HAVE_MARCH_Z10_FEATURES if 64BIT 216 help 217 Select this to enable optimizations for IBM System z10 (2097 and 218 2098 series). The kernel will be slightly faster but will not work 219 on older machines. 220 221config MARCH_Z196 222 bool "IBM zEnterprise 114 and 196" 223 select HAVE_MARCH_Z196_FEATURES if 64BIT 224 help 225 Select this to enable optimizations for IBM zEnterprise 114 and 196 226 (2818 and 2817 series). The kernel will be slightly faster but will 227 not work on older machines. 228 229config MARCH_ZEC12 230 bool "IBM zEC12" 231 select HAVE_MARCH_ZEC12_FEATURES if 64BIT 232 help 233 Select this to enable optimizations for IBM zEC12 (2827 series). The 234 kernel will be slightly faster but will not work on older machines. 235 236endchoice 237 238config 64BIT 239 def_bool y 240 prompt "64 bit kernel" 241 help 242 Select this option if you have an IBM z/Architecture machine 243 and want to use the 64 bit addressing mode. 244 245config 32BIT 246 def_bool y if !64BIT 247 248config COMPAT 249 def_bool y 250 prompt "Kernel support for 31 bit emulation" 251 depends on 64BIT 252 select COMPAT_BINFMT_ELF if BINFMT_ELF 253 select ARCH_WANT_OLD_COMPAT_IPC 254 help 255 Select this option if you want to enable your system kernel to 256 handle system-calls from ELF binaries for 31 bit ESA. This option 257 (and some other stuff like libraries and such) is needed for 258 executing 31 bit applications. It is safe to say "Y". 259 260config SYSVIPC_COMPAT 261 def_bool y if COMPAT && SYSVIPC 262 263config KEYS_COMPAT 264 def_bool y if COMPAT && KEYS 265 266config SMP 267 def_bool y 268 prompt "Symmetric multi-processing support" 269 ---help--- 270 This enables support for systems with more than one CPU. If you have 271 a system with only one CPU, like most personal computers, say N. If 272 you have a system with more than one CPU, say Y. 273 274 If you say N here, the kernel will run on single and multiprocessor 275 machines, but will use only one CPU of a multiprocessor machine. If 276 you say Y here, the kernel will run on many, but not all, 277 singleprocessor machines. On a singleprocessor machine, the kernel 278 will run faster if you say N here. 279 280 See also the SMP-HOWTO available at 281 <http://www.tldp.org/docs.html#howto>. 282 283 Even if you don't know what to do here, say Y. 284 285config NR_CPUS 286 int "Maximum number of CPUs (2-64)" 287 range 2 64 288 depends on SMP 289 default "32" if !64BIT 290 default "64" if 64BIT 291 help 292 This allows you to specify the maximum number of CPUs which this 293 kernel will support. The maximum supported value is 64 and the 294 minimum value which makes sense is 2. 295 296 This is purely to save memory - each supported CPU adds 297 approximately sixteen kilobytes to the kernel image. 298 299config HOTPLUG_CPU 300 def_bool y 301 prompt "Support for hot-pluggable CPUs" 302 depends on SMP 303 select HOTPLUG 304 help 305 Say Y here to be able to turn CPUs off and on. CPUs 306 can be controlled through /sys/devices/system/cpu/cpu#. 307 Say N if you want to disable CPU hotplug. 308 309config SCHED_MC 310 def_bool n 311 312config SCHED_BOOK 313 def_bool y 314 prompt "Book scheduler support" 315 depends on SMP 316 select SCHED_MC 317 help 318 Book scheduler support improves the CPU scheduler's decision making 319 when dealing with machines that have several books. 320 321source kernel/Kconfig.preempt 322 323config MATHEMU 324 def_bool y 325 prompt "IEEE FPU emulation" 326 depends on MARCH_G5 327 help 328 This option is required for IEEE compliant floating point arithmetic 329 on older ESA/390 machines. Say Y unless you know your machine doesn't 330 need this. 331 332source kernel/Kconfig.hz 333 334endmenu 335 336menu "Memory setup" 337 338config ARCH_SPARSEMEM_ENABLE 339 def_bool y 340 select SPARSEMEM_VMEMMAP_ENABLE 341 select SPARSEMEM_VMEMMAP 342 select SPARSEMEM_STATIC if !64BIT 343 344config ARCH_SPARSEMEM_DEFAULT 345 def_bool y 346 347config ARCH_SELECT_MEMORY_MODEL 348 def_bool y 349 350config ARCH_ENABLE_MEMORY_HOTPLUG 351 def_bool y if SPARSEMEM 352 353config ARCH_ENABLE_MEMORY_HOTREMOVE 354 def_bool y 355 356config FORCE_MAX_ZONEORDER 357 int 358 default "9" 359 360source "mm/Kconfig" 361 362config PACK_STACK 363 def_bool y 364 prompt "Pack kernel stack" 365 help 366 This option enables the compiler option -mkernel-backchain if it 367 is available. If the option is available the compiler supports 368 the new stack layout which dramatically reduces the minimum stack 369 frame size. With an old compiler a non-leaf function needs a 370 minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With 371 -mkernel-backchain the minimum size drops to 16 byte on 31 bit 372 and 24 byte on 64 bit. 373 374 Say Y if you are unsure. 375 376config SMALL_STACK 377 def_bool n 378 prompt "Use 8kb for kernel stack instead of 16kb" 379 depends on PACK_STACK && 64BIT && !LOCKDEP 380 help 381 If you say Y here and the compiler supports the -mkernel-backchain 382 option the kernel will use a smaller kernel stack size. The reduced 383 size is 8kb instead of 16kb. This allows to run more threads on a 384 system and reduces the pressure on the memory management for higher 385 order page allocations. 386 387 Say N if you are unsure. 388 389config CHECK_STACK 390 def_bool y 391 prompt "Detect kernel stack overflow" 392 help 393 This option enables the compiler option -mstack-guard and 394 -mstack-size if they are available. If the compiler supports them 395 it will emit additional code to each function prolog to trigger 396 an illegal operation if the kernel stack is about to overflow. 397 398 Say N if you are unsure. 399 400config STACK_GUARD 401 int "Size of the guard area (128-1024)" 402 range 128 1024 403 depends on CHECK_STACK 404 default "256" 405 help 406 This allows you to specify the size of the guard area at the lower 407 end of the kernel stack. If the kernel stack points into the guard 408 area on function entry an illegal operation is triggered. The size 409 needs to be a power of 2. Please keep in mind that the size of an 410 interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. 411 The minimum size for the stack guard should be 256 for 31 bit and 412 512 for 64 bit. 413 414config WARN_DYNAMIC_STACK 415 def_bool n 416 prompt "Emit compiler warnings for function with dynamic stack usage" 417 help 418 This option enables the compiler option -mwarn-dynamicstack. If the 419 compiler supports this options generates warnings for functions 420 that dynamically allocate stack space using alloca. 421 422 Say N if you are unsure. 423 424endmenu 425 426menu "I/O subsystem" 427 428config QDIO 429 def_tristate y 430 prompt "QDIO support" 431 ---help--- 432 This driver provides the Queued Direct I/O base support for 433 IBM System z. 434 435 To compile this driver as a module, choose M here: the 436 module will be called qdio. 437 438 If unsure, say Y. 439 440menuconfig PCI 441 bool "PCI support" 442 default n 443 depends on 64BIT 444 select ARCH_SUPPORTS_MSI 445 select PCI_MSI 446 help 447 Enable PCI support. 448 449if PCI 450 451config PCI_NR_FUNCTIONS 452 int "Maximum number of PCI functions (1-4096)" 453 range 1 4096 454 default "64" 455 help 456 This allows you to specify the maximum number of PCI functions which 457 this kernel will support. 458 459source "drivers/pci/Kconfig" 460source "drivers/pci/pcie/Kconfig" 461source "drivers/pci/hotplug/Kconfig" 462 463endif # PCI 464 465config PCI_DOMAINS 466 def_bool PCI 467 468config HAS_IOMEM 469 def_bool PCI 470 471config IOMMU_HELPER 472 def_bool PCI 473 474config HAS_DMA 475 def_bool PCI 476 select HAVE_DMA_API_DEBUG 477 478config NEED_SG_DMA_LENGTH 479 def_bool PCI 480 481config HAVE_DMA_ATTRS 482 def_bool PCI 483 484config NEED_DMA_MAP_STATE 485 def_bool PCI 486 487config CHSC_SCH 488 def_tristate m 489 prompt "Support for CHSC subchannels" 490 help 491 This driver allows usage of CHSC subchannels. A CHSC subchannel 492 is usually present on LPAR only. 493 The driver creates a device /dev/chsc, which may be used to 494 obtain I/O configuration information about the machine and 495 to issue asynchronous chsc commands (DANGEROUS). 496 You will usually only want to use this interface on a special 497 LPAR designated for system management. 498 499 To compile this driver as a module, choose M here: the 500 module will be called chsc_sch. 501 502 If unsure, say N. 503 504config SCM_BUS 505 def_bool y 506 depends on 64BIT 507 prompt "SCM bus driver" 508 help 509 Bus driver for Storage Class Memory. 510 511config EADM_SCH 512 def_tristate m 513 prompt "Support for EADM subchannels" 514 depends on SCM_BUS 515 help 516 This driver allows usage of EADM subchannels. EADM subchannels act 517 as a communication vehicle for SCM increments. 518 519 To compile this driver as a module, choose M here: the 520 module will be called eadm_sch. 521 522endmenu 523 524menu "Dump support" 525 526config CRASH_DUMP 527 bool "kernel crash dumps" 528 depends on 64BIT && SMP 529 select KEXEC 530 help 531 Generate crash dump after being started by kexec. 532 Crash dump kernels are loaded in the main kernel with kexec-tools 533 into a specially reserved region and then later executed after 534 a crash by kdump/kexec. 535 For more details see Documentation/kdump/kdump.txt 536 537config ZFCPDUMP 538 def_bool n 539 prompt "zfcpdump support" 540 select SMP 541 help 542 Select this option if you want to build an zfcpdump enabled kernel. 543 Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this. 544 545endmenu 546 547menu "Executable file formats / Emulations" 548 549source "fs/Kconfig.binfmt" 550 551config SECCOMP 552 def_bool y 553 prompt "Enable seccomp to safely compute untrusted bytecode" 554 depends on PROC_FS 555 help 556 This kernel feature is useful for number crunching applications 557 that may need to compute untrusted bytecode during their 558 execution. By using pipes or other transports made available to 559 the process as file descriptors supporting the read/write 560 syscalls, it's possible to isolate those applications in 561 their own address space using seccomp. Once seccomp is 562 enabled via /proc/<pid>/seccomp, it cannot be disabled 563 and the task is only allowed to execute a few safe syscalls 564 defined by each seccomp mode. 565 566 If unsure, say Y. 567 568endmenu 569 570menu "Power Management" 571 572config ARCH_HIBERNATION_POSSIBLE 573 def_bool y if 64BIT 574 575source "kernel/power/Kconfig" 576 577endmenu 578 579source "net/Kconfig" 580 581config PCMCIA 582 def_bool n 583 584config CCW 585 def_bool y 586 587source "drivers/Kconfig" 588 589source "fs/Kconfig" 590 591source "arch/s390/Kconfig.debug" 592 593source "security/Kconfig" 594 595source "crypto/Kconfig" 596 597source "lib/Kconfig" 598 599menu "Virtualization" 600 601config PFAULT 602 def_bool y 603 prompt "Pseudo page fault support" 604 help 605 Select this option, if you want to use PFAULT pseudo page fault 606 handling under VM. If running native or in LPAR, this option 607 has no effect. If your VM does not support PFAULT, PAGEEX 608 pseudo page fault handling will be used. 609 Note that VM 4.2 supports PFAULT but has a bug in its 610 implementation that causes some problems. 611 Everybody who wants to run Linux under VM != VM4.2 should select 612 this option. 613 614config SHARED_KERNEL 615 bool "VM shared kernel support" 616 depends on !JUMP_LABEL 617 help 618 Select this option, if you want to share the text segment of the 619 Linux kernel between different VM guests. This reduces memory 620 usage with lots of guests but greatly increases kernel size. 621 Also if a kernel was IPL'ed from a shared segment the kexec system 622 call will not work. 623 You should only select this option if you know what you are 624 doing and want to exploit this feature. 625 626config CMM 627 def_tristate n 628 prompt "Cooperative memory management" 629 help 630 Select this option, if you want to enable the kernel interface 631 to reduce the memory size of the system. This is accomplished 632 by allocating pages of memory and put them "on hold". This only 633 makes sense for a system running under VM where the unused pages 634 will be reused by VM for other guest systems. The interface 635 allows an external monitor to balance memory of many systems. 636 Everybody who wants to run Linux under VM should select this 637 option. 638 639config CMM_IUCV 640 def_bool y 641 prompt "IUCV special message interface to cooperative memory management" 642 depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) 643 help 644 Select this option to enable the special message interface to 645 the cooperative memory management. 646 647config APPLDATA_BASE 648 def_bool n 649 prompt "Linux - VM Monitor Stream, base infrastructure" 650 depends on PROC_FS 651 help 652 This provides a kernel interface for creating and updating z/VM APPLDATA 653 monitor records. The monitor records are updated at certain time 654 intervals, once the timer is started. 655 Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, 656 i.e. enables or disables monitoring on the Linux side. 657 A custom interval value (in seconds) can be written to 658 /proc/appldata/interval. 659 660 Defaults are 60 seconds interval and timer off. 661 The /proc entries can also be read from, showing the current settings. 662 663config APPLDATA_MEM 664 def_tristate m 665 prompt "Monitor memory management statistics" 666 depends on APPLDATA_BASE && VM_EVENT_COUNTERS 667 help 668 This provides memory management related data to the Linux - VM Monitor 669 Stream, like paging/swapping rate, memory utilisation, etc. 670 Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM 671 APPLDATA monitor record, i.e. enables or disables monitoring this record 672 on the z/VM side. 673 674 Default is disabled. 675 The /proc entry can also be read from, showing the current settings. 676 677 This can also be compiled as a module, which will be called 678 appldata_mem.o. 679 680config APPLDATA_OS 681 def_tristate m 682 prompt "Monitor OS statistics" 683 depends on APPLDATA_BASE 684 help 685 This provides OS related data to the Linux - VM Monitor Stream, like 686 CPU utilisation, etc. 687 Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM 688 APPLDATA monitor record, i.e. enables or disables monitoring this record 689 on the z/VM side. 690 691 Default is disabled. 692 This can also be compiled as a module, which will be called 693 appldata_os.o. 694 695config APPLDATA_NET_SUM 696 def_tristate m 697 prompt "Monitor overall network statistics" 698 depends on APPLDATA_BASE && NET 699 help 700 This provides network related data to the Linux - VM Monitor Stream, 701 currently there is only a total sum of network I/O statistics, no 702 per-interface data. 703 Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM 704 APPLDATA monitor record, i.e. enables or disables monitoring this record 705 on the z/VM side. 706 707 Default is disabled. 708 This can also be compiled as a module, which will be called 709 appldata_net_sum.o. 710 711config S390_HYPFS_FS 712 def_bool y 713 prompt "s390 hypervisor file system support" 714 select SYS_HYPERVISOR 715 help 716 This is a virtual file system intended to provide accounting 717 information in an s390 hypervisor environment. 718 719source "arch/s390/kvm/Kconfig" 720 721config S390_GUEST 722 def_bool y 723 prompt "s390 support for virtio devices (EXPERIMENTAL)" 724 depends on 64BIT && EXPERIMENTAL 725 select VIRTUALIZATION 726 select VIRTIO 727 select VIRTIO_CONSOLE 728 help 729 Enabling this option adds support for virtio based paravirtual device 730 drivers on s390. 731 732 Select this option if you want to run the kernel as a guest under 733 the KVM hypervisor. 734 735endmenu 736