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