]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/s390/Kconfig
Merge tag 'nfs-for-3.6-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[karo-tx-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 NO_IOMEM
38         def_bool y
39
40 config NO_DMA
41         def_bool y
42
43 config ARCH_DMA_ADDR_T_64BIT
44         def_bool 64BIT
45
46 config GENERIC_LOCKBREAK
47         def_bool y if SMP && PREEMPT
48
49 config PGSTE
50         def_bool y if KVM
51
52 config VIRT_CPU_ACCOUNTING
53         def_bool y
54
55 config ARCH_SUPPORTS_DEBUG_PAGEALLOC
56         def_bool y
57
58 config S390
59         def_bool y
60         select USE_GENERIC_SMP_HELPERS if SMP
61         select GENERIC_CPU_DEVICES if !SMP
62         select HAVE_SYSCALL_WRAPPERS
63         select HAVE_FUNCTION_TRACER
64         select HAVE_FUNCTION_TRACE_MCOUNT_TEST
65         select HAVE_FTRACE_MCOUNT_RECORD
66         select HAVE_C_RECORDMCOUNT
67         select HAVE_SYSCALL_TRACEPOINTS
68         select HAVE_DYNAMIC_FTRACE
69         select HAVE_FUNCTION_GRAPH_TRACER
70         select HAVE_REGS_AND_STACK_ACCESS_API
71         select HAVE_OPROFILE
72         select HAVE_KPROBES
73         select HAVE_KRETPROBES
74         select HAVE_KVM if 64BIT
75         select HAVE_ARCH_TRACEHOOK
76         select INIT_ALL_POSSIBLE
77         select HAVE_IRQ_WORK
78         select HAVE_PERF_EVENTS
79         select ARCH_HAVE_NMI_SAFE_CMPXCHG
80         select HAVE_KERNEL_GZIP
81         select HAVE_KERNEL_BZIP2
82         select HAVE_KERNEL_LZMA
83         select HAVE_KERNEL_LZO
84         select HAVE_KERNEL_XZ
85         select HAVE_ARCH_MUTEX_CPU_RELAX
86         select HAVE_ARCH_JUMP_LABEL if !MARCH_G5
87         select ARCH_SAVE_PAGE_KEYS if HIBERNATION
88         select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
89         select HAVE_MEMBLOCK
90         select HAVE_MEMBLOCK_NODE_MAP
91         select HAVE_CMPXCHG_LOCAL
92         select ARCH_DISCARD_MEMBLOCK
93         select ARCH_INLINE_SPIN_TRYLOCK
94         select ARCH_INLINE_SPIN_TRYLOCK_BH
95         select ARCH_INLINE_SPIN_LOCK
96         select ARCH_INLINE_SPIN_LOCK_BH
97         select ARCH_INLINE_SPIN_LOCK_IRQ
98         select ARCH_INLINE_SPIN_LOCK_IRQSAVE
99         select ARCH_INLINE_SPIN_UNLOCK
100         select ARCH_INLINE_SPIN_UNLOCK_BH
101         select ARCH_INLINE_SPIN_UNLOCK_IRQ
102         select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE
103         select ARCH_INLINE_READ_TRYLOCK
104         select ARCH_INLINE_READ_LOCK
105         select ARCH_INLINE_READ_LOCK_BH
106         select ARCH_INLINE_READ_LOCK_IRQ
107         select ARCH_INLINE_READ_LOCK_IRQSAVE
108         select ARCH_INLINE_READ_UNLOCK
109         select ARCH_INLINE_READ_UNLOCK_BH
110         select ARCH_INLINE_READ_UNLOCK_IRQ
111         select ARCH_INLINE_READ_UNLOCK_IRQRESTORE
112         select ARCH_INLINE_WRITE_TRYLOCK
113         select ARCH_INLINE_WRITE_LOCK
114         select ARCH_INLINE_WRITE_LOCK_BH
115         select ARCH_INLINE_WRITE_LOCK_IRQ
116         select ARCH_INLINE_WRITE_LOCK_IRQSAVE
117         select ARCH_INLINE_WRITE_UNLOCK
118         select ARCH_INLINE_WRITE_UNLOCK_BH
119         select ARCH_INLINE_WRITE_UNLOCK_IRQ
120         select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE
121         select ARCH_WANT_IPC_PARSE_VERSION
122         select GENERIC_SMP_IDLE_THREAD
123         select GENERIC_TIME_VSYSCALL
124         select GENERIC_CLOCKEVENTS
125         select KTIME_SCALAR if 32BIT
126
127 config SCHED_OMIT_FRAME_POINTER
128         def_bool y
129
130 source "init/Kconfig"
131
132 source "kernel/Kconfig.freezer"
133
134 menu "Base setup"
135
136 comment "Processor type and features"
137
138 config 64BIT
139         def_bool y
140         prompt "64 bit kernel"
141         help
142           Select this option if you have an IBM z/Architecture machine
143           and want to use the 64 bit addressing mode.
144
145 config 32BIT
146         def_bool y if !64BIT
147
148 config SMP
149         def_bool y
150         prompt "Symmetric multi-processing support"
151         ---help---
152           This enables support for systems with more than one CPU. If you have
153           a system with only one CPU, like most personal computers, say N. If
154           you have a system with more than one CPU, say Y.
155
156           If you say N here, the kernel will run on single and multiprocessor
157           machines, but will use only one CPU of a multiprocessor machine. If
158           you say Y here, the kernel will run on many, but not all,
159           singleprocessor machines. On a singleprocessor machine, the kernel
160           will run faster if you say N here.
161
162           See also the SMP-HOWTO available at
163           <http://www.tldp.org/docs.html#howto>.
164
165           Even if you don't know what to do here, say Y.
166
167 config NR_CPUS
168         int "Maximum number of CPUs (2-64)"
169         range 2 64
170         depends on SMP
171         default "32" if !64BIT
172         default "64" if 64BIT
173         help
174           This allows you to specify the maximum number of CPUs which this
175           kernel will support.  The maximum supported value is 64 and the
176           minimum value which makes sense is 2.
177
178           This is purely to save memory - each supported CPU adds
179           approximately sixteen kilobytes to the kernel image.
180
181 config HOTPLUG_CPU
182         def_bool y
183         prompt "Support for hot-pluggable CPUs"
184         depends on SMP
185         select HOTPLUG
186         help
187           Say Y here to be able to turn CPUs off and on. CPUs
188           can be controlled through /sys/devices/system/cpu/cpu#.
189           Say N if you want to disable CPU hotplug.
190
191 config SCHED_MC
192         def_bool n
193
194 config SCHED_BOOK
195         def_bool y
196         prompt "Book scheduler support"
197         depends on SMP
198         select SCHED_MC
199         help
200           Book scheduler support improves the CPU scheduler's decision making
201           when dealing with machines that have several books.
202
203 config MATHEMU
204         def_bool y
205         prompt "IEEE FPU emulation"
206         depends on MARCH_G5
207         help
208           This option is required for IEEE compliant floating point arithmetic
209           on older ESA/390 machines. Say Y unless you know your machine doesn't
210           need this.
211
212 config COMPAT
213         def_bool y
214         prompt "Kernel support for 31 bit emulation"
215         depends on 64BIT
216         select COMPAT_BINFMT_ELF if BINFMT_ELF
217         select ARCH_WANT_OLD_COMPAT_IPC
218         help
219           Select this option if you want to enable your system kernel to
220           handle system-calls from ELF binaries for 31 bit ESA.  This option
221           (and some other stuff like libraries and such) is needed for
222           executing 31 bit applications.  It is safe to say "Y".
223
224 config SYSVIPC_COMPAT
225         def_bool y if COMPAT && SYSVIPC
226
227 config KEYS_COMPAT
228         def_bool y if COMPAT && KEYS
229
230 config AUDIT_ARCH
231         def_bool y
232
233 config HAVE_MARCH_Z900_FEATURES
234         def_bool n
235
236 config HAVE_MARCH_Z990_FEATURES
237         def_bool n
238         select HAVE_MARCH_Z900_FEATURES
239
240 config HAVE_MARCH_Z9_109_FEATURES
241         def_bool n
242         select HAVE_MARCH_Z990_FEATURES
243
244 config HAVE_MARCH_Z10_FEATURES
245         def_bool n
246         select HAVE_MARCH_Z9_109_FEATURES
247
248 config HAVE_MARCH_Z196_FEATURES
249         def_bool n
250         select HAVE_MARCH_Z10_FEATURES
251
252 comment "Code generation options"
253
254 choice
255         prompt "Processor type"
256         default MARCH_G5
257
258 config MARCH_G5
259         bool "System/390 model G5 and G6"
260         depends on !64BIT
261         help
262           Select this to build a 31 bit kernel that works
263           on all ESA/390 and z/Architecture machines.
264
265 config MARCH_Z900
266         bool "IBM zSeries model z800 and z900"
267         select HAVE_MARCH_Z900_FEATURES if 64BIT
268         help
269           Select this to enable optimizations for model z800/z900 (2064 and
270           2066 series). This will enable some optimizations that are not
271           available on older ESA/390 (31 Bit) only CPUs.
272
273 config MARCH_Z990
274         bool "IBM zSeries model z890 and z990"
275         select HAVE_MARCH_Z990_FEATURES if 64BIT
276         help
277           Select this to enable optimizations for model z890/z990 (2084 and
278           2086 series). The kernel will be slightly faster but will not work
279           on older machines.
280
281 config MARCH_Z9_109
282         bool "IBM System z9"
283         select HAVE_MARCH_Z9_109_FEATURES if 64BIT
284         help
285           Select this to enable optimizations for IBM System z9 (2094 and
286           2096 series). The kernel will be slightly faster but will not work
287           on older machines.
288
289 config MARCH_Z10
290         bool "IBM System z10"
291         select HAVE_MARCH_Z10_FEATURES if 64BIT
292         help
293           Select this to enable optimizations for IBM System z10 (2097 and
294           2098 series). The kernel will be slightly faster but will not work
295           on older machines.
296
297 config MARCH_Z196
298         bool "IBM zEnterprise 114 and 196"
299         select HAVE_MARCH_Z196_FEATURES if 64BIT
300         help
301           Select this to enable optimizations for IBM zEnterprise 114 and 196
302           (2818 and 2817 series). The kernel will be slightly faster but will
303           not work on older machines.
304
305 endchoice
306
307 config PACK_STACK
308         def_bool y
309         prompt "Pack kernel stack"
310         help
311           This option enables the compiler option -mkernel-backchain if it
312           is available. If the option is available the compiler supports
313           the new stack layout which dramatically reduces the minimum stack
314           frame size. With an old compiler a non-leaf function needs a
315           minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With
316           -mkernel-backchain the minimum size drops to 16 byte on 31 bit
317           and 24 byte on 64 bit.
318
319           Say Y if you are unsure.
320
321 config SMALL_STACK
322         def_bool n
323         prompt "Use 8kb for kernel stack instead of 16kb"
324         depends on PACK_STACK && 64BIT && !LOCKDEP
325         help
326           If you say Y here and the compiler supports the -mkernel-backchain
327           option the kernel will use a smaller kernel stack size. The reduced
328           size is 8kb instead of 16kb. This allows to run more threads on a
329           system and reduces the pressure on the memory management for higher
330           order page allocations.
331
332           Say N if you are unsure.
333
334 config CHECK_STACK
335         def_bool y
336         prompt "Detect kernel stack overflow"
337         help
338           This option enables the compiler option -mstack-guard and
339           -mstack-size if they are available. If the compiler supports them
340           it will emit additional code to each function prolog to trigger
341           an illegal operation if the kernel stack is about to overflow.
342
343           Say N if you are unsure.
344
345 config STACK_GUARD
346         int "Size of the guard area (128-1024)"
347         range 128 1024
348         depends on CHECK_STACK
349         default "256"
350         help
351           This allows you to specify the size of the guard area at the lower
352           end of the kernel stack. If the kernel stack points into the guard
353           area on function entry an illegal operation is triggered. The size
354           needs to be a power of 2. Please keep in mind that the size of an
355           interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit.
356           The minimum size for the stack guard should be 256 for 31 bit and
357           512 for 64 bit.
358
359 config WARN_DYNAMIC_STACK
360         def_bool n
361         prompt "Emit compiler warnings for function with dynamic stack usage"
362         help
363           This option enables the compiler option -mwarn-dynamicstack. If the
364           compiler supports this options generates warnings for functions
365           that dynamically allocate stack space using alloca.
366
367           Say N if you are unsure.
368
369 comment "Kernel preemption"
370
371 source "kernel/Kconfig.preempt"
372
373 config ARCH_SPARSEMEM_ENABLE
374         def_bool y
375         select SPARSEMEM_VMEMMAP_ENABLE
376         select SPARSEMEM_VMEMMAP
377         select SPARSEMEM_STATIC if !64BIT
378
379 config ARCH_SPARSEMEM_DEFAULT
380         def_bool y
381
382 config ARCH_SELECT_MEMORY_MODEL
383         def_bool y
384
385 config ARCH_ENABLE_MEMORY_HOTPLUG
386         def_bool y if SPARSEMEM
387
388 config ARCH_ENABLE_MEMORY_HOTREMOVE
389         def_bool y
390
391 config ARCH_HIBERNATION_POSSIBLE
392         def_bool y if 64BIT
393
394 source "mm/Kconfig"
395
396 comment "I/O subsystem configuration"
397
398 config QDIO
399         def_tristate y
400         prompt "QDIO support"
401         ---help---
402           This driver provides the Queued Direct I/O base support for
403           IBM System z.
404
405           To compile this driver as a module, choose M here: the
406           module will be called qdio.
407
408           If unsure, say Y.
409
410 config CHSC_SCH
411         def_tristate m
412         prompt "Support for CHSC subchannels"
413         help
414           This driver allows usage of CHSC subchannels. A CHSC subchannel
415           is usually present on LPAR only.
416           The driver creates a device /dev/chsc, which may be used to
417           obtain I/O configuration information about the machine and
418           to issue asynchronous chsc commands (DANGEROUS).
419           You will usually only want to use this interface on a special
420           LPAR designated for system management.
421
422           To compile this driver as a module, choose M here: the
423           module will be called chsc_sch.
424
425           If unsure, say N.
426
427 comment "Misc"
428
429 source "fs/Kconfig.binfmt"
430
431 config FORCE_MAX_ZONEORDER
432         int
433         default "9"
434
435 config PFAULT
436         def_bool y
437         prompt "Pseudo page fault support"
438         help
439           Select this option, if you want to use PFAULT pseudo page fault
440           handling under VM. If running native or in LPAR, this option
441           has no effect. If your VM does not support PFAULT, PAGEEX
442           pseudo page fault handling will be used.
443           Note that VM 4.2 supports PFAULT but has a bug in its
444           implementation that causes some problems.
445           Everybody who wants to run Linux under VM != VM4.2 should select
446           this option.
447
448 config SHARED_KERNEL
449         def_bool y
450         prompt "VM shared kernel support"
451         help
452           Select this option, if you want to share the text segment of the
453           Linux kernel between different VM guests. This reduces memory
454           usage with lots of guests but greatly increases kernel size.
455           Also if a kernel was IPL'ed from a shared segment the kexec system
456           call will not work.
457           You should only select this option if you know what you are
458           doing and want to exploit this feature.
459
460 config CMM
461         def_tristate n
462         prompt "Cooperative memory management"
463         help
464           Select this option, if you want to enable the kernel interface
465           to reduce the memory size of the system. This is accomplished
466           by allocating pages of memory and put them "on hold". This only
467           makes sense for a system running under VM where the unused pages
468           will be reused by VM for other guest systems. The interface
469           allows an external monitor to balance memory of many systems.
470           Everybody who wants to run Linux under VM should select this
471           option.
472
473 config CMM_IUCV
474         def_bool y
475         prompt "IUCV special message interface to cooperative memory management"
476         depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV)
477         help
478           Select this option to enable the special message interface to
479           the cooperative memory management.
480
481 config APPLDATA_BASE
482         def_bool n
483         prompt "Linux - VM Monitor Stream, base infrastructure"
484         depends on PROC_FS
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
497 config APPLDATA_MEM
498         def_tristate m
499         prompt "Monitor memory management statistics"
500         depends on APPLDATA_BASE && VM_EVENT_COUNTERS
501         help
502           This provides memory management related data to the Linux - VM Monitor
503           Stream, like paging/swapping rate, memory utilisation, etc.
504           Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM
505           APPLDATA monitor record, i.e. enables or disables monitoring this record
506           on the z/VM side.
507
508           Default is disabled.
509           The /proc entry can also be read from, showing the current settings.
510
511           This can also be compiled as a module, which will be called
512           appldata_mem.o.
513
514 config APPLDATA_OS
515         def_tristate m
516         prompt "Monitor OS statistics"
517         depends on APPLDATA_BASE
518         help
519           This provides OS related data to the Linux - VM Monitor Stream, like
520           CPU utilisation, etc.
521           Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM
522           APPLDATA monitor record, i.e. enables or disables monitoring this record
523           on the z/VM side.
524
525           Default is disabled.
526           This can also be compiled as a module, which will be called
527           appldata_os.o.
528
529 config APPLDATA_NET_SUM
530         def_tristate m
531         prompt "Monitor overall network statistics"
532         depends on APPLDATA_BASE && NET
533         help
534           This provides network related data to the Linux - VM Monitor Stream,
535           currently there is only a total sum of network I/O statistics, no
536           per-interface data.
537           Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM
538           APPLDATA monitor record, i.e. enables or disables monitoring this record
539           on the z/VM side.
540
541           Default is disabled.
542           This can also be compiled as a module, which will be called
543           appldata_net_sum.o.
544
545 source kernel/Kconfig.hz
546
547 config S390_HYPFS_FS
548         def_bool y
549         prompt "s390 hypervisor file system support"
550         select SYS_HYPERVISOR
551         help
552           This is a virtual file system intended to provide accounting
553           information in an s390 hypervisor environment.
554
555 config KEXEC
556         def_bool n
557         prompt "kexec system call"
558         help
559           kexec is a system call that implements the ability to shutdown your
560           current kernel, and to start another kernel.  It is like a reboot
561           but is independent of hardware/microcode support.
562
563 config CRASH_DUMP
564         bool "kernel crash dumps"
565         depends on 64BIT && SMP
566         select KEXEC
567         help
568           Generate crash dump after being started by kexec.
569           Crash dump kernels are loaded in the main kernel with kexec-tools
570           into a specially reserved region and then later executed after
571           a crash by kdump/kexec.
572           For more details see Documentation/kdump/kdump.txt
573
574 config ZFCPDUMP
575         def_bool n
576         prompt "zfcpdump support"
577         select SMP
578         help
579           Select this option if you want to build an zfcpdump enabled kernel.
580           Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
581
582 config S390_GUEST
583         def_bool y
584         prompt "s390 guest support for KVM (EXPERIMENTAL)"
585         depends on 64BIT && EXPERIMENTAL
586         select VIRTUALIZATION
587         select VIRTIO
588         select VIRTIO_RING
589         select VIRTIO_CONSOLE
590         help
591           Select this option if you want to run the kernel as a guest under
592           the KVM hypervisor. This will add detection for KVM as well  as a
593           virtio transport. If KVM is detected, the virtio console will be
594           the default console.
595
596 config SECCOMP
597         def_bool y
598         prompt "Enable seccomp to safely compute untrusted bytecode"
599         depends on PROC_FS
600         help
601           This kernel feature is useful for number crunching applications
602           that may need to compute untrusted bytecode during their
603           execution. By using pipes or other transports made available to
604           the process as file descriptors supporting the read/write
605           syscalls, it's possible to isolate those applications in
606           their own address space using seccomp. Once seccomp is
607           enabled via /proc/<pid>/seccomp, it cannot be disabled
608           and the task is only allowed to execute a few safe syscalls
609           defined by each seccomp mode.
610
611           If unsure, say Y.
612
613 endmenu
614
615 menu "Power Management"
616
617 source "kernel/power/Kconfig"
618
619 endmenu
620
621 source "net/Kconfig"
622
623 config PCMCIA
624         def_bool n
625
626 config CCW
627         def_bool y
628
629 source "drivers/Kconfig"
630
631 source "fs/Kconfig"
632
633 source "arch/s390/Kconfig.debug"
634
635 source "security/Kconfig"
636
637 source "crypto/Kconfig"
638
639 source "lib/Kconfig"
640
641 source "arch/s390/kvm/Kconfig"