1config SCHED_MC 2 def_bool y 3 depends on SMP 4 5config MMU 6 def_bool y 7 8config ZONE_DMA 9 def_bool y 10 depends on 64BIT 11 12config LOCKDEP_SUPPORT 13 def_bool y 14 15config STACKTRACE_SUPPORT 16 def_bool y 17 18config HAVE_LATENCYTOP_SUPPORT 19 def_bool y 20 21config RWSEM_GENERIC_SPINLOCK 22 bool 23 24config RWSEM_XCHGADD_ALGORITHM 25 def_bool y 26 27config ARCH_HAS_ILOG2_U32 28 bool 29 default n 30 31config ARCH_HAS_ILOG2_U64 32 bool 33 default n 34 35config GENERIC_HWEIGHT 36 def_bool y 37 38config GENERIC_TIME_VSYSCALL 39 def_bool y 40 41config GENERIC_CLOCKEVENTS 42 def_bool y 43 44config GENERIC_BUG 45 bool 46 depends on BUG 47 default y 48 49config GENERIC_BUG_RELATIVE_POINTERS 50 def_bool y 51 52config NO_IOMEM 53 def_bool y 54 55config NO_DMA 56 def_bool y 57 58config ARCH_DMA_ADDR_T_64BIT 59 def_bool 64BIT 60 61config GENERIC_LOCKBREAK 62 bool 63 default y 64 depends on SMP && PREEMPT 65 66config PGSTE 67 bool 68 default y if KVM 69 70config VIRT_CPU_ACCOUNTING 71 def_bool y 72 73config ARCH_SUPPORTS_DEBUG_PAGEALLOC 74 def_bool y 75 76config S390 77 def_bool y 78 select USE_GENERIC_SMP_HELPERS if SMP 79 select HAVE_SYSCALL_WRAPPERS 80 select HAVE_FUNCTION_TRACER 81 select HAVE_FUNCTION_TRACE_MCOUNT_TEST 82 select HAVE_FTRACE_MCOUNT_RECORD 83 select HAVE_C_RECORDMCOUNT 84 select HAVE_SYSCALL_TRACEPOINTS 85 select HAVE_DYNAMIC_FTRACE 86 select HAVE_FUNCTION_GRAPH_TRACER 87 select HAVE_REGS_AND_STACK_ACCESS_API 88 select HAVE_DEFAULT_NO_SPIN_MUTEXES 89 select HAVE_OPROFILE 90 select HAVE_KPROBES 91 select HAVE_KRETPROBES 92 select HAVE_KVM if 64BIT 93 select HAVE_ARCH_TRACEHOOK 94 select INIT_ALL_POSSIBLE 95 select HAVE_IRQ_WORK 96 select HAVE_PERF_EVENTS 97 select HAVE_KERNEL_GZIP 98 select HAVE_KERNEL_BZIP2 99 select HAVE_KERNEL_LZMA 100 select HAVE_KERNEL_LZO 101 select HAVE_GET_USER_PAGES_FAST 102 select HAVE_ARCH_MUTEX_CPU_RELAX 103 select ARCH_INLINE_SPIN_TRYLOCK 104 select ARCH_INLINE_SPIN_TRYLOCK_BH 105 select ARCH_INLINE_SPIN_LOCK 106 select ARCH_INLINE_SPIN_LOCK_BH 107 select ARCH_INLINE_SPIN_LOCK_IRQ 108 select ARCH_INLINE_SPIN_LOCK_IRQSAVE 109 select ARCH_INLINE_SPIN_UNLOCK 110 select ARCH_INLINE_SPIN_UNLOCK_BH 111 select ARCH_INLINE_SPIN_UNLOCK_IRQ 112 select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE 113 select ARCH_INLINE_READ_TRYLOCK 114 select ARCH_INLINE_READ_LOCK 115 select ARCH_INLINE_READ_LOCK_BH 116 select ARCH_INLINE_READ_LOCK_IRQ 117 select ARCH_INLINE_READ_LOCK_IRQSAVE 118 select ARCH_INLINE_READ_UNLOCK 119 select ARCH_INLINE_READ_UNLOCK_BH 120 select ARCH_INLINE_READ_UNLOCK_IRQ 121 select ARCH_INLINE_READ_UNLOCK_IRQRESTORE 122 select ARCH_INLINE_WRITE_TRYLOCK 123 select ARCH_INLINE_WRITE_LOCK 124 select ARCH_INLINE_WRITE_LOCK_BH 125 select ARCH_INLINE_WRITE_LOCK_IRQ 126 select ARCH_INLINE_WRITE_LOCK_IRQSAVE 127 select ARCH_INLINE_WRITE_UNLOCK 128 select ARCH_INLINE_WRITE_UNLOCK_BH 129 select ARCH_INLINE_WRITE_UNLOCK_IRQ 130 select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE 131 132config SCHED_OMIT_FRAME_POINTER 133 bool 134 default y 135 136source "init/Kconfig" 137 138source "kernel/Kconfig.freezer" 139 140menu "Base setup" 141 142comment "Processor type and features" 143 144source "kernel/time/Kconfig" 145 146config 64BIT 147 bool "64 bit kernel" 148 help 149 Select this option if you have an IBM z/Architecture machine 150 and want to use the 64 bit addressing mode. 151 152config 32BIT 153 bool 154 default y if !64BIT 155 156config KTIME_SCALAR 157 def_bool 32BIT 158 159config SMP 160 bool "Symmetric multi-processing support" 161 ---help--- 162 This enables support for systems with more than one CPU. If you have 163 a system with only one CPU, like most personal computers, say N. If 164 you have a system with more than one CPU, say Y. 165 166 If you say N here, the kernel will run on single and multiprocessor 167 machines, but will use only one CPU of a multiprocessor machine. If 168 you say Y here, the kernel will run on many, but not all, 169 singleprocessor machines. On a singleprocessor machine, the kernel 170 will run faster if you say N here. 171 172 See also the SMP-HOWTO available at 173 <http://www.tldp.org/docs.html#howto>. 174 175 Even if you don't know what to do here, say Y. 176 177config NR_CPUS 178 int "Maximum number of CPUs (2-64)" 179 range 2 64 180 depends on SMP 181 default "32" if !64BIT 182 default "64" if 64BIT 183 help 184 This allows you to specify the maximum number of CPUs which this 185 kernel will support. The maximum supported value is 64 and the 186 minimum value which makes sense is 2. 187 188 This is purely to save memory - each supported CPU adds 189 approximately sixteen kilobytes to the kernel image. 190 191config HOTPLUG_CPU 192 bool "Support for hot-pluggable CPUs" 193 depends on SMP 194 select HOTPLUG 195 default n 196 help 197 Say Y here to be able to turn CPUs off and on. CPUs 198 can be controlled through /sys/devices/system/cpu/cpu#. 199 Say N if you want to disable CPU hotplug. 200 201config SCHED_MC 202 def_bool y 203 prompt "Multi-core scheduler support" 204 depends on SMP 205 help 206 Multi-core scheduler support improves the CPU scheduler's decision 207 making when dealing with multi-core CPU chips at a cost of slightly 208 increased overhead in some places. 209 210config SCHED_BOOK 211 bool "Book scheduler support" 212 depends on SMP && SCHED_MC 213 help 214 Book scheduler support improves the CPU scheduler's decision making 215 when dealing with machines that have several books. 216 217config MATHEMU 218 bool "IEEE FPU emulation" 219 depends on MARCH_G5 220 help 221 This option is required for IEEE compliant floating point arithmetic 222 on older ESA/390 machines. Say Y unless you know your machine doesn't 223 need this. 224 225config COMPAT 226 bool "Kernel support for 31 bit emulation" 227 depends on 64BIT 228 select COMPAT_BINFMT_ELF 229 help 230 Select this option if you want to enable your system kernel to 231 handle system-calls from ELF binaries for 31 bit ESA. This option 232 (and some other stuff like libraries and such) is needed for 233 executing 31 bit applications. It is safe to say "Y". 234 235config SYSVIPC_COMPAT 236 bool 237 depends on COMPAT && SYSVIPC 238 default y 239 240config AUDIT_ARCH 241 bool 242 default y 243 244config S390_EXEC_PROTECT 245 bool "Data execute protection" 246 help 247 This option allows to enable a buffer overflow protection for user 248 space programs and it also selects the addressing mode option above. 249 The kernel parameter noexec=on will enable this feature and also 250 switch the addressing modes, default is disabled. Enabling this (via 251 kernel parameter) on machines earlier than IBM System z9 this will 252 reduce system performance. 253 254comment "Code generation options" 255 256choice 257 prompt "Processor type" 258 default MARCH_G5 259 260config MARCH_G5 261 bool "System/390 model G5 and G6" 262 depends on !64BIT 263 help 264 Select this to build a 31 bit kernel that works 265 on all ESA/390 and z/Architecture machines. 266 267config MARCH_Z900 268 bool "IBM zSeries model z800 and z900" 269 help 270 Select this to enable optimizations for model z800/z900 (2064 and 271 2066 series). This will enable some optimizations that are not 272 available on older ESA/390 (31 Bit) only CPUs. 273 274config MARCH_Z990 275 bool "IBM zSeries model z890 and z990" 276 help 277 Select this to enable optimizations for model z890/z990 (2084 and 278 2086 series). The kernel will be slightly faster but will not work 279 on older machines. 280 281config MARCH_Z9_109 282 bool "IBM System z9" 283 help 284 Select this to enable optimizations for IBM System z9 (2094 and 285 2096 series). The kernel will be slightly faster but will not work 286 on older machines. 287 288config MARCH_Z10 289 bool "IBM System z10" 290 help 291 Select this to enable optimizations for IBM System z10 (2097 and 292 2098 series). The kernel will be slightly faster but will not work 293 on older machines. 294 295config MARCH_Z196 296 bool "IBM zEnterprise 196" 297 help 298 Select this to enable optimizations for IBM zEnterprise 196 299 (2817 series). The kernel will be slightly faster but will not work 300 on older machines. 301 302endchoice 303 304config PACK_STACK 305 bool "Pack kernel stack" 306 help 307 This option enables the compiler option -mkernel-backchain if it 308 is available. If the option is available the compiler supports 309 the new stack layout which dramatically reduces the minimum stack 310 frame size. With an old compiler a non-leaf function needs a 311 minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With 312 -mkernel-backchain the minimum size drops to 16 byte on 31 bit 313 and 24 byte on 64 bit. 314 315 Say Y if you are unsure. 316 317config SMALL_STACK 318 bool "Use 8kb for kernel stack instead of 16kb" 319 depends on PACK_STACK && 64BIT && !LOCKDEP 320 help 321 If you say Y here and the compiler supports the -mkernel-backchain 322 option the kernel will use a smaller kernel stack size. The reduced 323 size is 8kb instead of 16kb. This allows to run more threads on a 324 system and reduces the pressure on the memory management for higher 325 order page allocations. 326 327 Say N if you are unsure. 328 329config CHECK_STACK 330 bool "Detect kernel stack overflow" 331 help 332 This option enables the compiler option -mstack-guard and 333 -mstack-size if they are available. If the compiler supports them 334 it will emit additional code to each function prolog to trigger 335 an illegal operation if the kernel stack is about to overflow. 336 337 Say N if you are unsure. 338 339config STACK_GUARD 340 int "Size of the guard area (128-1024)" 341 range 128 1024 342 depends on CHECK_STACK 343 default "256" 344 help 345 This allows you to specify the size of the guard area at the lower 346 end of the kernel stack. If the kernel stack points into the guard 347 area on function entry an illegal operation is triggered. The size 348 needs to be a power of 2. Please keep in mind that the size of an 349 interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. 350 The minimum size for the stack guard should be 256 for 31 bit and 351 512 for 64 bit. 352 353config WARN_STACK 354 bool "Emit compiler warnings for function with broken stack usage" 355 help 356 This option enables the compiler options -mwarn-framesize and 357 -mwarn-dynamicstack. If the compiler supports these options it 358 will generate warnings for function which either use alloca or 359 create a stack frame bigger than CONFIG_WARN_STACK_SIZE. 360 361 Say N if you are unsure. 362 363config WARN_STACK_SIZE 364 int "Maximum frame size considered safe (128-2048)" 365 range 128 2048 366 depends on WARN_STACK 367 default "2048" 368 help 369 This allows you to specify the maximum frame size a function may 370 have without the compiler complaining about it. 371 372config ARCH_POPULATES_NODE_MAP 373 def_bool y 374 375comment "Kernel preemption" 376 377source "kernel/Kconfig.preempt" 378 379config ARCH_SPARSEMEM_ENABLE 380 def_bool y 381 select SPARSEMEM_VMEMMAP_ENABLE 382 select SPARSEMEM_VMEMMAP 383 select SPARSEMEM_STATIC if !64BIT 384 385config ARCH_SPARSEMEM_DEFAULT 386 def_bool y 387 388config ARCH_SELECT_MEMORY_MODEL 389 def_bool y 390 391config ARCH_ENABLE_MEMORY_HOTPLUG 392 def_bool y 393 depends on SPARSEMEM 394 395config ARCH_ENABLE_MEMORY_HOTREMOVE 396 def_bool y 397 398config ARCH_HIBERNATION_POSSIBLE 399 def_bool y if 64BIT 400 401source "mm/Kconfig" 402 403comment "I/O subsystem configuration" 404 405config QDIO 406 tristate "QDIO support" 407 ---help--- 408 This driver provides the Queued Direct I/O base support for 409 IBM System z. 410 411 To compile this driver as a module, choose M here: the 412 module will be called qdio. 413 414 If unsure, say Y. 415 416config CHSC_SCH 417 tristate "Support for CHSC subchannels" 418 help 419 This driver allows usage of CHSC subchannels. A CHSC subchannel 420 is usually present on LPAR only. 421 The driver creates a device /dev/chsc, which may be used to 422 obtain I/O configuration information about the machine and 423 to issue asynchronous chsc commands (DANGEROUS). 424 You will usually only want to use this interface on a special 425 LPAR designated for system management. 426 427 To compile this driver as a module, choose M here: the 428 module will be called chsc_sch. 429 430 If unsure, say N. 431 432comment "Misc" 433 434config IPL 435 bool "Builtin IPL record support" 436 help 437 If you want to use the produced kernel to IPL directly from a 438 device, you have to merge a bootsector specific to the device 439 into the first bytes of the kernel. You will have to select the 440 IPL device. 441 442choice 443 prompt "IPL method generated into head.S" 444 depends on IPL 445 default IPL_VM 446 help 447 Select "tape" if you want to IPL the image from a Tape. 448 449 Select "vm_reader" if you are running under VM/ESA and want 450 to IPL the image from the emulated card reader. 451 452config IPL_TAPE 453 bool "tape" 454 455config IPL_VM 456 bool "vm_reader" 457 458endchoice 459 460source "fs/Kconfig.binfmt" 461 462config FORCE_MAX_ZONEORDER 463 int 464 default "9" 465 466config PFAULT 467 bool "Pseudo page fault support" 468 help 469 Select this option, if you want to use PFAULT pseudo page fault 470 handling under VM. If running native or in LPAR, this option 471 has no effect. If your VM does not support PFAULT, PAGEEX 472 pseudo page fault handling will be used. 473 Note that VM 4.2 supports PFAULT but has a bug in its 474 implementation that causes some problems. 475 Everybody who wants to run Linux under VM != VM4.2 should select 476 this option. 477 478config SHARED_KERNEL 479 bool "VM shared kernel support" 480 help 481 Select this option, if you want to share the text segment of the 482 Linux kernel between different VM guests. This reduces memory 483 usage with lots of guests but greatly increases kernel size. 484 Also if a kernel was IPL'ed from a shared segment the kexec system 485 call will not work. 486 You should only select this option if you know what you are 487 doing and want to exploit this feature. 488 489config CMM 490 tristate "Cooperative memory management" 491 help 492 Select this option, if you want to enable the kernel interface 493 to reduce the memory size of the system. This is accomplished 494 by allocating pages of memory and put them "on hold". This only 495 makes sense for a system running under VM where the unused pages 496 will be reused by VM for other guest systems. The interface 497 allows an external monitor to balance memory of many systems. 498 Everybody who wants to run Linux under VM should select this 499 option. 500 501config CMM_IUCV 502 bool "IUCV special message interface to cooperative memory management" 503 depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) 504 help 505 Select this option to enable the special message interface to 506 the cooperative memory management. 507 508config APPLDATA_BASE 509 bool "Linux - VM Monitor Stream, base infrastructure" 510 depends on PROC_FS 511 help 512 This provides a kernel interface for creating and updating z/VM APPLDATA 513 monitor records. The monitor records are updated at certain time 514 intervals, once the timer is started. 515 Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, 516 i.e. enables or disables monitoring on the Linux side. 517 A custom interval value (in seconds) can be written to 518 /proc/appldata/interval. 519 520 Defaults are 60 seconds interval and timer off. 521 The /proc entries can also be read from, showing the current settings. 522 523config APPLDATA_MEM 524 tristate "Monitor memory management statistics" 525 depends on APPLDATA_BASE && VM_EVENT_COUNTERS 526 help 527 This provides memory management related data to the Linux - VM Monitor 528 Stream, like paging/swapping rate, memory utilisation, etc. 529 Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM 530 APPLDATA monitor record, i.e. enables or disables monitoring this record 531 on the z/VM side. 532 533 Default is disabled. 534 The /proc entry can also be read from, showing the current settings. 535 536 This can also be compiled as a module, which will be called 537 appldata_mem.o. 538 539config APPLDATA_OS 540 tristate "Monitor OS statistics" 541 depends on APPLDATA_BASE 542 help 543 This provides OS related data to the Linux - VM Monitor Stream, like 544 CPU utilisation, etc. 545 Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM 546 APPLDATA monitor record, i.e. enables or disables monitoring this record 547 on the z/VM side. 548 549 Default is disabled. 550 This can also be compiled as a module, which will be called 551 appldata_os.o. 552 553config APPLDATA_NET_SUM 554 tristate "Monitor overall network statistics" 555 depends on APPLDATA_BASE && NET 556 help 557 This provides network related data to the Linux - VM Monitor Stream, 558 currently there is only a total sum of network I/O statistics, no 559 per-interface data. 560 Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM 561 APPLDATA monitor record, i.e. enables or disables monitoring this record 562 on the z/VM side. 563 564 Default is disabled. 565 This can also be compiled as a module, which will be called 566 appldata_net_sum.o. 567 568source kernel/Kconfig.hz 569 570config S390_HYPFS_FS 571 bool "s390 hypervisor file system support" 572 select SYS_HYPERVISOR 573 default y 574 help 575 This is a virtual file system intended to provide accounting 576 information in an s390 hypervisor environment. 577 578config KEXEC 579 bool "kexec system call" 580 help 581 kexec is a system call that implements the ability to shutdown your 582 current kernel, and to start another kernel. It is like a reboot 583 but is independent of hardware/microcode support. 584 585config ZFCPDUMP 586 bool "zfcpdump support" 587 select SMP 588 default n 589 help 590 Select this option if you want to build an zfcpdump enabled kernel. 591 Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this. 592 593config S390_GUEST 594bool "s390 guest support for KVM (EXPERIMENTAL)" 595 depends on 64BIT && EXPERIMENTAL 596 select VIRTIO 597 select VIRTIO_RING 598 select VIRTIO_CONSOLE 599 help 600 Select this option if you want to run the kernel as a guest under 601 the KVM hypervisor. This will add detection for KVM as well as a 602 virtio transport. If KVM is detected, the virtio console will be 603 the default console. 604 605config SECCOMP 606 bool "Enable seccomp to safely compute untrusted bytecode" 607 depends on PROC_FS 608 default y 609 help 610 This kernel feature is useful for number crunching applications 611 that may need to compute untrusted bytecode during their 612 execution. By using pipes or other transports made available to 613 the process as file descriptors supporting the read/write 614 syscalls, it's possible to isolate those applications in 615 their own address space using seccomp. Once seccomp is 616 enabled via /proc/<pid>/seccomp, it cannot be disabled 617 and the task is only allowed to execute a few safe syscalls 618 defined by each seccomp mode. 619 620 If unsure, say Y. 621 622endmenu 623 624menu "Power Management" 625 626source "kernel/power/Kconfig" 627 628endmenu 629 630source "net/Kconfig" 631 632config PCMCIA 633 def_bool n 634 635config CCW 636 def_bool y 637 638source "drivers/Kconfig" 639 640source "fs/Kconfig" 641 642source "arch/s390/Kconfig.debug" 643 644source "security/Kconfig" 645 646source "crypto/Kconfig" 647 648source "lib/Kconfig" 649 650source "arch/s390/kvm/Kconfig" 651