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