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