Root/arch/s390/Kconfig

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

Archive Download this file



interactive