aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/Kconfig')
-rw-r--r--arch/s390/Kconfig418
1 files changed, 222 insertions, 196 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig
index f5ab543396da..f9acddd9ace3 100644
--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -52,6 +52,12 @@ config PGSTE
52config ARCH_SUPPORTS_DEBUG_PAGEALLOC 52config ARCH_SUPPORTS_DEBUG_PAGEALLOC
53 def_bool y 53 def_bool y
54 54
55config KEXEC
56 def_bool y
57
58config AUDIT_ARCH
59 def_bool y
60
55config S390 61config S390
56 def_bool y 62 def_bool y
57 select USE_GENERIC_SMP_HELPERS if SMP 63 select USE_GENERIC_SMP_HELPERS if SMP
@@ -81,11 +87,13 @@ config S390
81 select HAVE_KERNEL_XZ 87 select HAVE_KERNEL_XZ
82 select HAVE_ARCH_MUTEX_CPU_RELAX 88 select HAVE_ARCH_MUTEX_CPU_RELAX
83 select HAVE_ARCH_JUMP_LABEL if !MARCH_G5 89 select HAVE_ARCH_JUMP_LABEL if !MARCH_G5
90 select HAVE_BPF_JIT if 64BIT && PACK_STACK
84 select ARCH_SAVE_PAGE_KEYS if HIBERNATION 91 select ARCH_SAVE_PAGE_KEYS if HIBERNATION
85 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 92 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
86 select HAVE_MEMBLOCK 93 select HAVE_MEMBLOCK
87 select HAVE_MEMBLOCK_NODE_MAP 94 select HAVE_MEMBLOCK_NODE_MAP
88 select HAVE_CMPXCHG_LOCAL 95 select HAVE_CMPXCHG_LOCAL
96 select HAVE_CMPXCHG_DOUBLE
89 select HAVE_VIRT_CPU_ACCOUNTING 97 select HAVE_VIRT_CPU_ACCOUNTING
90 select VIRT_CPU_ACCOUNTING 98 select VIRT_CPU_ACCOUNTING
91 select ARCH_DISCARD_MEMBLOCK 99 select ARCH_DISCARD_MEMBLOCK
@@ -132,9 +140,79 @@ source "init/Kconfig"
132 140
133source "kernel/Kconfig.freezer" 141source "kernel/Kconfig.freezer"
134 142
135menu "Base setup" 143menu "Processor type and features"
144
145config HAVE_MARCH_Z900_FEATURES
146 def_bool n
147
148config HAVE_MARCH_Z990_FEATURES
149 def_bool n
150 select HAVE_MARCH_Z900_FEATURES
151
152config HAVE_MARCH_Z9_109_FEATURES
153 def_bool n
154 select HAVE_MARCH_Z990_FEATURES
155
156config HAVE_MARCH_Z10_FEATURES
157 def_bool n
158 select HAVE_MARCH_Z9_109_FEATURES
159
160config HAVE_MARCH_Z196_FEATURES
161 def_bool n
162 select HAVE_MARCH_Z10_FEATURES
163
164choice
165 prompt "Processor type"
166 default MARCH_G5
167
168config MARCH_G5
169 bool "System/390 model G5 and G6"
170 depends on !64BIT
171 help
172 Select this to build a 31 bit kernel that works
173 on all ESA/390 and z/Architecture machines.
136 174
137comment "Processor type and features" 175config MARCH_Z900
176 bool "IBM zSeries model z800 and z900"
177 select HAVE_MARCH_Z900_FEATURES if 64BIT
178 help
179 Select this to enable optimizations for model z800/z900 (2064 and
180 2066 series). This will enable some optimizations that are not
181 available on older ESA/390 (31 Bit) only CPUs.
182
183config MARCH_Z990
184 bool "IBM zSeries model z890 and z990"
185 select HAVE_MARCH_Z990_FEATURES if 64BIT
186 help
187 Select this to enable optimizations for model z890/z990 (2084 and
188 2086 series). The kernel will be slightly faster but will not work
189 on older machines.
190
191config MARCH_Z9_109
192 bool "IBM System z9"
193 select HAVE_MARCH_Z9_109_FEATURES if 64BIT
194 help
195 Select this to enable optimizations for IBM System z9 (2094 and
196 2096 series). The kernel will be slightly faster but will not work
197 on older machines.
198
199config MARCH_Z10
200 bool "IBM System z10"
201 select HAVE_MARCH_Z10_FEATURES if 64BIT
202 help
203 Select this to enable optimizations for IBM System z10 (2097 and
204 2098 series). The kernel will be slightly faster but will not work
205 on older machines.
206
207config MARCH_Z196
208 bool "IBM zEnterprise 114 and 196"
209 select HAVE_MARCH_Z196_FEATURES if 64BIT
210 help
211 Select this to enable optimizations for IBM zEnterprise 114 and 196
212 (2818 and 2817 series). The kernel will be slightly faster but will
213 not work on older machines.
214
215endchoice
138 216
139config 64BIT 217config 64BIT
140 def_bool y 218 def_bool y
@@ -146,6 +224,24 @@ config 64BIT
146config 32BIT 224config 32BIT
147 def_bool y if !64BIT 225 def_bool y if !64BIT
148 226
227config COMPAT
228 def_bool y
229 prompt "Kernel support for 31 bit emulation"
230 depends on 64BIT
231 select COMPAT_BINFMT_ELF if BINFMT_ELF
232 select ARCH_WANT_OLD_COMPAT_IPC
233 help
234 Select this option if you want to enable your system kernel to
235 handle system-calls from ELF binaries for 31 bit ESA. This option
236 (and some other stuff like libraries and such) is needed for
237 executing 31 bit applications. It is safe to say "Y".
238
239config SYSVIPC_COMPAT
240 def_bool y if COMPAT && SYSVIPC
241
242config KEYS_COMPAT
243 def_bool y if COMPAT && KEYS
244
149config SMP 245config SMP
150 def_bool y 246 def_bool y
151 prompt "Symmetric multi-processing support" 247 prompt "Symmetric multi-processing support"
@@ -201,6 +297,8 @@ config SCHED_BOOK
201 Book scheduler support improves the CPU scheduler's decision making 297 Book scheduler support improves the CPU scheduler's decision making
202 when dealing with machines that have several books. 298 when dealing with machines that have several books.
203 299
300source kernel/Kconfig.preempt
301
204config MATHEMU 302config MATHEMU
205 def_bool y 303 def_bool y
206 prompt "IEEE FPU emulation" 304 prompt "IEEE FPU emulation"
@@ -210,100 +308,35 @@ config MATHEMU
210 on older ESA/390 machines. Say Y unless you know your machine doesn't 308 on older ESA/390 machines. Say Y unless you know your machine doesn't
211 need this. 309 need this.
212 310
213config COMPAT 311source kernel/Kconfig.hz
214 def_bool y
215 prompt "Kernel support for 31 bit emulation"
216 depends on 64BIT
217 select COMPAT_BINFMT_ELF if BINFMT_ELF
218 select ARCH_WANT_OLD_COMPAT_IPC
219 help
220 Select this option if you want to enable your system kernel to
221 handle system-calls from ELF binaries for 31 bit ESA. This option
222 (and some other stuff like libraries and such) is needed for
223 executing 31 bit applications. It is safe to say "Y".
224 312
225config SYSVIPC_COMPAT 313endmenu
226 def_bool y if COMPAT && SYSVIPC
227 314
228config KEYS_COMPAT 315menu "Memory setup"
229 def_bool y if COMPAT && KEYS
230 316
231config AUDIT_ARCH 317config ARCH_SPARSEMEM_ENABLE
232 def_bool y 318 def_bool y
319 select SPARSEMEM_VMEMMAP_ENABLE
320 select SPARSEMEM_VMEMMAP
321 select SPARSEMEM_STATIC if !64BIT
233 322
234config HAVE_MARCH_Z900_FEATURES 323config ARCH_SPARSEMEM_DEFAULT
235 def_bool n 324 def_bool y
236
237config HAVE_MARCH_Z990_FEATURES
238 def_bool n
239 select HAVE_MARCH_Z900_FEATURES
240
241config HAVE_MARCH_Z9_109_FEATURES
242 def_bool n
243 select HAVE_MARCH_Z990_FEATURES
244
245config HAVE_MARCH_Z10_FEATURES
246 def_bool n
247 select HAVE_MARCH_Z9_109_FEATURES
248
249config HAVE_MARCH_Z196_FEATURES
250 def_bool n
251 select HAVE_MARCH_Z10_FEATURES
252
253comment "Code generation options"
254
255choice
256 prompt "Processor type"
257 default MARCH_G5
258
259config MARCH_G5
260 bool "System/390 model G5 and G6"
261 depends on !64BIT
262 help
263 Select this to build a 31 bit kernel that works
264 on all ESA/390 and z/Architecture machines.
265
266config MARCH_Z900
267 bool "IBM zSeries model z800 and z900"
268 select HAVE_MARCH_Z900_FEATURES if 64BIT
269 help
270 Select this to enable optimizations for model z800/z900 (2064 and
271 2066 series). This will enable some optimizations that are not
272 available on older ESA/390 (31 Bit) only CPUs.
273 325
274config MARCH_Z990 326config ARCH_SELECT_MEMORY_MODEL
275 bool "IBM zSeries model z890 and z990" 327 def_bool y
276 select HAVE_MARCH_Z990_FEATURES if 64BIT
277 help
278 Select this to enable optimizations for model z890/z990 (2084 and
279 2086 series). The kernel will be slightly faster but will not work
280 on older machines.
281 328
282config MARCH_Z9_109 329config ARCH_ENABLE_MEMORY_HOTPLUG
283 bool "IBM System z9" 330 def_bool y if SPARSEMEM
284 select HAVE_MARCH_Z9_109_FEATURES if 64BIT
285 help
286 Select this to enable optimizations for IBM System z9 (2094 and
287 2096 series). The kernel will be slightly faster but will not work
288 on older machines.
289 331
290config MARCH_Z10 332config ARCH_ENABLE_MEMORY_HOTREMOVE
291 bool "IBM System z10" 333 def_bool y
292 select HAVE_MARCH_Z10_FEATURES if 64BIT
293 help
294 Select this to enable optimizations for IBM System z10 (2097 and
295 2098 series). The kernel will be slightly faster but will not work
296 on older machines.
297 334
298config MARCH_Z196 335config FORCE_MAX_ZONEORDER
299 bool "IBM zEnterprise 114 and 196" 336 int
300 select HAVE_MARCH_Z196_FEATURES if 64BIT 337 default "9"
301 help
302 Select this to enable optimizations for IBM zEnterprise 114 and 196
303 (2818 and 2817 series). The kernel will be slightly faster but will
304 not work on older machines.
305 338
306endchoice 339source "mm/Kconfig"
307 340
308config PACK_STACK 341config PACK_STACK
309 def_bool y 342 def_bool y
@@ -367,34 +400,9 @@ config WARN_DYNAMIC_STACK
367 400
368 Say N if you are unsure. 401 Say N if you are unsure.
369 402
370comment "Kernel preemption" 403endmenu
371
372source "kernel/Kconfig.preempt"
373
374config ARCH_SPARSEMEM_ENABLE
375 def_bool y
376 select SPARSEMEM_VMEMMAP_ENABLE
377 select SPARSEMEM_VMEMMAP
378 select SPARSEMEM_STATIC if !64BIT
379
380config ARCH_SPARSEMEM_DEFAULT
381 def_bool y
382
383config ARCH_SELECT_MEMORY_MODEL
384 def_bool y
385
386config ARCH_ENABLE_MEMORY_HOTPLUG
387 def_bool y if SPARSEMEM
388
389config ARCH_ENABLE_MEMORY_HOTREMOVE
390 def_bool y
391
392config ARCH_HIBERNATION_POSSIBLE
393 def_bool y if 64BIT
394
395source "mm/Kconfig"
396 404
397comment "I/O subsystem configuration" 405menu "I/O subsystem"
398 406
399config QDIO 407config QDIO
400 def_tristate y 408 def_tristate y
@@ -425,13 +433,102 @@ config CHSC_SCH
425 433
426 If unsure, say N. 434 If unsure, say N.
427 435
428comment "Misc" 436config SCM_BUS
437 def_bool y
438 depends on 64BIT
439 prompt "SCM bus driver"
440 help
441 Bus driver for Storage Class Memory.
442
443config EADM_SCH
444 def_tristate m
445 prompt "Support for EADM subchannels"
446 depends on SCM_BUS
447 help
448 This driver allows usage of EADM subchannels. EADM subchannels act
449 as a communication vehicle for SCM increments.
450
451 To compile this driver as a module, choose M here: the
452 module will be called eadm_sch.
453
454endmenu
455
456menu "Dump support"
457
458config CRASH_DUMP
459 bool "kernel crash dumps"
460 depends on 64BIT && SMP
461 select KEXEC
462 help
463 Generate crash dump after being started by kexec.
464 Crash dump kernels are loaded in the main kernel with kexec-tools
465 into a specially reserved region and then later executed after
466 a crash by kdump/kexec.
467 For more details see Documentation/kdump/kdump.txt
468
469config ZFCPDUMP
470 def_bool n
471 prompt "zfcpdump support"
472 select SMP
473 help
474 Select this option if you want to build an zfcpdump enabled kernel.
475 Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
476
477endmenu
478
479menu "Executable file formats / Emulations"
429 480
430source "fs/Kconfig.binfmt" 481source "fs/Kconfig.binfmt"
431 482
432config FORCE_MAX_ZONEORDER 483config SECCOMP
433 int 484 def_bool y
434 default "9" 485 prompt "Enable seccomp to safely compute untrusted bytecode"
486 depends on PROC_FS
487 help
488 This kernel feature is useful for number crunching applications
489 that may need to compute untrusted bytecode during their
490 execution. By using pipes or other transports made available to
491 the process as file descriptors supporting the read/write
492 syscalls, it's possible to isolate those applications in
493 their own address space using seccomp. Once seccomp is
494 enabled via /proc/<pid>/seccomp, it cannot be disabled
495 and the task is only allowed to execute a few safe syscalls
496 defined by each seccomp mode.
497
498 If unsure, say Y.
499
500endmenu
501
502menu "Power Management"
503
504config ARCH_HIBERNATION_POSSIBLE
505 def_bool y if 64BIT
506
507source "kernel/power/Kconfig"
508
509endmenu
510
511source "net/Kconfig"
512
513config PCMCIA
514 def_bool n
515
516config CCW
517 def_bool y
518
519source "drivers/Kconfig"
520
521source "fs/Kconfig"
522
523source "arch/s390/Kconfig.debug"
524
525source "security/Kconfig"
526
527source "crypto/Kconfig"
528
529source "lib/Kconfig"
530
531menu "Virtualization"
435 532
436config PFAULT 533config PFAULT
437 def_bool y 534 def_bool y
@@ -447,8 +544,8 @@ config PFAULT
447 this option. 544 this option.
448 545
449config SHARED_KERNEL 546config SHARED_KERNEL
450 def_bool y 547 bool "VM shared kernel support"
451 prompt "VM shared kernel support" 548 depends on !JUMP_LABEL
452 help 549 help
453 Select this option, if you want to share the text segment of the 550 Select this option, if you want to share the text segment of the
454 Linux kernel between different VM guests. This reduces memory 551 Linux kernel between different VM guests. This reduces memory
@@ -543,8 +640,6 @@ config APPLDATA_NET_SUM
543 This can also be compiled as a module, which will be called 640 This can also be compiled as a module, which will be called
544 appldata_net_sum.o. 641 appldata_net_sum.o.
545 642
546source kernel/Kconfig.hz
547
548config S390_HYPFS_FS 643config S390_HYPFS_FS
549 def_bool y 644 def_bool y
550 prompt "s390 hypervisor file system support" 645 prompt "s390 hypervisor file system support"
@@ -553,90 +648,21 @@ config S390_HYPFS_FS
553 This is a virtual file system intended to provide accounting 648 This is a virtual file system intended to provide accounting
554 information in an s390 hypervisor environment. 649 information in an s390 hypervisor environment.
555 650
556config KEXEC 651source "arch/s390/kvm/Kconfig"
557 def_bool n
558 prompt "kexec system call"
559 help
560 kexec is a system call that implements the ability to shutdown your
561 current kernel, and to start another kernel. It is like a reboot
562 but is independent of hardware/microcode support.
563
564config CRASH_DUMP
565 bool "kernel crash dumps"
566 depends on 64BIT && SMP
567 select KEXEC
568 help
569 Generate crash dump after being started by kexec.
570 Crash dump kernels are loaded in the main kernel with kexec-tools
571 into a specially reserved region and then later executed after
572 a crash by kdump/kexec.
573 For more details see Documentation/kdump/kdump.txt
574
575config ZFCPDUMP
576 def_bool n
577 prompt "zfcpdump support"
578 select SMP
579 help
580 Select this option if you want to build an zfcpdump enabled kernel.
581 Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
582 652
583config S390_GUEST 653config S390_GUEST
584 def_bool y 654 def_bool y
585 prompt "s390 guest support for KVM (EXPERIMENTAL)" 655 prompt "s390 support for virtio devices (EXPERIMENTAL)"
586 depends on 64BIT && EXPERIMENTAL 656 depends on 64BIT && EXPERIMENTAL
587 select VIRTUALIZATION 657 select VIRTUALIZATION
588 select VIRTIO 658 select VIRTIO
589 select VIRTIO_RING 659 select VIRTIO_RING
590 select VIRTIO_CONSOLE 660 select VIRTIO_CONSOLE
591 help 661 help
592 Select this option if you want to run the kernel as a guest under 662 Enabling this option adds support for virtio based paravirtual device
593 the KVM hypervisor. This will add detection for KVM as well as a 663 drivers on s390.
594 virtio transport. If KVM is detected, the virtio console will be
595 the default console.
596
597config SECCOMP
598 def_bool y
599 prompt "Enable seccomp to safely compute untrusted bytecode"
600 depends on PROC_FS
601 help
602 This kernel feature is useful for number crunching applications
603 that may need to compute untrusted bytecode during their
604 execution. By using pipes or other transports made available to
605 the process as file descriptors supporting the read/write
606 syscalls, it's possible to isolate those applications in
607 their own address space using seccomp. Once seccomp is
608 enabled via /proc/<pid>/seccomp, it cannot be disabled
609 and the task is only allowed to execute a few safe syscalls
610 defined by each seccomp mode.
611
612 If unsure, say Y.
613
614endmenu
615 664
616menu "Power Management" 665 Select this option if you want to run the kernel as a guest under
617 666 the KVM hypervisor.
618source "kernel/power/Kconfig"
619 667
620endmenu 668endmenu
621
622source "net/Kconfig"
623
624config PCMCIA
625 def_bool n
626
627config CCW
628 def_bool y
629
630source "drivers/Kconfig"
631
632source "fs/Kconfig"
633
634source "arch/s390/Kconfig.debug"
635
636source "security/Kconfig"
637
638source "crypto/Kconfig"
639
640source "lib/Kconfig"
641
642source "arch/s390/kvm/Kconfig"