Merge tag 'for_linux-3.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jwess...
[cascardo/linux.git] / arch / s390 / Kconfig
1 config MMU
2         def_bool y
3
4 config ZONE_DMA
5         def_bool y
6
7 config LOCKDEP_SUPPORT
8         def_bool y
9
10 config STACKTRACE_SUPPORT
11         def_bool y
12
13 config HAVE_LATENCYTOP_SUPPORT
14         def_bool y
15
16 config RWSEM_GENERIC_SPINLOCK
17         bool
18
19 config RWSEM_XCHGADD_ALGORITHM
20         def_bool y
21
22 config ARCH_HAS_ILOG2_U32
23         def_bool n
24
25 config ARCH_HAS_ILOG2_U64
26         def_bool n
27
28 config GENERIC_HWEIGHT
29         def_bool y
30
31 config GENERIC_BUG
32         def_bool y if BUG
33
34 config GENERIC_BUG_RELATIVE_POINTERS
35         def_bool y
36
37 config ARCH_DMA_ADDR_T_64BIT
38         def_bool 64BIT
39
40 config GENERIC_LOCKBREAK
41         def_bool y if SMP && PREEMPT
42
43 config PGSTE
44         def_bool y if KVM
45
46 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
47         def_bool y
48
49 config KEXEC
50         def_bool y
51
52 config AUDIT_ARCH
53         def_bool y
54
55 config NO_IOPORT_MAP
56         def_bool y
57
58 config PCI_QUIRKS
59         def_bool n
60
61 config ARCH_SUPPORTS_UPROBES
62         def_bool 64BIT
63
64 config S390
65         def_bool y
66         select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
67         select ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS
68         select ARCH_HAS_GCOV_PROFILE_ALL
69         select ARCH_HAS_SG_CHAIN
70         select ARCH_HAVE_NMI_SAFE_CMPXCHG
71         select ARCH_INLINE_READ_LOCK
72         select ARCH_INLINE_READ_LOCK_BH
73         select ARCH_INLINE_READ_LOCK_IRQ
74         select ARCH_INLINE_READ_LOCK_IRQSAVE
75         select ARCH_INLINE_READ_TRYLOCK
76         select ARCH_INLINE_READ_UNLOCK
77         select ARCH_INLINE_READ_UNLOCK_BH
78         select ARCH_INLINE_READ_UNLOCK_IRQ
79         select ARCH_INLINE_READ_UNLOCK_IRQRESTORE
80         select ARCH_INLINE_SPIN_LOCK
81         select ARCH_INLINE_SPIN_LOCK_BH
82         select ARCH_INLINE_SPIN_LOCK_IRQ
83         select ARCH_INLINE_SPIN_LOCK_IRQSAVE
84         select ARCH_INLINE_SPIN_TRYLOCK
85         select ARCH_INLINE_SPIN_TRYLOCK_BH
86         select ARCH_INLINE_SPIN_UNLOCK
87         select ARCH_INLINE_SPIN_UNLOCK_BH
88         select ARCH_INLINE_SPIN_UNLOCK_IRQ
89         select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
90         select ARCH_INLINE_WRITE_LOCK
91         select ARCH_INLINE_WRITE_LOCK_BH
92         select ARCH_INLINE_WRITE_LOCK_IRQ
93         select ARCH_INLINE_WRITE_LOCK_IRQSAVE
94         select ARCH_INLINE_WRITE_TRYLOCK
95         select ARCH_INLINE_WRITE_UNLOCK
96         select ARCH_INLINE_WRITE_UNLOCK_BH
97         select ARCH_INLINE_WRITE_UNLOCK_IRQ
98         select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
99         select ARCH_SAVE_PAGE_KEYS if HIBERNATION
100         select ARCH_SUPPORTS_ATOMIC_RMW
101         select ARCH_USE_CMPXCHG_LOCKREF
102         select ARCH_WANT_IPC_PARSE_VERSION
103         select BUILDTIME_EXTABLE_SORT
104         select CLONE_BACKWARDS2
105         select DYNAMIC_FTRACE if FUNCTION_TRACER
106         select GENERIC_CLOCKEVENTS
107         select GENERIC_CPU_DEVICES if !SMP
108         select GENERIC_FIND_FIRST_BIT
109         select GENERIC_SMP_IDLE_THREAD
110         select GENERIC_TIME_VSYSCALL
111         select HAVE_ALIGNED_STRUCT_PAGE if SLUB
112         select HAVE_ARCH_AUDITSYSCALL
113         select HAVE_ARCH_JUMP_LABEL if !MARCH_G5
114         select HAVE_ARCH_SECCOMP_FILTER
115         select HAVE_ARCH_TRACEHOOK
116         select HAVE_ARCH_TRANSPARENT_HUGEPAGE if 64BIT
117         select HAVE_BPF_JIT if 64BIT && PACK_STACK
118         select HAVE_CMPXCHG_DOUBLE
119         select HAVE_CMPXCHG_LOCAL
120         select HAVE_DEBUG_KMEMLEAK
121         select HAVE_DYNAMIC_FTRACE if 64BIT
122         select HAVE_DYNAMIC_FTRACE_WITH_REGS if 64BIT
123         select HAVE_FTRACE_MCOUNT_RECORD
124         select HAVE_FUNCTION_GRAPH_TRACER if 64BIT
125         select HAVE_FUNCTION_TRACER if 64BIT
126         select HAVE_FUTEX_CMPXCHG if FUTEX
127         select HAVE_KERNEL_BZIP2
128         select HAVE_KERNEL_GZIP
129         select HAVE_KERNEL_LZ4
130         select HAVE_KERNEL_LZMA
131         select HAVE_KERNEL_LZO
132         select HAVE_KERNEL_XZ
133         select HAVE_KPROBES
134         select HAVE_KRETPROBES
135         select HAVE_KVM if 64BIT
136         select HAVE_MEMBLOCK
137         select HAVE_MEMBLOCK_NODE_MAP
138         select HAVE_MEMBLOCK_PHYS_MAP
139         select HAVE_MOD_ARCH_SPECIFIC
140         select HAVE_OPROFILE
141         select HAVE_PERF_EVENTS
142         select HAVE_REGS_AND_STACK_ACCESS_API
143         select HAVE_SYSCALL_TRACEPOINTS
144         select HAVE_UID16 if 32BIT
145         select HAVE_VIRT_CPU_ACCOUNTING
146         select MODULES_USE_ELF_RELA
147         select NO_BOOTMEM
148         select OLD_SIGACTION
149         select OLD_SIGSUSPEND3
150         select SYSCTL_EXCEPTION_TRACE
151         select TTY
152         select VIRT_CPU_ACCOUNTING
153         select VIRT_TO_BUS
154
155 config SCHED_OMIT_FRAME_POINTER
156         def_bool y
157
158 source "init/Kconfig"
159
160 source "kernel/Kconfig.freezer"
161
162 menu "Processor type and features"
163
164 config HAVE_MARCH_Z900_FEATURES
165         def_bool n
166
167 config HAVE_MARCH_Z990_FEATURES
168         def_bool n
169         select HAVE_MARCH_Z900_FEATURES
170
171 config HAVE_MARCH_Z9_109_FEATURES
172         def_bool n
173         select HAVE_MARCH_Z990_FEATURES
174
175 config HAVE_MARCH_Z10_FEATURES
176         def_bool n
177         select HAVE_MARCH_Z9_109_FEATURES
178
179 config HAVE_MARCH_Z196_FEATURES
180         def_bool n
181         select HAVE_MARCH_Z10_FEATURES
182
183 config HAVE_MARCH_ZEC12_FEATURES
184         def_bool n
185         select HAVE_MARCH_Z196_FEATURES
186
187 config HAVE_MARCH_Z13_FEATURES
188         def_bool n
189         select HAVE_MARCH_ZEC12_FEATURES
190
191 choice
192         prompt "Processor type"
193         default MARCH_G5
194
195 config MARCH_G5
196         bool "System/390 model G5 and G6"
197         depends on !64BIT
198         help
199           Select this to build a 31 bit kernel that works
200           on all ESA/390 and z/Architecture machines.
201
202 config MARCH_Z900
203         bool "IBM zSeries model z800 and z900"
204         select HAVE_MARCH_Z900_FEATURES if 64BIT
205         help
206           Select this to enable optimizations for model z800/z900 (2064 and
207           2066 series). This will enable some optimizations that are not
208           available on older ESA/390 (31 Bit) only CPUs.
209
210 config MARCH_Z990
211         bool "IBM zSeries model z890 and z990"
212         select HAVE_MARCH_Z990_FEATURES if 64BIT
213         help
214           Select this to enable optimizations for model z890/z990 (2084 and
215           2086 series). The kernel will be slightly faster but will not work
216           on older machines.
217
218 config MARCH_Z9_109
219         bool "IBM System z9"
220         select HAVE_MARCH_Z9_109_FEATURES if 64BIT
221         help
222           Select this to enable optimizations for IBM System z9 (2094 and
223           2096 series). The kernel will be slightly faster but will not work
224           on older machines.
225
226 config MARCH_Z10
227         bool "IBM System z10"
228         select HAVE_MARCH_Z10_FEATURES if 64BIT
229         help
230           Select this to enable optimizations for IBM System z10 (2097 and
231           2098 series). The kernel will be slightly faster but will not work
232           on older machines.
233
234 config MARCH_Z196
235         bool "IBM zEnterprise 114 and 196"
236         select HAVE_MARCH_Z196_FEATURES if 64BIT
237         help
238           Select this to enable optimizations for IBM zEnterprise 114 and 196
239           (2818 and 2817 series). The kernel will be slightly faster but will
240           not work on older machines.
241
242 config MARCH_ZEC12
243         bool "IBM zBC12 and zEC12"
244         select HAVE_MARCH_ZEC12_FEATURES if 64BIT
245         help
246           Select this to enable optimizations for IBM zBC12 and zEC12 (2828 and
247           2827 series). The kernel will be slightly faster but will not work on
248           older machines.
249
250 config MARCH_Z13
251         bool "IBM z13"
252         select HAVE_MARCH_Z13_FEATURES if 64BIT
253         help
254           Select this to enable optimizations for IBM z13 (2964 series).
255           The kernel will be slightly faster but will not work on older
256           machines.
257
258 endchoice
259
260 config MARCH_G5_TUNE
261         def_bool TUNE_G5 || MARCH_G5 && TUNE_DEFAULT
262
263 config MARCH_Z900_TUNE
264         def_bool TUNE_Z900 || MARCH_Z900 && TUNE_DEFAULT
265
266 config MARCH_Z990_TUNE
267         def_bool TUNE_Z990 || MARCH_Z990 && TUNE_DEFAULT
268
269 config MARCH_Z9_109_TUNE
270         def_bool TUNE_Z9_109 || MARCH_Z9_109 && TUNE_DEFAULT
271
272 config MARCH_Z10_TUNE
273         def_bool TUNE_Z10 || MARCH_Z10 && TUNE_DEFAULT
274
275 config MARCH_Z196_TUNE
276         def_bool TUNE_Z196 || MARCH_Z196 && TUNE_DEFAULT
277
278 config MARCH_ZEC12_TUNE
279         def_bool TUNE_ZEC12 || MARCH_ZEC12 && TUNE_DEFAULT
280
281 config MARCH_Z13_TUNE
282         def_bool TUNE_Z13 || MARCH_Z13 && TUNE_DEFAULT
283
284 choice
285         prompt "Tune code generation"
286         default TUNE_DEFAULT
287         help
288           Cause the compiler to tune (-mtune) the generated code for a machine.
289           This will make the code run faster on the selected machine but
290           somewhat slower on other machines.
291           This option only changes how the compiler emits instructions, not the
292           selection of instructions itself, so the resulting kernel will run on
293           all other machines.
294
295 config TUNE_DEFAULT
296         bool "Default"
297         help
298           Tune the generated code for the target processor for which the kernel
299           will be compiled.
300
301 config TUNE_G5
302         bool "System/390 model G5 and G6"
303
304 config TUNE_Z900
305         bool "IBM zSeries model z800 and z900"
306
307 config TUNE_Z990
308         bool "IBM zSeries model z890 and z990"
309
310 config TUNE_Z9_109
311         bool "IBM System z9"
312
313 config TUNE_Z10
314         bool "IBM System z10"
315
316 config TUNE_Z196
317         bool "IBM zEnterprise 114 and 196"
318
319 config TUNE_ZEC12
320         bool "IBM zBC12 and zEC12"
321
322 config TUNE_Z13
323         bool "IBM z13"
324
325 endchoice
326
327 config 64BIT
328         def_bool y
329         prompt "64 bit kernel"
330         help
331           Select this option if you have an IBM z/Architecture machine
332           and want to use the 64 bit addressing mode.
333
334 config 32BIT
335         def_bool y if !64BIT
336
337 config COMPAT
338         def_bool y
339         prompt "Kernel support for 31 bit emulation"
340         depends on 64BIT
341         select COMPAT_BINFMT_ELF if BINFMT_ELF
342         select ARCH_WANT_OLD_COMPAT_IPC
343         select COMPAT_OLD_SIGACTION
344         help
345           Select this option if you want to enable your system kernel to
346           handle system-calls from ELF binaries for 31 bit ESA.  This option
347           (and some other stuff like libraries and such) is needed for
348           executing 31 bit applications.  It is safe to say "Y".
349
350 config SYSVIPC_COMPAT
351         def_bool y if COMPAT && SYSVIPC
352
353 config KEYS_COMPAT
354         def_bool y if COMPAT && KEYS
355
356 config SMP
357         def_bool y
358         prompt "Symmetric multi-processing support"
359         ---help---
360           This enables support for systems with more than one CPU. If you have
361           a system with only one CPU, like most personal computers, say N. If
362           you have a system with more than one CPU, say Y.
363
364           If you say N here, the kernel will run on uni- and multiprocessor
365           machines, but will use only one CPU of a multiprocessor machine. If
366           you say Y here, the kernel will run on many, but not all,
367           uniprocessor machines. On a uniprocessor machine, the kernel
368           will run faster if you say N here.
369
370           See also the SMP-HOWTO available at
371           <http://www.tldp.org/docs.html#howto>.
372
373           Even if you don't know what to do here, say Y.
374
375 config NR_CPUS
376         int "Maximum number of CPUs (2-512)"
377         range 2 512
378         depends on SMP
379         default "32" if !64BIT
380         default "64" if 64BIT
381         help
382           This allows you to specify the maximum number of CPUs which this
383           kernel will support. The maximum supported value is 512 and the
384           minimum value which makes sense is 2.
385
386           This is purely to save memory - each supported CPU adds
387           approximately sixteen kilobytes to the kernel image.
388
389 config HOTPLUG_CPU
390         def_bool y
391         prompt "Support for hot-pluggable CPUs"
392         depends on SMP
393         help
394           Say Y here to be able to turn CPUs off and on. CPUs
395           can be controlled through /sys/devices/system/cpu/cpu#.
396           Say N if you want to disable CPU hotplug.
397
398 config SCHED_SMT
399         def_bool n
400
401 config SCHED_MC
402         def_bool n
403
404 config SCHED_BOOK
405         def_bool n
406
407 config SCHED_TOPOLOGY
408         def_bool y
409         prompt "Topology scheduler support"
410         depends on SMP
411         select SCHED_SMT
412         select SCHED_MC
413         select SCHED_BOOK
414         help
415           Topology scheduler support improves the CPU scheduler's decision
416           making when dealing with machines that have multi-threading,
417           multiple cores or multiple books.
418
419 source kernel/Kconfig.preempt
420
421 config MATHEMU
422         def_bool y
423         prompt "IEEE FPU emulation"
424         depends on MARCH_G5
425         help
426           This option is required for IEEE compliant floating point arithmetic
427           on older ESA/390 machines. Say Y unless you know your machine doesn't
428           need this.
429
430 source kernel/Kconfig.hz
431
432 endmenu
433
434 menu "Memory setup"
435
436 config ARCH_SPARSEMEM_ENABLE
437         def_bool y
438         select SPARSEMEM_VMEMMAP_ENABLE
439         select SPARSEMEM_VMEMMAP
440         select SPARSEMEM_STATIC if !64BIT
441
442 config ARCH_SPARSEMEM_DEFAULT
443         def_bool y
444
445 config ARCH_SELECT_MEMORY_MODEL
446         def_bool y
447
448 config ARCH_ENABLE_MEMORY_HOTPLUG
449         def_bool y if SPARSEMEM
450
451 config ARCH_ENABLE_MEMORY_HOTREMOVE
452         def_bool y
453
454 config ARCH_ENABLE_SPLIT_PMD_PTLOCK
455         def_bool y
456         depends on 64BIT
457
458 config FORCE_MAX_ZONEORDER
459         int
460         default "9"
461
462 source "mm/Kconfig"
463
464 config PACK_STACK
465         def_bool y
466         prompt "Pack kernel stack"
467         help
468           This option enables the compiler option -mkernel-backchain if it
469           is available. If the option is available the compiler supports
470           the new stack layout which dramatically reduces the minimum stack
471           frame size. With an old compiler a non-leaf function needs a
472           minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With
473           -mkernel-backchain the minimum size drops to 16 byte on 31 bit
474           and 24 byte on 64 bit.
475
476           Say Y if you are unsure.
477
478 config CHECK_STACK
479         def_bool y
480         prompt "Detect kernel stack overflow"
481         help
482           This option enables the compiler option -mstack-guard and
483           -mstack-size if they are available. If the compiler supports them
484           it will emit additional code to each function prolog to trigger
485           an illegal operation if the kernel stack is about to overflow.
486
487           Say N if you are unsure.
488
489 config STACK_GUARD
490         int "Size of the guard area (128-1024)"
491         range 128 1024
492         depends on CHECK_STACK
493         default "256"
494         help
495           This allows you to specify the size of the guard area at the lower
496           end of the kernel stack. If the kernel stack points into the guard
497           area on function entry an illegal operation is triggered. The size
498           needs to be a power of 2. Please keep in mind that the size of an
499           interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit.
500           The minimum size for the stack guard should be 256 for 31 bit and
501           512 for 64 bit.
502
503 config WARN_DYNAMIC_STACK
504         def_bool n
505         prompt "Emit compiler warnings for function with dynamic stack usage"
506         help
507           This option enables the compiler option -mwarn-dynamicstack. If the
508           compiler supports this options generates warnings for functions
509           that dynamically allocate stack space using alloca.
510
511           Say N if you are unsure.
512
513 endmenu
514
515 menu "I/O subsystem"
516
517 config QDIO
518         def_tristate y
519         prompt "QDIO support"
520         ---help---
521           This driver provides the Queued Direct I/O base support for
522           IBM System z.
523
524           To compile this driver as a module, choose M here: the
525           module will be called qdio.
526
527           If unsure, say Y.
528
529 menuconfig PCI
530         bool "PCI support"
531         depends on 64BIT
532         select HAVE_DMA_ATTRS
533         select PCI_MSI
534         help
535           Enable PCI support.
536
537 if PCI
538
539 config PCI_NR_FUNCTIONS
540         int "Maximum number of PCI functions (1-4096)"
541         range 1 4096
542         default "64"
543         help
544           This allows you to specify the maximum number of PCI functions which
545           this kernel will support.
546
547 config PCI_NR_MSI
548         int "Maximum number of MSI interrupts (64-32768)"
549         range 64 32768
550         default "256"
551         help
552           This defines the number of virtual interrupts the kernel will
553           provide for MSI interrupts. If you configure your system to have
554           too few drivers will fail to allocate MSI interrupts for all
555           PCI devices.
556
557 source "drivers/pci/Kconfig"
558 source "drivers/pci/pcie/Kconfig"
559 source "drivers/pci/hotplug/Kconfig"
560
561 endif   # PCI
562
563 config PCI_DOMAINS
564         def_bool PCI
565
566 config HAS_IOMEM
567         def_bool PCI
568
569 config IOMMU_HELPER
570         def_bool PCI
571
572 config HAS_DMA
573         def_bool PCI
574         select HAVE_DMA_API_DEBUG
575
576 config NEED_SG_DMA_LENGTH
577         def_bool PCI
578
579 config NEED_DMA_MAP_STATE
580         def_bool PCI
581
582 config CHSC_SCH
583         def_tristate m
584         prompt "Support for CHSC subchannels"
585         help
586           This driver allows usage of CHSC subchannels. A CHSC subchannel
587           is usually present on LPAR only.
588           The driver creates a device /dev/chsc, which may be used to
589           obtain I/O configuration information about the machine and
590           to issue asynchronous chsc commands (DANGEROUS).
591           You will usually only want to use this interface on a special
592           LPAR designated for system management.
593
594           To compile this driver as a module, choose M here: the
595           module will be called chsc_sch.
596
597           If unsure, say N.
598
599 config SCM_BUS
600         def_bool y
601         depends on 64BIT
602         prompt "SCM bus driver"
603         help
604           Bus driver for Storage Class Memory.
605
606 config EADM_SCH
607         def_tristate m
608         prompt "Support for EADM subchannels"
609         depends on SCM_BUS
610         help
611           This driver allows usage of EADM subchannels. EADM subchannels act
612           as a communication vehicle for SCM increments.
613
614           To compile this driver as a module, choose M here: the
615           module will be called eadm_sch.
616
617 endmenu
618
619 menu "Dump support"
620
621 config CRASH_DUMP
622         bool "kernel crash dumps"
623         depends on 64BIT && SMP
624         select KEXEC
625         help
626           Generate crash dump after being started by kexec.
627           Crash dump kernels are loaded in the main kernel with kexec-tools
628           into a specially reserved region and then later executed after
629           a crash by kdump/kexec.
630           Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
631           This option also enables s390 zfcpdump.
632           See also <file:Documentation/s390/zfcpdump.txt>
633
634 endmenu
635
636 menu "Executable file formats / Emulations"
637
638 source "fs/Kconfig.binfmt"
639
640 config SECCOMP
641         def_bool y
642         prompt "Enable seccomp to safely compute untrusted bytecode"
643         depends on PROC_FS
644         help
645           This kernel feature is useful for number crunching applications
646           that may need to compute untrusted bytecode during their
647           execution. By using pipes or other transports made available to
648           the process as file descriptors supporting the read/write
649           syscalls, it's possible to isolate those applications in
650           their own address space using seccomp. Once seccomp is
651           enabled via /proc/<pid>/seccomp, it cannot be disabled
652           and the task is only allowed to execute a few safe syscalls
653           defined by each seccomp mode.
654
655           If unsure, say Y.
656
657 endmenu
658
659 menu "Power Management"
660
661 config ARCH_HIBERNATION_POSSIBLE
662         def_bool y if 64BIT
663
664 source "kernel/power/Kconfig"
665
666 endmenu
667
668 source "net/Kconfig"
669
670 config PCMCIA
671         def_bool n
672
673 config CCW
674         def_bool y
675
676 source "drivers/Kconfig"
677
678 source "fs/Kconfig"
679
680 source "arch/s390/Kconfig.debug"
681
682 source "security/Kconfig"
683
684 source "crypto/Kconfig"
685
686 source "lib/Kconfig"
687
688 menu "Virtualization"
689
690 config PFAULT
691         def_bool y
692         prompt "Pseudo page fault support"
693         help
694           Select this option, if you want to use PFAULT pseudo page fault
695           handling under VM. If running native or in LPAR, this option
696           has no effect. If your VM does not support PFAULT, PAGEEX
697           pseudo page fault handling will be used.
698           Note that VM 4.2 supports PFAULT but has a bug in its
699           implementation that causes some problems.
700           Everybody who wants to run Linux under VM != VM4.2 should select
701           this option.
702
703 config SHARED_KERNEL
704         bool "VM shared kernel support"
705         depends on !JUMP_LABEL
706         help
707           Select this option, if you want to share the text segment of the
708           Linux kernel between different VM guests. This reduces memory
709           usage with lots of guests but greatly increases kernel size.
710           Also if a kernel was IPL'ed from a shared segment the kexec system
711           call will not work.
712           You should only select this option if you know what you are
713           doing and want to exploit this feature.
714
715 config CMM
716         def_tristate n
717         prompt "Cooperative memory management"
718         help
719           Select this option, if you want to enable the kernel interface
720           to reduce the memory size of the system. This is accomplished
721           by allocating pages of memory and put them "on hold". This only
722           makes sense for a system running under VM where the unused pages
723           will be reused by VM for other guest systems. The interface
724           allows an external monitor to balance memory of many systems.
725           Everybody who wants to run Linux under VM should select this
726           option.
727
728 config CMM_IUCV
729         def_bool y
730         prompt "IUCV special message interface to cooperative memory management"
731         depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV)
732         help
733           Select this option to enable the special message interface to
734           the cooperative memory management.
735
736 config APPLDATA_BASE
737         def_bool n
738         prompt "Linux - VM Monitor Stream, base infrastructure"
739         depends on PROC_FS
740         help
741           This provides a kernel interface for creating and updating z/VM APPLDATA
742           monitor records. The monitor records are updated at certain time
743           intervals, once the timer is started.
744           Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer,
745           i.e. enables or disables monitoring on the Linux side.
746           A custom interval value (in seconds) can be written to
747           /proc/appldata/interval.
748
749           Defaults are 60 seconds interval and timer off.
750           The /proc entries can also be read from, showing the current settings.
751
752 config APPLDATA_MEM
753         def_tristate m
754         prompt "Monitor memory management statistics"
755         depends on APPLDATA_BASE && VM_EVENT_COUNTERS
756         help
757           This provides memory management related data to the Linux - VM Monitor
758           Stream, like paging/swapping rate, memory utilisation, etc.
759           Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM
760           APPLDATA monitor record, i.e. enables or disables monitoring this record
761           on the z/VM side.
762
763           Default is disabled.
764           The /proc entry can also be read from, showing the current settings.
765
766           This can also be compiled as a module, which will be called
767           appldata_mem.o.
768
769 config APPLDATA_OS
770         def_tristate m
771         prompt "Monitor OS statistics"
772         depends on APPLDATA_BASE
773         help
774           This provides OS related data to the Linux - VM Monitor Stream, like
775           CPU utilisation, etc.
776           Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM
777           APPLDATA monitor record, i.e. enables or disables monitoring this record
778           on the z/VM side.
779
780           Default is disabled.
781           This can also be compiled as a module, which will be called
782           appldata_os.o.
783
784 config APPLDATA_NET_SUM
785         def_tristate m
786         prompt "Monitor overall network statistics"
787         depends on APPLDATA_BASE && NET
788         help
789           This provides network related data to the Linux - VM Monitor Stream,
790           currently there is only a total sum of network I/O statistics, no
791           per-interface data.
792           Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM
793           APPLDATA monitor record, i.e. enables or disables monitoring this record
794           on the z/VM side.
795
796           Default is disabled.
797           This can also be compiled as a module, which will be called
798           appldata_net_sum.o.
799
800 config S390_HYPFS_FS
801         def_bool y
802         prompt "s390 hypervisor file system support"
803         select SYS_HYPERVISOR
804         help
805           This is a virtual file system intended to provide accounting
806           information in an s390 hypervisor environment.
807
808 source "arch/s390/kvm/Kconfig"
809
810 config S390_GUEST
811         def_bool y
812         prompt "s390 support for virtio devices"
813         depends on 64BIT
814         select TTY
815         select VIRTUALIZATION
816         select VIRTIO
817         select VIRTIO_CONSOLE
818         help
819           Enabling this option adds support for virtio based paravirtual device
820           drivers on s390.
821
822           Select this option if you want to run the kernel as a guest under
823           the KVM hypervisor.
824
825 endmenu