1# 2# For a description of the syntax of this configuration file, 3# see Documentation/kbuild/kconfig-language.txt. 4# 5 6config MMU 7 def_bool y 8 9config ZONE_DMA 10 def_bool y 11 depends on 64BIT 12 13config LOCKDEP_SUPPORT 14 def_bool y 15 16config STACKTRACE_SUPPORT 17 def_bool y 18 19config RWSEM_GENERIC_SPINLOCK 20 bool 21 22config RWSEM_XCHGADD_ALGORITHM 23 def_bool y 24 25config ARCH_HAS_ILOG2_U32 26 bool 27 default n 28 29config ARCH_HAS_ILOG2_U64 30 bool 31 default n 32 33config GENERIC_HWEIGHT 34 def_bool y 35 36config GENERIC_TIME 37 def_bool y 38 39config GENERIC_BUG 40 bool 41 depends on BUG 42 default y 43 44config NO_IOMEM 45 def_bool y 46 47config NO_DMA 48 def_bool y 49 50mainmenu "Linux Kernel Configuration" 51 52config S390 53 def_bool y 54 55source "init/Kconfig" 56 57menu "Base setup" 58 59comment "Processor type and features" 60 61config 64BIT 62 bool "64 bit kernel" 63 help 64 Select this option if you have a 64 bit IBM zSeries machine 65 and want to use the 64 bit addressing mode. 66 67config 32BIT 68 bool 69 default y if !64BIT 70 71config SMP 72 bool "Symmetric multi-processing support" 73 ---help--- 74 This enables support for systems with more than one CPU. If you have 75 a system with only one CPU, like most personal computers, say N. If 76 you have a system with more than one CPU, say Y. 77 78 If you say N here, the kernel will run on single and multiprocessor 79 machines, but will use only one CPU of a multiprocessor machine. If 80 you say Y here, the kernel will run on many, but not all, 81 singleprocessor machines. On a singleprocessor machine, the kernel 82 will run faster if you say N here. 83 84 See also the <file:Documentation/smp.txt> and the SMP-HOWTO 85 available at <http://www.tldp.org/docs.html#howto>. 86 87 Even if you don't know what to do here, say Y. 88 89config NR_CPUS 90 int "Maximum number of CPUs (2-64)" 91 range 2 64 92 depends on SMP 93 default "32" 94 help 95 This allows you to specify the maximum number of CPUs which this 96 kernel will support. The maximum supported value is 64 and the 97 minimum value which makes sense is 2. 98 99 This is purely to save memory - each supported CPU adds 100 approximately sixteen kilobytes to the kernel image. 101 102config HOTPLUG_CPU 103 bool "Support for hot-pluggable CPUs" 104 depends on SMP 105 select HOTPLUG 106 default n 107 help 108 Say Y here to be able to turn CPUs off and on. CPUs 109 can be controlled through /sys/devices/system/cpu/cpu#. 110 Say N if you want to disable CPU hotplug. 111 112config MATHEMU 113 bool "IEEE FPU emulation" 114 depends on MARCH_G5 115 help 116 This option is required for IEEE compliant floating point arithmetic 117 on older S/390 machines. Say Y unless you know your machine doesn't 118 need this. 119 120config COMPAT 121 bool "Kernel support for 31 bit emulation" 122 depends on 64BIT 123 help 124 Select this option if you want to enable your system kernel to 125 handle system-calls from ELF binaries for 31 bit ESA. This option 126 (and some other stuff like libraries and such) is needed for 127 executing 31 bit applications. It is safe to say "Y". 128 129config SYSVIPC_COMPAT 130 bool 131 depends on COMPAT && SYSVIPC 132 default y 133 134config AUDIT_ARCH 135 bool 136 default y 137 138config S390_SWITCH_AMODE 139 bool "Switch kernel/user addressing modes" 140 help 141 This option allows to switch the addressing modes of kernel and user 142 space. The kernel parameter switch_amode=on will enable this feature, 143 default is disabled. Enabling this (via kernel parameter) on machines 144 earlier than IBM System z9-109 EC/BC will reduce system performance. 145 146 Note that this option will also be selected by selecting the execute 147 protection option below. Enabling the execute protection via the 148 noexec kernel parameter will also switch the addressing modes, 149 independent of the switch_amode kernel parameter. 150 151 152config S390_EXEC_PROTECT 153 bool "Data execute protection" 154 select S390_SWITCH_AMODE 155 help 156 This option allows to enable a buffer overflow protection for user 157 space programs and it also selects the addressing mode option above. 158 The kernel parameter noexec=on will enable this feature and also 159 switch the addressing modes, default is disabled. Enabling this (via 160 kernel parameter) on machines earlier than IBM System z9-109 EC/BC 161 will reduce system performance. 162 163comment "Code generation options" 164 165choice 166 prompt "Processor type" 167 default MARCH_G5 168 169config MARCH_G5 170 bool "S/390 model G5 and G6" 171 depends on !64BIT 172 help 173 Select this to build a 31 bit kernel that works 174 on all S/390 and zSeries machines. 175 176config MARCH_Z900 177 bool "IBM eServer zSeries model z800 and z900" 178 help 179 Select this to optimize for zSeries machines. This 180 will enable some optimizations that are not available 181 on older 31 bit only CPUs. 182 183config MARCH_Z990 184 bool "IBM eServer zSeries model z890 and z990" 185 help 186 Select this enable optimizations for model z890/z990. 187 This will be slightly faster but does not work on 188 older machines such as the z900. 189 190config MARCH_Z9_109 191 bool "IBM System z9" 192 help 193 Select this to enable optimizations for IBM System z9-109, IBM 194 System z9 Enterprise Class (z9 EC), and IBM System z9 Business 195 Class (z9 BC). The kernel will be slightly faster but will not 196 work on older machines such as the z990, z890, z900, and z800. 197 198endchoice 199 200config PACK_STACK 201 bool "Pack kernel stack" 202 help 203 This option enables the compiler option -mkernel-backchain if it 204 is available. If the option is available the compiler supports 205 the new stack layout which dramatically reduces the minimum stack 206 frame size. With an old compiler a non-leaf function needs a 207 minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With 208 -mkernel-backchain the minimum size drops to 16 byte on 31 bit 209 and 24 byte on 64 bit. 210 211 Say Y if you are unsure. 212 213config SMALL_STACK 214 bool "Use 4kb/8kb for kernel stack instead of 8kb/16kb" 215 depends on PACK_STACK && !LOCKDEP 216 help 217 If you say Y here and the compiler supports the -mkernel-backchain 218 option the kernel will use a smaller kernel stack size. For 31 bit 219 the reduced size is 4kb instead of 8kb and for 64 bit it is 8kb 220 instead of 16kb. This allows to run more thread on a system and 221 reduces the pressure on the memory management for higher order 222 page allocations. 223 224 Say N if you are unsure. 225 226 227config CHECK_STACK 228 bool "Detect kernel stack overflow" 229 help 230 This option enables the compiler option -mstack-guard and 231 -mstack-size if they are available. If the compiler supports them 232 it will emit additional code to each function prolog to trigger 233 an illegal operation if the kernel stack is about to overflow. 234 235 Say N if you are unsure. 236 237config STACK_GUARD 238 int "Size of the guard area (128-1024)" 239 range 128 1024 240 depends on CHECK_STACK 241 default "256" 242 help 243 This allows you to specify the size of the guard area at the lower 244 end of the kernel stack. If the kernel stack points into the guard 245 area on function entry an illegal operation is triggered. The size 246 needs to be a power of 2. Please keep in mind that the size of an 247 interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. 248 The minimum size for the stack guard should be 256 for 31 bit and 249 512 for 64 bit. 250 251config WARN_STACK 252 bool "Emit compiler warnings for function with broken stack usage" 253 help 254 This option enables the compiler options -mwarn-framesize and 255 -mwarn-dynamicstack. If the compiler supports these options it 256 will generate warnings for function which either use alloca or 257 create a stack frame bigger then CONFIG_WARN_STACK_SIZE. 258 259 Say N if you are unsure. 260 261config WARN_STACK_SIZE 262 int "Maximum frame size considered safe (128-2048)" 263 range 128 2048 264 depends on WARN_STACK 265 default "256" 266 help 267 This allows you to specify the maximum frame size a function may 268 have without the compiler complaining about it. 269 270config ARCH_POPULATES_NODE_MAP 271 def_bool y 272 273comment "Kernel preemption" 274 275source "kernel/Kconfig.preempt" 276 277source "mm/Kconfig" 278 279config HOLES_IN_ZONE 280 def_bool y 281 282comment "I/O subsystem configuration" 283 284config MACHCHK_WARNING 285 bool "Process warning machine checks" 286 help 287 Select this option if you want the machine check handler on IBM S/390 or 288 zSeries to process warning machine checks (e.g. on power failures). 289 If unsure, say "Y". 290 291config QDIO 292 tristate "QDIO support" 293 ---help--- 294 This driver provides the Queued Direct I/O base support for 295 IBM mainframes. 296 297 For details please refer to the documentation provided by IBM at 298 <http://www10.software.ibm.com/developerworks/opensource/linux390> 299 300 To compile this driver as a module, choose M here: the 301 module will be called qdio. 302 303 If unsure, say Y. 304 305config QDIO_DEBUG 306 bool "Extended debugging information" 307 depends on QDIO 308 help 309 Say Y here to get extended debugging output in 310 /sys/kernel/debug/s390dbf/qdio... 311 Warning: this option reduces the performance of the QDIO module. 312 313 If unsure, say N. 314 315comment "Misc" 316 317config IPL 318 bool "Builtin IPL record support" 319 help 320 If you want to use the produced kernel to IPL directly from a 321 device, you have to merge a bootsector specific to the device 322 into the first bytes of the kernel. You will have to select the 323 IPL device. 324 325choice 326 prompt "IPL method generated into head.S" 327 depends on IPL 328 default IPL_TAPE 329 help 330 Select "tape" if you want to IPL the image from a Tape. 331 332 Select "vm_reader" if you are running under VM/ESA and want 333 to IPL the image from the emulated card reader. 334 335config IPL_TAPE 336 bool "tape" 337 338config IPL_VM 339 bool "vm_reader" 340 341endchoice 342 343source "fs/Kconfig.binfmt" 344 345config PROCESS_DEBUG 346 bool "Show crashed user process info" 347 help 348 Say Y to print all process fault locations to the console. This is 349 a debugging option; you probably do not want to set it unless you 350 are an S390 port maintainer. 351 352config PFAULT 353 bool "Pseudo page fault support" 354 help 355 Select this option, if you want to use PFAULT pseudo page fault 356 handling under VM. If running native or in LPAR, this option 357 has no effect. If your VM does not support PFAULT, PAGEEX 358 pseudo page fault handling will be used. 359 Note that VM 4.2 supports PFAULT but has a bug in its 360 implementation that causes some problems. 361 Everybody who wants to run Linux under VM != VM4.2 should select 362 this option. 363 364config SHARED_KERNEL 365 bool "VM shared kernel support" 366 help 367 Select this option, if you want to share the text segment of the 368 Linux kernel between different VM guests. This reduces memory 369 usage with lots of guests but greatly increases kernel size. 370 Also if a kernel was IPL'ed from a shared segment the kexec system 371 call will not work. 372 You should only select this option if you know what you are 373 doing and want to exploit this feature. 374 375config CMM 376 tristate "Cooperative memory management" 377 help 378 Select this option, if you want to enable the kernel interface 379 to reduce the memory size of the system. This is accomplished 380 by allocating pages of memory and put them "on hold". This only 381 makes sense for a system running under VM where the unused pages 382 will be reused by VM for other guest systems. The interface 383 allows an external monitor to balance memory of many systems. 384 Everybody who wants to run Linux under VM should select this 385 option. 386 387config CMM_PROC 388 bool "/proc interface to cooperative memory management" 389 depends on CMM 390 help 391 Select this option to enable the /proc interface to the 392 cooperative memory management. 393 394config CMM_IUCV 395 bool "IUCV special message interface to cooperative memory management" 396 depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) 397 help 398 Select this option to enable the special message interface to 399 the cooperative memory management. 400 401config VIRT_TIMER 402 bool "Virtual CPU timer support" 403 help 404 This provides a kernel interface for virtual CPU timers. 405 Default is disabled. 406 407config VIRT_CPU_ACCOUNTING 408 bool "Base user process accounting on virtual cpu timer" 409 depends on VIRT_TIMER 410 help 411 Select this option to use CPU timer deltas to do user 412 process accounting. 413 414config APPLDATA_BASE 415 bool "Linux - VM Monitor Stream, base infrastructure" 416 depends on PROC_FS && VIRT_TIMER=y 417 help 418 This provides a kernel interface for creating and updating z/VM APPLDATA 419 monitor records. The monitor records are updated at certain time 420 intervals, once the timer is started. 421 Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, 422 i.e. enables or disables monitoring on the Linux side. 423 A custom interval value (in seconds) can be written to 424 /proc/appldata/interval. 425 426 Defaults are 60 seconds interval and timer off. 427 The /proc entries can also be read from, showing the current settings. 428 429config APPLDATA_MEM 430 tristate "Monitor memory management statistics" 431 depends on APPLDATA_BASE && VM_EVENT_COUNTERS 432 help 433 This provides memory management related data to the Linux - VM Monitor 434 Stream, like paging/swapping rate, memory utilisation, etc. 435 Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM 436 APPLDATA monitor record, i.e. enables or disables monitoring this record 437 on the z/VM side. 438 439 Default is disabled. 440 The /proc entry can also be read from, showing the current settings. 441 442 This can also be compiled as a module, which will be called 443 appldata_mem.o. 444 445config APPLDATA_OS 446 tristate "Monitor OS statistics" 447 depends on APPLDATA_BASE 448 help 449 This provides OS related data to the Linux - VM Monitor Stream, like 450 CPU utilisation, etc. 451 Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM 452 APPLDATA monitor record, i.e. enables or disables monitoring this record 453 on the z/VM side. 454 455 Default is disabled. 456 This can also be compiled as a module, which will be called 457 appldata_os.o. 458 459config APPLDATA_NET_SUM 460 tristate "Monitor overall network statistics" 461 depends on APPLDATA_BASE 462 help 463 This provides network related data to the Linux - VM Monitor Stream, 464 currently there is only a total sum of network I/O statistics, no 465 per-interface data. 466 Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM 467 APPLDATA monitor record, i.e. enables or disables monitoring this record 468 on the z/VM side. 469 470 Default is disabled. 471 This can also be compiled as a module, which will be called 472 appldata_net_sum.o. 473 474source kernel/Kconfig.hz 475 476config NO_IDLE_HZ 477 bool "No HZ timer ticks in idle" 478 help 479 Switches the regular HZ timer off when the system is going idle. 480 This helps z/VM to detect that the Linux system is idle. VM can 481 then "swap-out" this guest which reduces memory usage. It also 482 reduces the overhead of idle systems. 483 484 The HZ timer can be switched on/off via /proc/sys/kernel/hz_timer. 485 hz_timer=0 means HZ timer is disabled. hz_timer=1 means HZ 486 timer is active. 487 488config NO_IDLE_HZ_INIT 489 bool "HZ timer in idle off by default" 490 depends on NO_IDLE_HZ 491 help 492 The HZ timer is switched off in idle by default. That means the 493 HZ timer is already disabled at boot time. 494 495config S390_HYPFS_FS 496 bool "s390 hypervisor file system support" 497 select SYS_HYPERVISOR 498 default y 499 help 500 This is a virtual file system intended to provide accounting 501 information in an s390 hypervisor environment. 502 503config KEXEC 504 bool "kexec system call" 505 help 506 kexec is a system call that implements the ability to shutdown your 507 current kernel, and to start another kernel. It is like a reboot 508 but is independent of hardware/microcode support. 509 510config ZFCPDUMP 511 tristate "zfcpdump support" 512 select SMP 513 default n 514 help 515 Select this option if you want to build an zfcpdump enabled kernel. 516 Refer to "Documentation/s390/zfcpdump.txt" for more details on this. 517 518endmenu 519 520source "net/Kconfig" 521 522config PCMCIA 523 def_bool n 524 525config CCW 526 def_bool y 527 528source "drivers/Kconfig" 529 530source "fs/Kconfig" 531 532source "kernel/Kconfig.instrumentation" 533 534source "arch/s390/Kconfig.debug" 535 536source "security/Kconfig" 537 538source "crypto/Kconfig" 539 540source "lib/Kconfig" 541