diff options
Diffstat (limited to 'arch/s390/Kconfig')
-rw-r--r-- | arch/s390/Kconfig | 418 |
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 | |||
52 | config ARCH_SUPPORTS_DEBUG_PAGEALLOC | 52 | config ARCH_SUPPORTS_DEBUG_PAGEALLOC |
53 | def_bool y | 53 | def_bool y |
54 | 54 | ||
55 | config KEXEC | ||
56 | def_bool y | ||
57 | |||
58 | config AUDIT_ARCH | ||
59 | def_bool y | ||
60 | |||
55 | config S390 | 61 | config 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 | ||
133 | source "kernel/Kconfig.freezer" | 141 | source "kernel/Kconfig.freezer" |
134 | 142 | ||
135 | menu "Base setup" | 143 | menu "Processor type and features" |
144 | |||
145 | config HAVE_MARCH_Z900_FEATURES | ||
146 | def_bool n | ||
147 | |||
148 | config HAVE_MARCH_Z990_FEATURES | ||
149 | def_bool n | ||
150 | select HAVE_MARCH_Z900_FEATURES | ||
151 | |||
152 | config HAVE_MARCH_Z9_109_FEATURES | ||
153 | def_bool n | ||
154 | select HAVE_MARCH_Z990_FEATURES | ||
155 | |||
156 | config HAVE_MARCH_Z10_FEATURES | ||
157 | def_bool n | ||
158 | select HAVE_MARCH_Z9_109_FEATURES | ||
159 | |||
160 | config HAVE_MARCH_Z196_FEATURES | ||
161 | def_bool n | ||
162 | select HAVE_MARCH_Z10_FEATURES | ||
163 | |||
164 | choice | ||
165 | prompt "Processor type" | ||
166 | default MARCH_G5 | ||
167 | |||
168 | config 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 | ||
137 | comment "Processor type and features" | 175 | config 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 | |||
183 | config 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 | |||
191 | config 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 | |||
199 | config 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 | |||
207 | config 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 | |||
215 | endchoice | ||
138 | 216 | ||
139 | config 64BIT | 217 | config 64BIT |
140 | def_bool y | 218 | def_bool y |
@@ -146,6 +224,24 @@ config 64BIT | |||
146 | config 32BIT | 224 | config 32BIT |
147 | def_bool y if !64BIT | 225 | def_bool y if !64BIT |
148 | 226 | ||
227 | config 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 | |||
239 | config SYSVIPC_COMPAT | ||
240 | def_bool y if COMPAT && SYSVIPC | ||
241 | |||
242 | config KEYS_COMPAT | ||
243 | def_bool y if COMPAT && KEYS | ||
244 | |||
149 | config SMP | 245 | config 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 | ||
300 | source kernel/Kconfig.preempt | ||
301 | |||
204 | config MATHEMU | 302 | config 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 | ||
213 | config COMPAT | 311 | source 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 | ||
225 | config SYSVIPC_COMPAT | 313 | endmenu |
226 | def_bool y if COMPAT && SYSVIPC | ||
227 | 314 | ||
228 | config KEYS_COMPAT | 315 | menu "Memory setup" |
229 | def_bool y if COMPAT && KEYS | ||
230 | 316 | ||
231 | config AUDIT_ARCH | 317 | config 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 | ||
234 | config HAVE_MARCH_Z900_FEATURES | 323 | config ARCH_SPARSEMEM_DEFAULT |
235 | def_bool n | 324 | def_bool y |
236 | |||
237 | config HAVE_MARCH_Z990_FEATURES | ||
238 | def_bool n | ||
239 | select HAVE_MARCH_Z900_FEATURES | ||
240 | |||
241 | config HAVE_MARCH_Z9_109_FEATURES | ||
242 | def_bool n | ||
243 | select HAVE_MARCH_Z990_FEATURES | ||
244 | |||
245 | config HAVE_MARCH_Z10_FEATURES | ||
246 | def_bool n | ||
247 | select HAVE_MARCH_Z9_109_FEATURES | ||
248 | |||
249 | config HAVE_MARCH_Z196_FEATURES | ||
250 | def_bool n | ||
251 | select HAVE_MARCH_Z10_FEATURES | ||
252 | |||
253 | comment "Code generation options" | ||
254 | |||
255 | choice | ||
256 | prompt "Processor type" | ||
257 | default MARCH_G5 | ||
258 | |||
259 | config 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 | |||
266 | config 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 | ||
274 | config MARCH_Z990 | 326 | config 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 | ||
282 | config MARCH_Z9_109 | 329 | config 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 | ||
290 | config MARCH_Z10 | 332 | config 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 | ||
298 | config MARCH_Z196 | 335 | config 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 | ||
306 | endchoice | 339 | source "mm/Kconfig" |
307 | 340 | ||
308 | config PACK_STACK | 341 | config 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 | ||
370 | comment "Kernel preemption" | 403 | endmenu |
371 | |||
372 | source "kernel/Kconfig.preempt" | ||
373 | |||
374 | config ARCH_SPARSEMEM_ENABLE | ||
375 | def_bool y | ||
376 | select SPARSEMEM_VMEMMAP_ENABLE | ||
377 | select SPARSEMEM_VMEMMAP | ||
378 | select SPARSEMEM_STATIC if !64BIT | ||
379 | |||
380 | config ARCH_SPARSEMEM_DEFAULT | ||
381 | def_bool y | ||
382 | |||
383 | config ARCH_SELECT_MEMORY_MODEL | ||
384 | def_bool y | ||
385 | |||
386 | config ARCH_ENABLE_MEMORY_HOTPLUG | ||
387 | def_bool y if SPARSEMEM | ||
388 | |||
389 | config ARCH_ENABLE_MEMORY_HOTREMOVE | ||
390 | def_bool y | ||
391 | |||
392 | config ARCH_HIBERNATION_POSSIBLE | ||
393 | def_bool y if 64BIT | ||
394 | |||
395 | source "mm/Kconfig" | ||
396 | 404 | ||
397 | comment "I/O subsystem configuration" | 405 | menu "I/O subsystem" |
398 | 406 | ||
399 | config QDIO | 407 | config 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 | ||
428 | comment "Misc" | 436 | config 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 | |||
443 | config 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 | |||
454 | endmenu | ||
455 | |||
456 | menu "Dump support" | ||
457 | |||
458 | config 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 | |||
469 | config 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 | |||
477 | endmenu | ||
478 | |||
479 | menu "Executable file formats / Emulations" | ||
429 | 480 | ||
430 | source "fs/Kconfig.binfmt" | 481 | source "fs/Kconfig.binfmt" |
431 | 482 | ||
432 | config FORCE_MAX_ZONEORDER | 483 | config 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 | |||
500 | endmenu | ||
501 | |||
502 | menu "Power Management" | ||
503 | |||
504 | config ARCH_HIBERNATION_POSSIBLE | ||
505 | def_bool y if 64BIT | ||
506 | |||
507 | source "kernel/power/Kconfig" | ||
508 | |||
509 | endmenu | ||
510 | |||
511 | source "net/Kconfig" | ||
512 | |||
513 | config PCMCIA | ||
514 | def_bool n | ||
515 | |||
516 | config CCW | ||
517 | def_bool y | ||
518 | |||
519 | source "drivers/Kconfig" | ||
520 | |||
521 | source "fs/Kconfig" | ||
522 | |||
523 | source "arch/s390/Kconfig.debug" | ||
524 | |||
525 | source "security/Kconfig" | ||
526 | |||
527 | source "crypto/Kconfig" | ||
528 | |||
529 | source "lib/Kconfig" | ||
530 | |||
531 | menu "Virtualization" | ||
435 | 532 | ||
436 | config PFAULT | 533 | config PFAULT |
437 | def_bool y | 534 | def_bool y |
@@ -447,8 +544,8 @@ config PFAULT | |||
447 | this option. | 544 | this option. |
448 | 545 | ||
449 | config SHARED_KERNEL | 546 | config 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 | ||
546 | source kernel/Kconfig.hz | ||
547 | |||
548 | config S390_HYPFS_FS | 643 | config 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 | ||
556 | config KEXEC | 651 | source "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 | |||
564 | config 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 | |||
575 | config 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 | ||
583 | config S390_GUEST | 653 | config 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 | |||
597 | config 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 | |||
614 | endmenu | ||
615 | 664 | ||
616 | menu "Power Management" | 665 | Select this option if you want to run the kernel as a guest under |
617 | 666 | the KVM hypervisor. | |
618 | source "kernel/power/Kconfig" | ||
619 | 667 | ||
620 | endmenu | 668 | endmenu |
621 | |||
622 | source "net/Kconfig" | ||
623 | |||
624 | config PCMCIA | ||
625 | def_bool n | ||
626 | |||
627 | config CCW | ||
628 | def_bool y | ||
629 | |||
630 | source "drivers/Kconfig" | ||
631 | |||
632 | source "fs/Kconfig" | ||
633 | |||
634 | source "arch/s390/Kconfig.debug" | ||
635 | |||
636 | source "security/Kconfig" | ||
637 | |||
638 | source "crypto/Kconfig" | ||
639 | |||
640 | source "lib/Kconfig" | ||
641 | |||
642 | source "arch/s390/kvm/Kconfig" | ||