OSDN Git Service

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