diff options
Diffstat (limited to 'arch/s390/Kconfig')
-rw-r--r-- | arch/s390/Kconfig | 480 |
1 files changed, 480 insertions, 0 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig new file mode 100644 index 000000000000..ab79af84699a --- /dev/null +++ b/arch/s390/Kconfig | |||
@@ -0,0 +1,480 @@ | |||
1 | # | ||
2 | # For a description of the syntax of this configuration file, | ||
3 | # see Documentation/kbuild/kconfig-language.txt. | ||
4 | # | ||
5 | |||
6 | config MMU | ||
7 | bool | ||
8 | default y | ||
9 | |||
10 | config RWSEM_GENERIC_SPINLOCK | ||
11 | bool | ||
12 | |||
13 | config RWSEM_XCHGADD_ALGORITHM | ||
14 | bool | ||
15 | default y | ||
16 | |||
17 | config GENERIC_CALIBRATE_DELAY | ||
18 | bool | ||
19 | default y | ||
20 | |||
21 | config GENERIC_BUST_SPINLOCK | ||
22 | bool | ||
23 | |||
24 | mainmenu "Linux Kernel Configuration" | ||
25 | |||
26 | config ARCH_S390 | ||
27 | bool | ||
28 | default y | ||
29 | |||
30 | config UID16 | ||
31 | bool | ||
32 | default y | ||
33 | depends on ARCH_S390X = 'n' | ||
34 | |||
35 | source "init/Kconfig" | ||
36 | |||
37 | menu "Base setup" | ||
38 | |||
39 | comment "Processor type and features" | ||
40 | |||
41 | config ARCH_S390X | ||
42 | bool "64 bit kernel" | ||
43 | help | ||
44 | Select this option if you have a 64 bit IBM zSeries machine | ||
45 | and want to use the 64 bit addressing mode. | ||
46 | |||
47 | config 64BIT | ||
48 | def_bool ARCH_S390X | ||
49 | |||
50 | config ARCH_S390_31 | ||
51 | bool | ||
52 | depends on ARCH_S390X = 'n' | ||
53 | default y | ||
54 | |||
55 | config SMP | ||
56 | bool "Symmetric multi-processing support" | ||
57 | ---help--- | ||
58 | This enables support for systems with more than one CPU. If you have | ||
59 | a system with only one CPU, like most personal computers, say N. If | ||
60 | you have a system with more than one CPU, say Y. | ||
61 | |||
62 | If you say N here, the kernel will run on single and multiprocessor | ||
63 | machines, but will use only one CPU of a multiprocessor machine. If | ||
64 | you say Y here, the kernel will run on many, but not all, | ||
65 | singleprocessor machines. On a singleprocessor machine, the kernel | ||
66 | will run faster if you say N here. | ||
67 | |||
68 | See also the <file:Documentation/smp.txt> and the SMP-HOWTO | ||
69 | available at <http://www.tldp.org/docs.html#howto>. | ||
70 | |||
71 | Even if you don't know what to do here, say Y. | ||
72 | |||
73 | config NR_CPUS | ||
74 | int "Maximum number of CPUs (2-64)" | ||
75 | range 2 64 | ||
76 | depends on SMP | ||
77 | default "32" | ||
78 | help | ||
79 | This allows you to specify the maximum number of CPUs which this | ||
80 | kernel will support. The maximum supported value is 64 and the | ||
81 | minimum value which makes sense is 2. | ||
82 | |||
83 | This is purely to save memory - each supported CPU adds | ||
84 | approximately sixteen kilobytes to the kernel image. | ||
85 | |||
86 | config HOTPLUG_CPU | ||
87 | bool "Support for hot-pluggable CPUs" | ||
88 | depends on SMP | ||
89 | select HOTPLUG | ||
90 | default n | ||
91 | help | ||
92 | Say Y here to be able to turn CPUs off and on. CPUs | ||
93 | can be controlled through /sys/devices/system/cpu/cpu#. | ||
94 | Say N if you want to disable CPU hotplug. | ||
95 | |||
96 | config MATHEMU | ||
97 | bool "IEEE FPU emulation" | ||
98 | depends on MARCH_G5 | ||
99 | help | ||
100 | This option is required for IEEE compliant floating point arithmetic | ||
101 | on older S/390 machines. Say Y unless you know your machine doesn't | ||
102 | need this. | ||
103 | |||
104 | config S390_SUPPORT | ||
105 | bool "Kernel support for 31 bit emulation" | ||
106 | depends on ARCH_S390X | ||
107 | help | ||
108 | Select this option if you want to enable your system kernel to | ||
109 | handle system-calls from ELF binaries for 31 bit ESA. This option | ||
110 | (and some other stuff like libraries and such) is needed for | ||
111 | executing 31 bit applications. It is safe to say "Y". | ||
112 | |||
113 | config COMPAT | ||
114 | bool | ||
115 | depends on S390_SUPPORT | ||
116 | default y | ||
117 | |||
118 | config SYSVIPC_COMPAT | ||
119 | bool | ||
120 | depends on COMPAT && SYSVIPC | ||
121 | default y | ||
122 | |||
123 | config BINFMT_ELF32 | ||
124 | tristate "Kernel support for 31 bit ELF binaries" | ||
125 | depends on S390_SUPPORT | ||
126 | help | ||
127 | This allows you to run 32-bit Linux/ELF binaries on your zSeries | ||
128 | in 64 bit mode. Everybody wants this; say Y. | ||
129 | |||
130 | comment "Code generation options" | ||
131 | |||
132 | choice | ||
133 | prompt "Processor type" | ||
134 | default MARCH_G5 | ||
135 | |||
136 | config MARCH_G5 | ||
137 | bool "S/390 model G5 and G6" | ||
138 | depends on ARCH_S390_31 | ||
139 | help | ||
140 | Select this to build a 31 bit kernel that works | ||
141 | on all S/390 and zSeries machines. | ||
142 | |||
143 | config MARCH_Z900 | ||
144 | bool "IBM eServer zSeries model z800 and z900" | ||
145 | help | ||
146 | Select this to optimize for zSeries machines. This | ||
147 | will enable some optimizations that are not available | ||
148 | on older 31 bit only CPUs. | ||
149 | |||
150 | config MARCH_Z990 | ||
151 | bool "IBM eServer zSeries model z890 and z990" | ||
152 | help | ||
153 | Select this enable optimizations for model z890/z990. | ||
154 | This will be slightly faster but does not work on | ||
155 | older machines such as the z900. | ||
156 | |||
157 | endchoice | ||
158 | |||
159 | config PACK_STACK | ||
160 | bool "Pack kernel stack" | ||
161 | help | ||
162 | This option enables the compiler option -mkernel-backchain if it | ||
163 | is available. If the option is available the compiler supports | ||
164 | the new stack layout which dramatically reduces the minimum stack | ||
165 | frame size. With an old compiler a non-leaf function needs a | ||
166 | minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With | ||
167 | -mkernel-backchain the minimum size drops to 16 byte on 31 bit | ||
168 | and 24 byte on 64 bit. | ||
169 | |||
170 | Say Y if you are unsure. | ||
171 | |||
172 | config SMALL_STACK | ||
173 | bool "Use 4kb/8kb for kernel stack instead of 8kb/16kb" | ||
174 | depends on PACK_STACK | ||
175 | help | ||
176 | If you say Y here and the compiler supports the -mkernel-backchain | ||
177 | option the kernel will use a smaller kernel stack size. For 31 bit | ||
178 | the reduced size is 4kb instead of 8kb and for 64 bit it is 8kb | ||
179 | instead of 16kb. This allows to run more thread on a system and | ||
180 | reduces the pressure on the memory management for higher order | ||
181 | page allocations. | ||
182 | |||
183 | Say N if you are unsure. | ||
184 | |||
185 | |||
186 | config CHECK_STACK | ||
187 | bool "Detect kernel stack overflow" | ||
188 | help | ||
189 | This option enables the compiler option -mstack-guard and | ||
190 | -mstack-size if they are available. If the compiler supports them | ||
191 | it will emit additional code to each function prolog to trigger | ||
192 | an illegal operation if the kernel stack is about to overflow. | ||
193 | |||
194 | Say N if you are unsure. | ||
195 | |||
196 | config STACK_GUARD | ||
197 | int "Size of the guard area (128-1024)" | ||
198 | range 128 1024 | ||
199 | depends on CHECK_STACK | ||
200 | default "256" | ||
201 | help | ||
202 | This allows you to specify the size of the guard area at the lower | ||
203 | end of the kernel stack. If the kernel stack points into the guard | ||
204 | area on function entry an illegal operation is triggered. The size | ||
205 | needs to be a power of 2. Please keep in mind that the size of an | ||
206 | interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. | ||
207 | The minimum size for the stack guard should be 256 for 31 bit and | ||
208 | 512 for 64 bit. | ||
209 | |||
210 | config WARN_STACK | ||
211 | bool "Emit compiler warnings for function with broken stack usage" | ||
212 | help | ||
213 | This option enables the compiler options -mwarn-framesize and | ||
214 | -mwarn-dynamicstack. If the compiler supports these options it | ||
215 | will generate warnings for function which either use alloca or | ||
216 | create a stack frame bigger then CONFIG_WARN_STACK_SIZE. | ||
217 | |||
218 | Say N if you are unsure. | ||
219 | |||
220 | config WARN_STACK_SIZE | ||
221 | int "Maximum frame size considered safe (128-2048)" | ||
222 | range 128 2048 | ||
223 | depends on WARN_STACK | ||
224 | default "256" | ||
225 | help | ||
226 | This allows you to specify the maximum frame size a function may | ||
227 | have without the compiler complaining about it. | ||
228 | |||
229 | comment "I/O subsystem configuration" | ||
230 | |||
231 | config MACHCHK_WARNING | ||
232 | bool "Process warning machine checks" | ||
233 | help | ||
234 | Select this option if you want the machine check handler on IBM S/390 or | ||
235 | zSeries to process warning machine checks (e.g. on power failures). | ||
236 | If unsure, say "Y". | ||
237 | |||
238 | config QDIO | ||
239 | tristate "QDIO support" | ||
240 | ---help--- | ||
241 | This driver provides the Queued Direct I/O base support for the | ||
242 | IBM S/390 (G5 and G6) and eServer zSeries (z800, z890, z900 and z990). | ||
243 | |||
244 | For details please refer to the documentation provided by IBM at | ||
245 | <http://www10.software.ibm.com/developerworks/opensource/linux390> | ||
246 | |||
247 | To compile this driver as a module, choose M here: the | ||
248 | module will be called qdio. | ||
249 | |||
250 | If unsure, say Y. | ||
251 | |||
252 | config QDIO_PERF_STATS | ||
253 | bool "Performance statistics in /proc" | ||
254 | depends on QDIO | ||
255 | help | ||
256 | Say Y here to get performance statistics in /proc/qdio_perf | ||
257 | |||
258 | If unsure, say N. | ||
259 | |||
260 | config QDIO_DEBUG | ||
261 | bool "Extended debugging information" | ||
262 | depends on QDIO | ||
263 | help | ||
264 | Say Y here to get extended debugging output in /proc/s390dbf/qdio... | ||
265 | Warning: this option reduces the performance of the QDIO module. | ||
266 | |||
267 | If unsure, say N. | ||
268 | |||
269 | comment "Misc" | ||
270 | |||
271 | config PREEMPT | ||
272 | bool "Preemptible Kernel" | ||
273 | help | ||
274 | This option reduces the latency of the kernel when reacting to | ||
275 | real-time or interactive events by allowing a low priority process to | ||
276 | be preempted even if it is in kernel mode executing a system call. | ||
277 | This allows applications to run more reliably even when the system is | ||
278 | under load. | ||
279 | |||
280 | Say N if you are unsure. | ||
281 | |||
282 | config IPL | ||
283 | bool "Builtin IPL record support" | ||
284 | help | ||
285 | If you want to use the produced kernel to IPL directly from a | ||
286 | device, you have to merge a bootsector specific to the device | ||
287 | into the first bytes of the kernel. You will have to select the | ||
288 | IPL device. | ||
289 | |||
290 | choice | ||
291 | prompt "IPL method generated into head.S" | ||
292 | depends on IPL | ||
293 | default IPL_TAPE | ||
294 | help | ||
295 | Select "tape" if you want to IPL the image from a Tape. | ||
296 | |||
297 | Select "vm_reader" if you are running under VM/ESA and want | ||
298 | to IPL the image from the emulated card reader. | ||
299 | |||
300 | config IPL_TAPE | ||
301 | bool "tape" | ||
302 | |||
303 | config IPL_VM | ||
304 | bool "vm_reader" | ||
305 | |||
306 | endchoice | ||
307 | |||
308 | source "fs/Kconfig.binfmt" | ||
309 | |||
310 | config PROCESS_DEBUG | ||
311 | bool "Show crashed user process info" | ||
312 | help | ||
313 | Say Y to print all process fault locations to the console. This is | ||
314 | a debugging option; you probably do not want to set it unless you | ||
315 | are an S390 port maintainer. | ||
316 | |||
317 | config PFAULT | ||
318 | bool "Pseudo page fault support" | ||
319 | help | ||
320 | Select this option, if you want to use PFAULT pseudo page fault | ||
321 | handling under VM. If running native or in LPAR, this option | ||
322 | has no effect. If your VM does not support PFAULT, PAGEEX | ||
323 | pseudo page fault handling will be used. | ||
324 | Note that VM 4.2 supports PFAULT but has a bug in its | ||
325 | implementation that causes some problems. | ||
326 | Everybody who wants to run Linux under VM != VM4.2 should select | ||
327 | this option. | ||
328 | |||
329 | config SHARED_KERNEL | ||
330 | bool "VM shared kernel support" | ||
331 | help | ||
332 | Select this option, if you want to share the text segment of the | ||
333 | Linux kernel between different VM guests. This reduces memory | ||
334 | usage with lots of guests but greatly increases kernel size. | ||
335 | You should only select this option if you know what you are | ||
336 | doing and want to exploit this feature. | ||
337 | |||
338 | config CMM | ||
339 | tristate "Cooperative memory management" | ||
340 | help | ||
341 | Select this option, if you want to enable the kernel interface | ||
342 | to reduce the memory size of the system. This is accomplished | ||
343 | by allocating pages of memory and put them "on hold". This only | ||
344 | makes sense for a system running under VM where the unused pages | ||
345 | will be reused by VM for other guest systems. The interface | ||
346 | allows an external monitor to balance memory of many systems. | ||
347 | Everybody who wants to run Linux under VM should select this | ||
348 | option. | ||
349 | |||
350 | config CMM_PROC | ||
351 | bool "/proc interface to cooperative memory management" | ||
352 | depends on CMM | ||
353 | help | ||
354 | Select this option to enable the /proc interface to the | ||
355 | cooperative memory management. | ||
356 | |||
357 | config CMM_IUCV | ||
358 | bool "IUCV special message interface to cooperative memory management" | ||
359 | depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV) | ||
360 | help | ||
361 | Select this option to enable the special message interface to | ||
362 | the cooperative memory management. | ||
363 | |||
364 | config VIRT_TIMER | ||
365 | bool "Virtual CPU timer support" | ||
366 | help | ||
367 | This provides a kernel interface for virtual CPU timers. | ||
368 | Default is disabled. | ||
369 | |||
370 | config VIRT_CPU_ACCOUNTING | ||
371 | bool "Base user process accounting on virtual cpu timer" | ||
372 | depends on VIRT_TIMER | ||
373 | help | ||
374 | Select this option to use CPU timer deltas to do user | ||
375 | process accounting. | ||
376 | |||
377 | config APPLDATA_BASE | ||
378 | bool "Linux - VM Monitor Stream, base infrastructure" | ||
379 | depends on PROC_FS && VIRT_TIMER=y | ||
380 | help | ||
381 | This provides a kernel interface for creating and updating z/VM APPLDATA | ||
382 | monitor records. The monitor records are updated at certain time | ||
383 | intervals, once the timer is started. | ||
384 | Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer, | ||
385 | i.e. enables or disables monitoring on the Linux side. | ||
386 | A custom interval value (in seconds) can be written to | ||
387 | /proc/appldata/interval. | ||
388 | |||
389 | Defaults are 60 seconds interval and timer off. | ||
390 | The /proc entries can also be read from, showing the current settings. | ||
391 | |||
392 | config APPLDATA_MEM | ||
393 | tristate "Monitor memory management statistics" | ||
394 | depends on APPLDATA_BASE | ||
395 | help | ||
396 | This provides memory management related data to the Linux - VM Monitor | ||
397 | Stream, like paging/swapping rate, memory utilisation, etc. | ||
398 | Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM | ||
399 | APPLDATA monitor record, i.e. enables or disables monitoring this record | ||
400 | on the z/VM side. | ||
401 | |||
402 | Default is disabled. | ||
403 | The /proc entry can also be read from, showing the current settings. | ||
404 | |||
405 | This can also be compiled as a module, which will be called | ||
406 | appldata_mem.o. | ||
407 | |||
408 | config APPLDATA_OS | ||
409 | tristate "Monitor OS statistics" | ||
410 | depends on APPLDATA_BASE | ||
411 | help | ||
412 | This provides OS related data to the Linux - VM Monitor Stream, like | ||
413 | CPU utilisation, etc. | ||
414 | Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM | ||
415 | APPLDATA monitor record, i.e. enables or disables monitoring this record | ||
416 | on the z/VM side. | ||
417 | |||
418 | Default is disabled. | ||
419 | This can also be compiled as a module, which will be called | ||
420 | appldata_os.o. | ||
421 | |||
422 | config APPLDATA_NET_SUM | ||
423 | tristate "Monitor overall network statistics" | ||
424 | depends on APPLDATA_BASE | ||
425 | help | ||
426 | This provides network related data to the Linux - VM Monitor Stream, | ||
427 | currently there is only a total sum of network I/O statistics, no | ||
428 | per-interface data. | ||
429 | Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM | ||
430 | APPLDATA monitor record, i.e. enables or disables monitoring this record | ||
431 | on the z/VM side. | ||
432 | |||
433 | Default is disabled. | ||
434 | This can also be compiled as a module, which will be called | ||
435 | appldata_net_sum.o. | ||
436 | |||
437 | config NO_IDLE_HZ | ||
438 | bool "No HZ timer ticks in idle" | ||
439 | help | ||
440 | Switches the regular HZ timer off when the system is going idle. | ||
441 | This helps z/VM to detect that the Linux system is idle. VM can | ||
442 | then "swap-out" this guest which reduces memory usage. It also | ||
443 | reduces the overhead of idle systems. | ||
444 | |||
445 | The HZ timer can be switched on/off via /proc/sys/kernel/hz_timer. | ||
446 | hz_timer=0 means HZ timer is disabled. hz_timer=1 means HZ | ||
447 | timer is active. | ||
448 | |||
449 | config NO_IDLE_HZ_INIT | ||
450 | bool "HZ timer in idle off by default" | ||
451 | depends on NO_IDLE_HZ | ||
452 | help | ||
453 | The HZ timer is switched off in idle by default. That means the | ||
454 | HZ timer is already disabled at boot time. | ||
455 | |||
456 | endmenu | ||
457 | |||
458 | config PCMCIA | ||
459 | bool | ||
460 | default n | ||
461 | |||
462 | source "drivers/base/Kconfig" | ||
463 | |||
464 | source "drivers/scsi/Kconfig" | ||
465 | |||
466 | source "drivers/s390/Kconfig" | ||
467 | |||
468 | source "net/Kconfig" | ||
469 | |||
470 | source "fs/Kconfig" | ||
471 | |||
472 | source "arch/s390/oprofile/Kconfig" | ||
473 | |||
474 | source "arch/s390/Kconfig.debug" | ||
475 | |||
476 | source "security/Kconfig" | ||
477 | |||
478 | source "crypto/Kconfig" | ||
479 | |||
480 | source "lib/Kconfig" | ||