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