]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame - arch/s390/Kconfig
Revert "radeonfb: accelerate imageblit and other improvements"
[mirror_ubuntu-eoan-kernel.git] / arch / s390 / Kconfig
CommitLineData
1da177e4
LT
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
dbd70fb4
HC
6config SCHED_MC
7 def_bool y
8 depends on SMP
9
1da177e4 10config MMU
61d48c2c 11 def_bool y
1da177e4 12
66701b14 13config ZONE_DMA
118bcd31
HC
14 def_bool y
15 depends on 64BIT
66701b14 16
2b105ff9 17config LOCKDEP_SUPPORT
61d48c2c 18 def_bool y
2b105ff9 19
5bdc9b44 20config STACKTRACE_SUPPORT
61d48c2c 21 def_bool y
5bdc9b44 22
a3afe70b
HC
23config HAVE_LATENCYTOP_SUPPORT
24 def_bool y
25
1da177e4
LT
26config RWSEM_GENERIC_SPINLOCK
27 bool
28
29config RWSEM_XCHGADD_ALGORITHM
61d48c2c 30 def_bool y
1da177e4 31
f0d1b0b3
DH
32config ARCH_HAS_ILOG2_U32
33 bool
34 default n
35
36config ARCH_HAS_ILOG2_U64
37 bool
38 default n
39
7e33db4e 40config GENERIC_HWEIGHT
61d48c2c 41 def_bool y
7e33db4e 42
dc64bef5
MS
43config GENERIC_TIME
44 def_bool y
45
5a62b192
HC
46config GENERIC_CLOCKEVENTS
47 def_bool y
48
c0007f1a
HC
49config GENERIC_BUG
50 bool
51 depends on BUG
52 default y
53
23db764d 54config NO_IOMEM
5ea81769
AV
55 def_bool y
56
411f0f3e
HC
57config NO_DMA
58 def_bool y
59
b6b40c53
MS
60config GENERIC_LOCKBREAK
61 bool
62 default y
63 depends on SMP && PREEMPT
64
402b0862
CO
65config PGSTE
66 bool
67 default y if KVM
68
1da177e4
LT
69mainmenu "Linux Kernel Configuration"
70
347a8dc3 71config S390
61d48c2c 72 def_bool y
42d4b839 73 select HAVE_OPROFILE
3f550096 74 select HAVE_KPROBES
9edddaa2 75 select HAVE_KRETPROBES
77b455f1 76 select HAVE_KVM if 64BIT
753c4dd6 77 select HAVE_ARCH_TRACEHOOK
1da177e4 78
1da177e4
LT
79source "init/Kconfig"
80
dc52ddc0
MH
81source "kernel/Kconfig.freezer"
82
1da177e4
LT
83menu "Base setup"
84
85comment "Processor type and features"
86
5a62b192
HC
87source "kernel/time/Kconfig"
88
347a8dc3 89config 64BIT
1da177e4
LT
90 bool "64 bit kernel"
91 help
92 Select this option if you have a 64 bit IBM zSeries machine
93 and want to use the 64 bit addressing mode.
94
d9f7a745
MS
95config 32BIT
96 bool
97 default y if !64BIT
98
1da177e4
LT
99config SMP
100 bool "Symmetric multi-processing support"
101 ---help---
102 This enables support for systems with more than one CPU. If you have
103 a system with only one CPU, like most personal computers, say N. If
104 you have a system with more than one CPU, say Y.
105
106 If you say N here, the kernel will run on single and multiprocessor
107 machines, but will use only one CPU of a multiprocessor machine. If
108 you say Y here, the kernel will run on many, but not all,
109 singleprocessor machines. On a singleprocessor machine, the kernel
110 will run faster if you say N here.
111
03502faa
AB
112 See also the SMP-HOWTO available at
113 <http://www.tldp.org/docs.html#howto>.
1da177e4
LT
114
115 Even if you don't know what to do here, say Y.
116
117config NR_CPUS
118 int "Maximum number of CPUs (2-64)"
119 range 2 64
120 depends on SMP
057c5cb3
HC
121 default "32" if !64BIT
122 default "64" if 64BIT
1da177e4
LT
123 help
124 This allows you to specify the maximum number of CPUs which this
125 kernel will support. The maximum supported value is 64 and the
126 minimum value which makes sense is 2.
127
128 This is purely to save memory - each supported CPU adds
129 approximately sixteen kilobytes to the kernel image.
130
131config HOTPLUG_CPU
132 bool "Support for hot-pluggable CPUs"
133 depends on SMP
134 select HOTPLUG
135 default n
136 help
137 Say Y here to be able to turn CPUs off and on. CPUs
138 can be controlled through /sys/devices/system/cpu/cpu#.
139 Say N if you want to disable CPU hotplug.
140
141config MATHEMU
142 bool "IEEE FPU emulation"
143 depends on MARCH_G5
144 help
145 This option is required for IEEE compliant floating point arithmetic
146 on older S/390 machines. Say Y unless you know your machine doesn't
147 need this.
148
347a8dc3 149config COMPAT
1da177e4 150 bool "Kernel support for 31 bit emulation"
347a8dc3 151 depends on 64BIT
63506c41 152 select COMPAT_BINFMT_ELF
1da177e4
LT
153 help
154 Select this option if you want to enable your system kernel to
155 handle system-calls from ELF binaries for 31 bit ESA. This option
156 (and some other stuff like libraries and such) is needed for
157 executing 31 bit applications. It is safe to say "Y".
158
1da177e4
LT
159config SYSVIPC_COMPAT
160 bool
161 depends on COMPAT && SYSVIPC
162 default y
163
e65e1fc2
AV
164config AUDIT_ARCH
165 bool
166 default y
167
c1821c2e
GS
168config S390_SWITCH_AMODE
169 bool "Switch kernel/user addressing modes"
170 help
171 This option allows to switch the addressing modes of kernel and user
172 space. The kernel parameter switch_amode=on will enable this feature,
173 default is disabled. Enabling this (via kernel parameter) on machines
174 earlier than IBM System z9-109 EC/BC will reduce system performance.
175
176 Note that this option will also be selected by selecting the execute
177 protection option below. Enabling the execute protection via the
178 noexec kernel parameter will also switch the addressing modes,
179 independent of the switch_amode kernel parameter.
180
181
182config S390_EXEC_PROTECT
183 bool "Data execute protection"
184 select S390_SWITCH_AMODE
185 help
186 This option allows to enable a buffer overflow protection for user
187 space programs and it also selects the addressing mode option above.
188 The kernel parameter noexec=on will enable this feature and also
189 switch the addressing modes, default is disabled. Enabling this (via
190 kernel parameter) on machines earlier than IBM System z9-109 EC/BC
191 will reduce system performance.
192
1da177e4
LT
193comment "Code generation options"
194
195choice
196 prompt "Processor type"
197 default MARCH_G5
198
199config MARCH_G5
200 bool "S/390 model G5 and G6"
347a8dc3 201 depends on !64BIT
1da177e4
LT
202 help
203 Select this to build a 31 bit kernel that works
204 on all S/390 and zSeries machines.
205
206config MARCH_Z900
207 bool "IBM eServer zSeries model z800 and z900"
208 help
209 Select this to optimize for zSeries machines. This
210 will enable some optimizations that are not available
211 on older 31 bit only CPUs.
212
213config MARCH_Z990
214 bool "IBM eServer zSeries model z890 and z990"
215 help
216 Select this enable optimizations for model z890/z990.
217 This will be slightly faster but does not work on
218 older machines such as the z900.
219
0efa4703
CB
220config MARCH_Z9_109
221 bool "IBM System z9"
222 help
223 Select this to enable optimizations for IBM System z9-109, IBM
224 System z9 Enterprise Class (z9 EC), and IBM System z9 Business
225 Class (z9 BC). The kernel will be slightly faster but will not
226 work on older machines such as the z990, z890, z900, and z800.
227
1da177e4
LT
228endchoice
229
230config PACK_STACK
231 bool "Pack kernel stack"
232 help
233 This option enables the compiler option -mkernel-backchain if it
234 is available. If the option is available the compiler supports
235 the new stack layout which dramatically reduces the minimum stack
236 frame size. With an old compiler a non-leaf function needs a
237 minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With
238 -mkernel-backchain the minimum size drops to 16 byte on 31 bit
239 and 24 byte on 64 bit.
240
241 Say Y if you are unsure.
242
243config SMALL_STACK
7f5a8ba6
HC
244 bool "Use 8kb for kernel stack instead of 16kb"
245 depends on PACK_STACK && 64BIT && !LOCKDEP
1da177e4
LT
246 help
247 If you say Y here and the compiler supports the -mkernel-backchain
7f5a8ba6
HC
248 option the kernel will use a smaller kernel stack size. The reduced
249 size is 8kb instead of 16kb. This allows to run more threads on a
250 system and reduces the pressure on the memory management for higher
251 order page allocations.
1da177e4
LT
252
253 Say N if you are unsure.
254
1da177e4
LT
255config CHECK_STACK
256 bool "Detect kernel stack overflow"
257 help
258 This option enables the compiler option -mstack-guard and
259 -mstack-size if they are available. If the compiler supports them
260 it will emit additional code to each function prolog to trigger
261 an illegal operation if the kernel stack is about to overflow.
262
263 Say N if you are unsure.
264
265config STACK_GUARD
266 int "Size of the guard area (128-1024)"
267 range 128 1024
268 depends on CHECK_STACK
269 default "256"
270 help
271 This allows you to specify the size of the guard area at the lower
272 end of the kernel stack. If the kernel stack points into the guard
273 area on function entry an illegal operation is triggered. The size
274 needs to be a power of 2. Please keep in mind that the size of an
275 interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit.
276 The minimum size for the stack guard should be 256 for 31 bit and
277 512 for 64 bit.
278
279config WARN_STACK
280 bool "Emit compiler warnings for function with broken stack usage"
281 help
282 This option enables the compiler options -mwarn-framesize and
283 -mwarn-dynamicstack. If the compiler supports these options it
284 will generate warnings for function which either use alloca or
285 create a stack frame bigger then CONFIG_WARN_STACK_SIZE.
286
287 Say N if you are unsure.
288
289config WARN_STACK_SIZE
290 int "Maximum frame size considered safe (128-2048)"
291 range 128 2048
292 depends on WARN_STACK
c5a37255 293 default "2048"
1da177e4
LT
294 help
295 This allows you to specify the maximum frame size a function may
296 have without the compiler complaining about it.
297
39b742f9
HC
298config ARCH_POPULATES_NODE_MAP
299 def_bool y
300
61d48c2c
MS
301comment "Kernel preemption"
302
303source "kernel/Kconfig.preempt"
304
17f34580
HC
305config ARCH_SPARSEMEM_ENABLE
306 def_bool y
307 select SPARSEMEM_VMEMMAP_ENABLE
308 select SPARSEMEM_VMEMMAP
148f1678 309 select SPARSEMEM_STATIC if !64BIT
17f34580
HC
310
311config ARCH_SPARSEMEM_DEFAULT
312 def_bool y
313
97195d6b
HJP
314config ARCH_SELECT_MEMORY_MODEL
315 def_bool y
316
421c175c
HC
317config ARCH_ENABLE_MEMORY_HOTPLUG
318 def_bool y
319 depends on SPARSEMEM
320
7e9238fb
GS
321config ARCH_ENABLE_MEMORY_HOTREMOVE
322 def_bool y
323
3f22ab27
DH
324source "mm/Kconfig"
325
1da177e4
LT
326comment "I/O subsystem configuration"
327
328config MACHCHK_WARNING
329 bool "Process warning machine checks"
330 help
331 Select this option if you want the machine check handler on IBM S/390 or
332 zSeries to process warning machine checks (e.g. on power failures).
333 If unsure, say "Y".
334
335config QDIO
336 tristate "QDIO support"
337 ---help---
8129ee16 338 This driver provides the Queued Direct I/O base support for
efca13bc 339 IBM System z.
1da177e4
LT
340
341 To compile this driver as a module, choose M here: the
342 module will be called qdio.
343
344 If unsure, say Y.
345
1da177e4
LT
346config QDIO_DEBUG
347 bool "Extended debugging information"
348 depends on QDIO
349 help
8129ee16
FP
350 Say Y here to get extended debugging output in
351 /sys/kernel/debug/s390dbf/qdio...
1da177e4
LT
352 Warning: this option reduces the performance of the QDIO module.
353
354 If unsure, say N.
355
9d92a7e1
CH
356config CHSC_SCH
357 tristate "Support for CHSC subchannels"
358 help
359 This driver allows usage of CHSC subchannels. A CHSC subchannel
360 is usually present on LPAR only.
361 The driver creates a device /dev/chsc, which may be used to
362 obtain I/O configuration information about the machine and
363 to issue asynchronous chsc commands (DANGEROUS).
364 You will usually only want to use this interface on a special
365 LPAR designated for system management.
366
367 To compile this driver as a module, choose M here: the
368 module will be called chsc_sch.
369
370 If unsure, say N.
371
1da177e4
LT
372comment "Misc"
373
1da177e4
LT
374config IPL
375 bool "Builtin IPL record support"
376 help
377 If you want to use the produced kernel to IPL directly from a
378 device, you have to merge a bootsector specific to the device
379 into the first bytes of the kernel. You will have to select the
380 IPL device.
381
382choice
383 prompt "IPL method generated into head.S"
384 depends on IPL
46e7951f 385 default IPL_VM
1da177e4
LT
386 help
387 Select "tape" if you want to IPL the image from a Tape.
388
389 Select "vm_reader" if you are running under VM/ESA and want
390 to IPL the image from the emulated card reader.
391
392config IPL_TAPE
393 bool "tape"
394
395config IPL_VM
396 bool "vm_reader"
397
398endchoice
399
400source "fs/Kconfig.binfmt"
401
684de39b
HC
402config FORCE_MAX_ZONEORDER
403 int
404 default "9"
405
1da177e4
LT
406config PROCESS_DEBUG
407 bool "Show crashed user process info"
408 help
409 Say Y to print all process fault locations to the console. This is
410 a debugging option; you probably do not want to set it unless you
411 are an S390 port maintainer.
412
413config PFAULT
414 bool "Pseudo page fault support"
415 help
416 Select this option, if you want to use PFAULT pseudo page fault
417 handling under VM. If running native or in LPAR, this option
418 has no effect. If your VM does not support PFAULT, PAGEEX
419 pseudo page fault handling will be used.
420 Note that VM 4.2 supports PFAULT but has a bug in its
421 implementation that causes some problems.
422 Everybody who wants to run Linux under VM != VM4.2 should select
423 this option.
424
425config SHARED_KERNEL
426 bool "VM shared kernel support"
427 help
428 Select this option, if you want to share the text segment of the
429 Linux kernel between different VM guests. This reduces memory
430 usage with lots of guests but greatly increases kernel size.
9c9c1761
HC
431 Also if a kernel was IPL'ed from a shared segment the kexec system
432 call will not work.
1da177e4
LT
433 You should only select this option if you know what you are
434 doing and want to exploit this feature.
435
436config CMM
437 tristate "Cooperative memory management"
438 help
439 Select this option, if you want to enable the kernel interface
440 to reduce the memory size of the system. This is accomplished
441 by allocating pages of memory and put them "on hold". This only
442 makes sense for a system running under VM where the unused pages
443 will be reused by VM for other guest systems. The interface
444 allows an external monitor to balance memory of many systems.
445 Everybody who wants to run Linux under VM should select this
446 option.
447
448config CMM_PROC
449 bool "/proc interface to cooperative memory management"
450 depends on CMM
451 help
452 Select this option to enable the /proc interface to the
453 cooperative memory management.
454
455config CMM_IUCV
456 bool "IUCV special message interface to cooperative memory management"
457 depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV)
458 help
459 Select this option to enable the special message interface to
460 the cooperative memory management.
461
45e576b1
MS
462config PAGE_STATES
463 bool "Unused page notification"
464 help
465 This enables the notification of unused pages to the
466 hypervisor. The ESSA instruction is used to do the states
467 changes between a page that has content and the unused state.
468
1da177e4
LT
469config VIRT_TIMER
470 bool "Virtual CPU timer support"
471 help
472 This provides a kernel interface for virtual CPU timers.
473 Default is disabled.
474
475config VIRT_CPU_ACCOUNTING
476 bool "Base user process accounting on virtual cpu timer"
477 depends on VIRT_TIMER
478 help
479 Select this option to use CPU timer deltas to do user
480 process accounting.
481
482config APPLDATA_BASE
483 bool "Linux - VM Monitor Stream, base infrastructure"
484 depends on PROC_FS && VIRT_TIMER=y
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
497config APPLDATA_MEM
498 tristate "Monitor memory management statistics"
62fb2ba3 499 depends on APPLDATA_BASE && VM_EVENT_COUNTERS
1da177e4
LT
500 help
501 This provides memory management related data to the Linux - VM Monitor
502 Stream, like paging/swapping rate, memory utilisation, etc.
503 Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM
504 APPLDATA monitor record, i.e. enables or disables monitoring this record
505 on the z/VM side.
506
507 Default is disabled.
508 The /proc entry can also be read from, showing the current settings.
509
510 This can also be compiled as a module, which will be called
511 appldata_mem.o.
512
513config APPLDATA_OS
514 tristate "Monitor OS statistics"
515 depends on APPLDATA_BASE
516 help
517 This provides OS related data to the Linux - VM Monitor Stream, like
518 CPU utilisation, etc.
519 Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM
520 APPLDATA monitor record, i.e. enables or disables monitoring this record
521 on the z/VM side.
522
523 Default is disabled.
524 This can also be compiled as a module, which will be called
525 appldata_os.o.
526
527config APPLDATA_NET_SUM
528 tristate "Monitor overall network statistics"
529 depends on APPLDATA_BASE
530 help
531 This provides network related data to the Linux - VM Monitor Stream,
532 currently there is only a total sum of network I/O statistics, no
533 per-interface data.
534 Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM
535 APPLDATA monitor record, i.e. enables or disables monitoring this record
536 on the z/VM side.
537
538 Default is disabled.
539 This can also be compiled as a module, which will be called
540 appldata_net_sum.o.
541
61d48c2c
MS
542source kernel/Kconfig.hz
543
24bbb1fa
MH
544config S390_HYPFS_FS
545 bool "s390 hypervisor file system support"
546 select SYS_HYPERVISOR
547 default y
548 help
549 This is a virtual file system intended to provide accounting
550 information in an s390 hypervisor environment.
551
cf13f0ea 552config KEXEC
07d43ce6 553 bool "kexec system call"
cf13f0ea
HC
554 help
555 kexec is a system call that implements the ability to shutdown your
556 current kernel, and to start another kernel. It is like a reboot
557 but is independent of hardware/microcode support.
558
411ed322
MH
559config ZFCPDUMP
560 tristate "zfcpdump support"
561 select SMP
562 default n
563 help
564 Select this option if you want to build an zfcpdump enabled kernel.
e403149c 565 Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
411ed322 566
fa587743 567config S390_GUEST
20766c08 568bool "s390 guest support for KVM (EXPERIMENTAL)"
fa587743
CO
569 depends on 64BIT && EXPERIMENTAL
570 select VIRTIO
571 select VIRTIO_RING
faeba830 572 select VIRTIO_CONSOLE
fa587743 573 help
20766c08
CB
574 Select this option if you want to run the kernel as a guest under
575 the KVM hypervisor. This will add detection for KVM as well as a
576 virtio transport. If KVM is detected, the virtio console will be
577 the default console.
1da177e4
LT
578endmenu
579
d5950b43
SR
580source "net/Kconfig"
581
1da177e4 582config PCMCIA
61d48c2c 583 def_bool n
1da177e4 584
61d48c2c
MS
585config CCW
586 def_bool y
1da177e4 587
61d48c2c 588source "drivers/Kconfig"
1da177e4
LT
589
590source "fs/Kconfig"
591
1da177e4
LT
592source "arch/s390/Kconfig.debug"
593
594source "security/Kconfig"
595
596source "crypto/Kconfig"
597
598source "lib/Kconfig"
77b455f1
CB
599
600source "arch/s390/kvm/Kconfig"