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