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