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