2005-04-17 00:20:36 +02:00
|
|
|
#
|
|
|
|
# For a description of the syntax of this configuration file,
|
|
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
|
|
#
|
|
|
|
|
2008-04-17 07:46:12 +02:00
|
|
|
config SCHED_MC
|
|
|
|
def_bool y
|
|
|
|
depends on SMP
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
config MMU
|
2007-05-10 15:46:00 +02:00
|
|
|
def_bool y
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2007-02-10 10:43:09 +01:00
|
|
|
config ZONE_DMA
|
2007-02-21 10:55:12 +01:00
|
|
|
def_bool y
|
|
|
|
depends on 64BIT
|
2007-02-10 10:43:09 +01:00
|
|
|
|
2006-07-03 09:25:02 +02:00
|
|
|
config LOCKDEP_SUPPORT
|
2007-05-10 15:46:00 +02:00
|
|
|
def_bool y
|
2006-07-03 09:25:02 +02:00
|
|
|
|
2006-07-03 09:24:41 +02:00
|
|
|
config STACKTRACE_SUPPORT
|
2007-05-10 15:46:00 +02:00
|
|
|
def_bool y
|
2006-07-03 09:24:41 +02:00
|
|
|
|
2008-02-05 16:50:45 +01:00
|
|
|
config HAVE_LATENCYTOP_SUPPORT
|
|
|
|
def_bool y
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
|
|
bool
|
|
|
|
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
2007-05-10 15:46:00 +02:00
|
|
|
def_bool y
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2006-12-08 11:37:49 +01:00
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
|
|
bool
|
|
|
|
default n
|
|
|
|
|
2006-03-26 11:39:34 +02:00
|
|
|
config GENERIC_HWEIGHT
|
2007-05-10 15:46:00 +02:00
|
|
|
def_bool y
|
2006-03-26 11:39:34 +02:00
|
|
|
|
2006-10-06 16:38:48 +02:00
|
|
|
config GENERIC_TIME
|
|
|
|
def_bool y
|
|
|
|
|
2008-04-17 07:46:25 +02:00
|
|
|
config GENERIC_CLOCKEVENTS
|
|
|
|
def_bool y
|
|
|
|
|
2007-04-27 16:01:42 +02:00
|
|
|
config GENERIC_BUG
|
|
|
|
bool
|
|
|
|
depends on BUG
|
|
|
|
default y
|
|
|
|
|
2007-02-11 19:15:29 +01:00
|
|
|
config NO_IOMEM
|
2007-02-11 16:41:31 +01:00
|
|
|
def_bool y
|
|
|
|
|
2007-05-06 23:49:09 +02:00
|
|
|
config NO_DMA
|
|
|
|
def_bool y
|
|
|
|
|
2008-02-05 16:50:42 +01:00
|
|
|
config GENERIC_LOCKBREAK
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
depends on SMP && PREEMPT
|
|
|
|
|
2008-03-25 18:47:10 +01:00
|
|
|
config PGSTE
|
|
|
|
bool
|
|
|
|
default y if KVM
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
mainmenu "Linux Kernel Configuration"
|
|
|
|
|
2006-01-06 09:19:28 +01:00
|
|
|
config S390
|
2007-05-10 15:46:00 +02:00
|
|
|
def_bool y
|
2008-02-02 21:10:34 +01:00
|
|
|
select HAVE_OPROFILE
|
2008-02-02 21:10:35 +01:00
|
|
|
select HAVE_KPROBES
|
2008-03-04 23:28:37 +01:00
|
|
|
select HAVE_KRETPROBES
|
2008-03-25 18:47:36 +01:00
|
|
|
select HAVE_KVM if 64BIT
|
2008-10-10 21:33:20 +02:00
|
|
|
select HAVE_ARCH_TRACEHOOK
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
source "init/Kconfig"
|
|
|
|
|
2008-10-19 05:27:21 +02:00
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
menu "Base setup"
|
|
|
|
|
|
|
|
comment "Processor type and features"
|
|
|
|
|
2008-04-17 07:46:25 +02:00
|
|
|
source "kernel/time/Kconfig"
|
|
|
|
|
2006-01-06 09:19:28 +01:00
|
|
|
config 64BIT
|
2005-04-17 00:20:36 +02:00
|
|
|
bool "64 bit kernel"
|
|
|
|
help
|
|
|
|
Select this option if you have a 64 bit IBM zSeries machine
|
|
|
|
and want to use the 64 bit addressing mode.
|
|
|
|
|
2006-09-28 16:55:39 +02:00
|
|
|
config 32BIT
|
|
|
|
bool
|
|
|
|
default y if !64BIT
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
config SMP
|
|
|
|
bool "Symmetric multi-processing support"
|
|
|
|
---help---
|
|
|
|
This enables support for systems with more than one CPU. If you have
|
|
|
|
a system with only one CPU, like most personal computers, say N. If
|
|
|
|
you have a system with more than one CPU, say Y.
|
|
|
|
|
|
|
|
If you say N here, the kernel will run on single and multiprocessor
|
|
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
|
|
|
you say Y here, the kernel will run on many, but not all,
|
|
|
|
singleprocessor machines. On a singleprocessor machine, the kernel
|
|
|
|
will run faster if you say N here.
|
|
|
|
|
2008-02-03 14:50:21 +01:00
|
|
|
See also the SMP-HOWTO available at
|
|
|
|
<http://www.tldp.org/docs.html#howto>.
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
Even if you don't know what to do here, say Y.
|
|
|
|
|
|
|
|
config NR_CPUS
|
|
|
|
int "Maximum number of CPUs (2-64)"
|
|
|
|
range 2 64
|
|
|
|
depends on SMP
|
2008-02-19 15:29:25 +01:00
|
|
|
default "32" if !64BIT
|
|
|
|
default "64" if 64BIT
|
2005-04-17 00:20:36 +02:00
|
|
|
help
|
|
|
|
This allows you to specify the maximum number of CPUs which this
|
|
|
|
kernel will support. The maximum supported value is 64 and the
|
|
|
|
minimum value which makes sense is 2.
|
|
|
|
|
|
|
|
This is purely to save memory - each supported CPU adds
|
|
|
|
approximately sixteen kilobytes to the kernel image.
|
|
|
|
|
|
|
|
config HOTPLUG_CPU
|
|
|
|
bool "Support for hot-pluggable CPUs"
|
|
|
|
depends on SMP
|
|
|
|
select HOTPLUG
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Say Y here to be able to turn CPUs off and on. CPUs
|
|
|
|
can be controlled through /sys/devices/system/cpu/cpu#.
|
|
|
|
Say N if you want to disable CPU hotplug.
|
|
|
|
|
|
|
|
config MATHEMU
|
|
|
|
bool "IEEE FPU emulation"
|
|
|
|
depends on MARCH_G5
|
|
|
|
help
|
|
|
|
This option is required for IEEE compliant floating point arithmetic
|
|
|
|
on older S/390 machines. Say Y unless you know your machine doesn't
|
|
|
|
need this.
|
|
|
|
|
2006-01-06 09:19:28 +01:00
|
|
|
config COMPAT
|
2005-04-17 00:20:36 +02:00
|
|
|
bool "Kernel support for 31 bit emulation"
|
2006-01-06 09:19:28 +01:00
|
|
|
depends on 64BIT
|
2008-07-14 09:58:54 +02:00
|
|
|
select COMPAT_BINFMT_ELF
|
2005-04-17 00:20:36 +02:00
|
|
|
help
|
|
|
|
Select this option if you want to enable your system kernel to
|
|
|
|
handle system-calls from ELF binaries for 31 bit ESA. This option
|
|
|
|
(and some other stuff like libraries and such) is needed for
|
|
|
|
executing 31 bit applications. It is safe to say "Y".
|
|
|
|
|
|
|
|
config SYSVIPC_COMPAT
|
|
|
|
bool
|
|
|
|
depends on COMPAT && SYSVIPC
|
|
|
|
default y
|
|
|
|
|
2006-09-12 09:04:40 +02:00
|
|
|
config AUDIT_ARCH
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2007-02-05 21:18:17 +01:00
|
|
|
config S390_SWITCH_AMODE
|
|
|
|
bool "Switch kernel/user addressing modes"
|
|
|
|
help
|
|
|
|
This option allows to switch the addressing modes of kernel and user
|
|
|
|
space. The kernel parameter switch_amode=on will enable this feature,
|
|
|
|
default is disabled. Enabling this (via kernel parameter) on machines
|
|
|
|
earlier than IBM System z9-109 EC/BC will reduce system performance.
|
|
|
|
|
|
|
|
Note that this option will also be selected by selecting the execute
|
|
|
|
protection option below. Enabling the execute protection via the
|
|
|
|
noexec kernel parameter will also switch the addressing modes,
|
|
|
|
independent of the switch_amode kernel parameter.
|
|
|
|
|
|
|
|
|
|
|
|
config S390_EXEC_PROTECT
|
|
|
|
bool "Data execute protection"
|
|
|
|
select S390_SWITCH_AMODE
|
|
|
|
help
|
|
|
|
This option allows to enable a buffer overflow protection for user
|
|
|
|
space programs and it also selects the addressing mode option above.
|
|
|
|
The kernel parameter noexec=on will enable this feature and also
|
|
|
|
switch the addressing modes, default is disabled. Enabling this (via
|
|
|
|
kernel parameter) on machines earlier than IBM System z9-109 EC/BC
|
|
|
|
will reduce system performance.
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
comment "Code generation options"
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Processor type"
|
|
|
|
default MARCH_G5
|
|
|
|
|
|
|
|
config MARCH_G5
|
|
|
|
bool "S/390 model G5 and G6"
|
2006-01-06 09:19:28 +01:00
|
|
|
depends on !64BIT
|
2005-04-17 00:20:36 +02:00
|
|
|
help
|
|
|
|
Select this to build a 31 bit kernel that works
|
|
|
|
on all S/390 and zSeries machines.
|
|
|
|
|
|
|
|
config MARCH_Z900
|
|
|
|
bool "IBM eServer zSeries model z800 and z900"
|
|
|
|
help
|
|
|
|
Select this to optimize for zSeries machines. This
|
|
|
|
will enable some optimizations that are not available
|
|
|
|
on older 31 bit only CPUs.
|
|
|
|
|
|
|
|
config MARCH_Z990
|
|
|
|
bool "IBM eServer zSeries model z890 and z990"
|
|
|
|
help
|
|
|
|
Select this enable optimizations for model z890/z990.
|
|
|
|
This will be slightly faster but does not work on
|
|
|
|
older machines such as the z900.
|
|
|
|
|
2006-09-28 16:55:46 +02:00
|
|
|
config MARCH_Z9_109
|
|
|
|
bool "IBM System z9"
|
|
|
|
help
|
|
|
|
Select this to enable optimizations for IBM System z9-109, IBM
|
|
|
|
System z9 Enterprise Class (z9 EC), and IBM System z9 Business
|
|
|
|
Class (z9 BC). The kernel will be slightly faster but will not
|
|
|
|
work on older machines such as the z990, z890, z900, and z800.
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
config PACK_STACK
|
|
|
|
bool "Pack kernel stack"
|
|
|
|
help
|
|
|
|
This option enables the compiler option -mkernel-backchain if it
|
|
|
|
is available. If the option is available the compiler supports
|
|
|
|
the new stack layout which dramatically reduces the minimum stack
|
|
|
|
frame size. With an old compiler a non-leaf function needs a
|
|
|
|
minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With
|
|
|
|
-mkernel-backchain the minimum size drops to 16 byte on 31 bit
|
|
|
|
and 24 byte on 64 bit.
|
|
|
|
|
|
|
|
Say Y if you are unsure.
|
|
|
|
|
|
|
|
config SMALL_STACK
|
[S390] No more 4kb stacks.
We got a stack overflow with a small stack configuration on a 32 bit
system. It just looks like as 4kb isn't enough and too dangerous.
So lets get rid of 4kb stacks on 32 bit.
But one thing I completely dislike about the call trace below is that
just for debugging or tracing purposes sprintf gets called (cio_start_key):
/* process condition code */
sprintf(dbf_txt, "ccode:%d", ccode);
CIO_TRACE_EVENT(4, dbf_txt);
But maybe its just me who thinks that this could be done better.
<4>Kernel stack overflow.
<4>Modules linked in: dm_multipath sunrpc bonding qeth_l2 dm_mod qeth ccwgroup vmur
<4>CPU: 1 Not tainted 2.6.27-30.x.20081015-s390default #1
<4>Process httpd (pid: 3807, task: 20ae2df8, ksp: 1666fb78)
<4>Krnl PSW : 040c0000 8027098a (number+0xe/0x348)
<4> R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0
<4>Krnl GPRS: 00d43318 0027097c 1666f277 9666f270
<4> 00000000 00000000 0000000a ffffffff
<4> 9666f270 1666f228 1666f277 1666f098
<4> 00000002 80270982 80271016 1666f098
<4>Krnl Code: 8027097e: f0340dd0a7f1 srp 3536(4,%r0),2033(%r10),4
<4> 80270984: 0f00 clcl %r0,%r0
<4> 80270986: a7840001 brc 8,80270988
<4> >8027098a: 18ef lr %r14,%r15
<4> 8027098c: a7faff68 ahi %r15,-152
<4> 80270990: 18bf lr %r11,%r15
<4> 80270992: 18a2 lr %r10,%r2
<4> 80270994: 1893 lr %r9,%r3
Modified calltrace with annotated stackframe size of each function:
stackframe size
|
0 304 vsnprintf+850 [0x271016]
1 72 sprintf+74 [0x271522]
2 56 cio_start_key+262 [0x2d4c16]
3 56 ccw_device_start_key+222 [0x2dfe92]
4 56 ccw_device_start+40 [0x2dff28]
5 48 raw3215_start_io+104 [0x30b0f8]
6 56 raw3215_write+494 [0x30ba0a]
7 40 con3215_write+68 [0x30bafc]
8 40 __call_console_drivers+146 [0x12b0fa]
9 32 _call_console_drivers+102 [0x12b192]
10 64 release_console_sem+268 [0x12b614]
11 168 vprintk+462 [0x12bca6]
12 72 printk+68 [0x12bfd0]
13 256 __print_symbol+50 [0x15a882]
14 56 __show_trace+162 [0x103d06]
15 32 show_trace+224 [0x103e70]
16 48 show_stack+152 [0x103f20]
17 56 dump_stack+126 [0x104612]
18 96 __alloc_pages_internal+592 [0x175004]
19 80 cache_alloc_refill+776 [0x196f3c]
20 40 __kmalloc+258 [0x1972ae]
21 40 __alloc_skb+94 [0x328086]
22 32 pskb_copy+50 [0x328252]
23 32 skb_realloc_headroom+110 [0x328a72]
24 104 qeth_l2_hard_start_xmit+378 [0x7803bfde]
25 56 dev_hard_start_xmit+450 [0x32ef6e]
26 56 __qdisc_run+390 [0x3425d6]
27 48 dev_queue_xmit+410 [0x331e06]
28 40 ip_finish_output+308 [0x354ac8]
29 56 ip_output+218 [0x355b6e]
30 24 ip_local_out+56 [0x354584]
31 120 ip_queue_xmit+300 [0x355cec]
32 96 tcp_transmit_skb+812 [0x367da8]
33 40 tcp_push_one+158 [0x369fda]
34 112 tcp_sendmsg+852 [0x35d5a0]
35 240 sock_sendmsg+164 [0x32035c]
36 56 kernel_sendmsg+86 [0x32064a]
37 88 sock_no_sendpage+98 [0x322b22]
38 104 tcp_sendpage+70 [0x35cc1e]
39 48 sock_sendpage+74 [0x31eb66]
40 64 pipe_to_sendpage+102 [0x1c4b2e]
41 64 __splice_from_pipe+120 [0x1c5340]
42 72 splice_from_pipe+90 [0x1c57e6]
43 56 generic_splice_sendpage+38 [0x1c5832]
44 48 do_splice_from+104 [0x1c4c38]
45 48 direct_splice_actor+52 [0x1c4c88]
46 80 splice_direct_to_actor+180 [0x1c4f80]
47 72 do_splice_direct+70 [0x1c5112]
48 64 do_sendfile+360 [0x19de18]
49 72 sys_sendfile64+126 [0x19df32]
50 336 sysc_do_restart+18 [0x111a1a]
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-10-28 11:10:21 +01:00
|
|
|
bool "Use 8kb for kernel stack instead of 16kb"
|
|
|
|
depends on PACK_STACK && 64BIT && !LOCKDEP
|
2005-04-17 00:20:36 +02:00
|
|
|
help
|
|
|
|
If you say Y here and the compiler supports the -mkernel-backchain
|
[S390] No more 4kb stacks.
We got a stack overflow with a small stack configuration on a 32 bit
system. It just looks like as 4kb isn't enough and too dangerous.
So lets get rid of 4kb stacks on 32 bit.
But one thing I completely dislike about the call trace below is that
just for debugging or tracing purposes sprintf gets called (cio_start_key):
/* process condition code */
sprintf(dbf_txt, "ccode:%d", ccode);
CIO_TRACE_EVENT(4, dbf_txt);
But maybe its just me who thinks that this could be done better.
<4>Kernel stack overflow.
<4>Modules linked in: dm_multipath sunrpc bonding qeth_l2 dm_mod qeth ccwgroup vmur
<4>CPU: 1 Not tainted 2.6.27-30.x.20081015-s390default #1
<4>Process httpd (pid: 3807, task: 20ae2df8, ksp: 1666fb78)
<4>Krnl PSW : 040c0000 8027098a (number+0xe/0x348)
<4> R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0
<4>Krnl GPRS: 00d43318 0027097c 1666f277 9666f270
<4> 00000000 00000000 0000000a ffffffff
<4> 9666f270 1666f228 1666f277 1666f098
<4> 00000002 80270982 80271016 1666f098
<4>Krnl Code: 8027097e: f0340dd0a7f1 srp 3536(4,%r0),2033(%r10),4
<4> 80270984: 0f00 clcl %r0,%r0
<4> 80270986: a7840001 brc 8,80270988
<4> >8027098a: 18ef lr %r14,%r15
<4> 8027098c: a7faff68 ahi %r15,-152
<4> 80270990: 18bf lr %r11,%r15
<4> 80270992: 18a2 lr %r10,%r2
<4> 80270994: 1893 lr %r9,%r3
Modified calltrace with annotated stackframe size of each function:
stackframe size
|
0 304 vsnprintf+850 [0x271016]
1 72 sprintf+74 [0x271522]
2 56 cio_start_key+262 [0x2d4c16]
3 56 ccw_device_start_key+222 [0x2dfe92]
4 56 ccw_device_start+40 [0x2dff28]
5 48 raw3215_start_io+104 [0x30b0f8]
6 56 raw3215_write+494 [0x30ba0a]
7 40 con3215_write+68 [0x30bafc]
8 40 __call_console_drivers+146 [0x12b0fa]
9 32 _call_console_drivers+102 [0x12b192]
10 64 release_console_sem+268 [0x12b614]
11 168 vprintk+462 [0x12bca6]
12 72 printk+68 [0x12bfd0]
13 256 __print_symbol+50 [0x15a882]
14 56 __show_trace+162 [0x103d06]
15 32 show_trace+224 [0x103e70]
16 48 show_stack+152 [0x103f20]
17 56 dump_stack+126 [0x104612]
18 96 __alloc_pages_internal+592 [0x175004]
19 80 cache_alloc_refill+776 [0x196f3c]
20 40 __kmalloc+258 [0x1972ae]
21 40 __alloc_skb+94 [0x328086]
22 32 pskb_copy+50 [0x328252]
23 32 skb_realloc_headroom+110 [0x328a72]
24 104 qeth_l2_hard_start_xmit+378 [0x7803bfde]
25 56 dev_hard_start_xmit+450 [0x32ef6e]
26 56 __qdisc_run+390 [0x3425d6]
27 48 dev_queue_xmit+410 [0x331e06]
28 40 ip_finish_output+308 [0x354ac8]
29 56 ip_output+218 [0x355b6e]
30 24 ip_local_out+56 [0x354584]
31 120 ip_queue_xmit+300 [0x355cec]
32 96 tcp_transmit_skb+812 [0x367da8]
33 40 tcp_push_one+158 [0x369fda]
34 112 tcp_sendmsg+852 [0x35d5a0]
35 240 sock_sendmsg+164 [0x32035c]
36 56 kernel_sendmsg+86 [0x32064a]
37 88 sock_no_sendpage+98 [0x322b22]
38 104 tcp_sendpage+70 [0x35cc1e]
39 48 sock_sendpage+74 [0x31eb66]
40 64 pipe_to_sendpage+102 [0x1c4b2e]
41 64 __splice_from_pipe+120 [0x1c5340]
42 72 splice_from_pipe+90 [0x1c57e6]
43 56 generic_splice_sendpage+38 [0x1c5832]
44 48 do_splice_from+104 [0x1c4c38]
45 48 direct_splice_actor+52 [0x1c4c88]
46 80 splice_direct_to_actor+180 [0x1c4f80]
47 72 do_splice_direct+70 [0x1c5112]
48 64 do_sendfile+360 [0x19de18]
49 72 sys_sendfile64+126 [0x19df32]
50 336 sysc_do_restart+18 [0x111a1a]
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2008-10-28 11:10:21 +01:00
|
|
|
option the kernel will use a smaller kernel stack size. The reduced
|
|
|
|
size is 8kb instead of 16kb. This allows to run more threads on a
|
|
|
|
system and reduces the pressure on the memory management for higher
|
|
|
|
order page allocations.
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
Say N if you are unsure.
|
|
|
|
|
|
|
|
config CHECK_STACK
|
|
|
|
bool "Detect kernel stack overflow"
|
|
|
|
help
|
|
|
|
This option enables the compiler option -mstack-guard and
|
|
|
|
-mstack-size if they are available. If the compiler supports them
|
|
|
|
it will emit additional code to each function prolog to trigger
|
|
|
|
an illegal operation if the kernel stack is about to overflow.
|
|
|
|
|
|
|
|
Say N if you are unsure.
|
|
|
|
|
|
|
|
config STACK_GUARD
|
|
|
|
int "Size of the guard area (128-1024)"
|
|
|
|
range 128 1024
|
|
|
|
depends on CHECK_STACK
|
|
|
|
default "256"
|
|
|
|
help
|
|
|
|
This allows you to specify the size of the guard area at the lower
|
|
|
|
end of the kernel stack. If the kernel stack points into the guard
|
|
|
|
area on function entry an illegal operation is triggered. The size
|
|
|
|
needs to be a power of 2. Please keep in mind that the size of an
|
|
|
|
interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit.
|
|
|
|
The minimum size for the stack guard should be 256 for 31 bit and
|
|
|
|
512 for 64 bit.
|
|
|
|
|
|
|
|
config WARN_STACK
|
|
|
|
bool "Emit compiler warnings for function with broken stack usage"
|
|
|
|
help
|
|
|
|
This option enables the compiler options -mwarn-framesize and
|
|
|
|
-mwarn-dynamicstack. If the compiler supports these options it
|
|
|
|
will generate warnings for function which either use alloca or
|
|
|
|
create a stack frame bigger then CONFIG_WARN_STACK_SIZE.
|
|
|
|
|
|
|
|
Say N if you are unsure.
|
|
|
|
|
|
|
|
config WARN_STACK_SIZE
|
|
|
|
int "Maximum frame size considered safe (128-2048)"
|
|
|
|
range 128 2048
|
|
|
|
depends on WARN_STACK
|
2008-07-17 17:16:44 +02:00
|
|
|
default "2048"
|
2005-04-17 00:20:36 +02:00
|
|
|
help
|
|
|
|
This allows you to specify the maximum frame size a function may
|
|
|
|
have without the compiler complaining about it.
|
|
|
|
|
2006-12-08 15:56:10 +01:00
|
|
|
config ARCH_POPULATES_NODE_MAP
|
|
|
|
def_bool y
|
|
|
|
|
2007-05-10 15:46:00 +02:00
|
|
|
comment "Kernel preemption"
|
|
|
|
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
|
2008-04-30 13:38:47 +02:00
|
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
|
|
def_bool y
|
|
|
|
select SPARSEMEM_VMEMMAP_ENABLE
|
|
|
|
select SPARSEMEM_VMEMMAP
|
2008-06-10 10:03:18 +02:00
|
|
|
select SPARSEMEM_STATIC if !64BIT
|
2008-04-30 13:38:47 +02:00
|
|
|
|
|
|
|
config ARCH_SPARSEMEM_DEFAULT
|
|
|
|
def_bool y
|
|
|
|
|
2008-05-30 10:03:24 +02:00
|
|
|
config ARCH_SELECT_MEMORY_MODEL
|
|
|
|
def_bool y
|
|
|
|
|
2008-07-14 09:59:18 +02:00
|
|
|
config ARCH_ENABLE_MEMORY_HOTPLUG
|
|
|
|
def_bool y
|
|
|
|
depends on SPARSEMEM
|
|
|
|
|
2008-08-01 16:39:16 +02:00
|
|
|
config ARCH_ENABLE_MEMORY_HOTREMOVE
|
|
|
|
def_bool y
|
|
|
|
|
2005-06-23 09:07:43 +02:00
|
|
|
source "mm/Kconfig"
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
comment "I/O subsystem configuration"
|
|
|
|
|
|
|
|
config MACHCHK_WARNING
|
|
|
|
bool "Process warning machine checks"
|
|
|
|
help
|
|
|
|
Select this option if you want the machine check handler on IBM S/390 or
|
|
|
|
zSeries to process warning machine checks (e.g. on power failures).
|
|
|
|
If unsure, say "Y".
|
|
|
|
|
|
|
|
config QDIO
|
|
|
|
tristate "QDIO support"
|
|
|
|
---help---
|
2006-01-06 09:19:20 +01:00
|
|
|
This driver provides the Queued Direct I/O base support for
|
2008-04-17 07:46:19 +02:00
|
|
|
IBM System z.
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called qdio.
|
|
|
|
|
|
|
|
If unsure, say Y.
|
|
|
|
|
|
|
|
config QDIO_DEBUG
|
|
|
|
bool "Extended debugging information"
|
|
|
|
depends on QDIO
|
|
|
|
help
|
2006-01-06 09:19:20 +01:00
|
|
|
Say Y here to get extended debugging output in
|
|
|
|
/sys/kernel/debug/s390dbf/qdio...
|
2005-04-17 00:20:36 +02:00
|
|
|
Warning: this option reduces the performance of the QDIO module.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2008-07-14 09:59:05 +02:00
|
|
|
config CHSC_SCH
|
|
|
|
tristate "Support for CHSC subchannels"
|
|
|
|
help
|
|
|
|
This driver allows usage of CHSC subchannels. A CHSC subchannel
|
|
|
|
is usually present on LPAR only.
|
|
|
|
The driver creates a device /dev/chsc, which may be used to
|
|
|
|
obtain I/O configuration information about the machine and
|
|
|
|
to issue asynchronous chsc commands (DANGEROUS).
|
|
|
|
You will usually only want to use this interface on a special
|
|
|
|
LPAR designated for system management.
|
|
|
|
|
|
|
|
To compile this driver as a module, choose M here: the
|
|
|
|
module will be called chsc_sch.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
comment "Misc"
|
|
|
|
|
|
|
|
config IPL
|
|
|
|
bool "Builtin IPL record support"
|
|
|
|
help
|
|
|
|
If you want to use the produced kernel to IPL directly from a
|
|
|
|
device, you have to merge a bootsector specific to the device
|
|
|
|
into the first bytes of the kernel. You will have to select the
|
|
|
|
IPL device.
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "IPL method generated into head.S"
|
|
|
|
depends on IPL
|
2008-10-28 11:10:20 +01:00
|
|
|
default IPL_VM
|
2005-04-17 00:20:36 +02:00
|
|
|
help
|
|
|
|
Select "tape" if you want to IPL the image from a Tape.
|
|
|
|
|
|
|
|
Select "vm_reader" if you are running under VM/ESA and want
|
|
|
|
to IPL the image from the emulated card reader.
|
|
|
|
|
|
|
|
config IPL_TAPE
|
|
|
|
bool "tape"
|
|
|
|
|
|
|
|
config IPL_VM
|
|
|
|
bool "vm_reader"
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
|
2008-03-05 12:37:14 +01:00
|
|
|
config FORCE_MAX_ZONEORDER
|
|
|
|
int
|
|
|
|
default "9"
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
config PROCESS_DEBUG
|
|
|
|
bool "Show crashed user process info"
|
|
|
|
help
|
|
|
|
Say Y to print all process fault locations to the console. This is
|
|
|
|
a debugging option; you probably do not want to set it unless you
|
|
|
|
are an S390 port maintainer.
|
|
|
|
|
|
|
|
config PFAULT
|
|
|
|
bool "Pseudo page fault support"
|
|
|
|
help
|
|
|
|
Select this option, if you want to use PFAULT pseudo page fault
|
|
|
|
handling under VM. If running native or in LPAR, this option
|
|
|
|
has no effect. If your VM does not support PFAULT, PAGEEX
|
|
|
|
pseudo page fault handling will be used.
|
|
|
|
Note that VM 4.2 supports PFAULT but has a bug in its
|
|
|
|
implementation that causes some problems.
|
|
|
|
Everybody who wants to run Linux under VM != VM4.2 should select
|
|
|
|
this option.
|
|
|
|
|
|
|
|
config SHARED_KERNEL
|
|
|
|
bool "VM shared kernel support"
|
|
|
|
help
|
|
|
|
Select this option, if you want to share the text segment of the
|
|
|
|
Linux kernel between different VM guests. This reduces memory
|
|
|
|
usage with lots of guests but greatly increases kernel size.
|
2007-03-05 23:35:45 +01:00
|
|
|
Also if a kernel was IPL'ed from a shared segment the kexec system
|
|
|
|
call will not work.
|
2005-04-17 00:20:36 +02:00
|
|
|
You should only select this option if you know what you are
|
|
|
|
doing and want to exploit this feature.
|
|
|
|
|
|
|
|
config CMM
|
|
|
|
tristate "Cooperative memory management"
|
|
|
|
help
|
|
|
|
Select this option, if you want to enable the kernel interface
|
|
|
|
to reduce the memory size of the system. This is accomplished
|
|
|
|
by allocating pages of memory and put them "on hold". This only
|
|
|
|
makes sense for a system running under VM where the unused pages
|
|
|
|
will be reused by VM for other guest systems. The interface
|
|
|
|
allows an external monitor to balance memory of many systems.
|
|
|
|
Everybody who wants to run Linux under VM should select this
|
|
|
|
option.
|
|
|
|
|
|
|
|
config CMM_PROC
|
|
|
|
bool "/proc interface to cooperative memory management"
|
|
|
|
depends on CMM
|
|
|
|
help
|
|
|
|
Select this option to enable the /proc interface to the
|
|
|
|
cooperative memory management.
|
|
|
|
|
|
|
|
config CMM_IUCV
|
|
|
|
bool "IUCV special message interface to cooperative memory management"
|
|
|
|
depends on CMM && (SMSGIUCV=y || CMM=SMSGIUCV)
|
|
|
|
help
|
|
|
|
Select this option to enable the special message interface to
|
|
|
|
the cooperative memory management.
|
|
|
|
|
2008-05-07 09:22:59 +02:00
|
|
|
config PAGE_STATES
|
|
|
|
bool "Unused page notification"
|
|
|
|
help
|
|
|
|
This enables the notification of unused pages to the
|
|
|
|
hypervisor. The ESSA instruction is used to do the states
|
|
|
|
changes between a page that has content and the unused state.
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
config VIRT_TIMER
|
|
|
|
bool "Virtual CPU timer support"
|
|
|
|
help
|
|
|
|
This provides a kernel interface for virtual CPU timers.
|
|
|
|
Default is disabled.
|
|
|
|
|
|
|
|
config VIRT_CPU_ACCOUNTING
|
|
|
|
bool "Base user process accounting on virtual cpu timer"
|
|
|
|
depends on VIRT_TIMER
|
|
|
|
help
|
|
|
|
Select this option to use CPU timer deltas to do user
|
|
|
|
process accounting.
|
|
|
|
|
|
|
|
config APPLDATA_BASE
|
|
|
|
bool "Linux - VM Monitor Stream, base infrastructure"
|
|
|
|
depends on PROC_FS && VIRT_TIMER=y
|
|
|
|
help
|
|
|
|
This provides a kernel interface for creating and updating z/VM APPLDATA
|
|
|
|
monitor records. The monitor records are updated at certain time
|
|
|
|
intervals, once the timer is started.
|
|
|
|
Writing 1 or 0 to /proc/appldata/timer starts(1) or stops(0) the timer,
|
|
|
|
i.e. enables or disables monitoring on the Linux side.
|
|
|
|
A custom interval value (in seconds) can be written to
|
|
|
|
/proc/appldata/interval.
|
|
|
|
|
|
|
|
Defaults are 60 seconds interval and timer off.
|
|
|
|
The /proc entries can also be read from, showing the current settings.
|
|
|
|
|
|
|
|
config APPLDATA_MEM
|
|
|
|
tristate "Monitor memory management statistics"
|
2006-12-13 09:34:59 +01:00
|
|
|
depends on APPLDATA_BASE && VM_EVENT_COUNTERS
|
2005-04-17 00:20:36 +02:00
|
|
|
help
|
|
|
|
This provides memory management related data to the Linux - VM Monitor
|
|
|
|
Stream, like paging/swapping rate, memory utilisation, etc.
|
|
|
|
Writing 1 or 0 to /proc/appldata/memory creates(1) or removes(0) a z/VM
|
|
|
|
APPLDATA monitor record, i.e. enables or disables monitoring this record
|
|
|
|
on the z/VM side.
|
|
|
|
|
|
|
|
Default is disabled.
|
|
|
|
The /proc entry can also be read from, showing the current settings.
|
|
|
|
|
|
|
|
This can also be compiled as a module, which will be called
|
|
|
|
appldata_mem.o.
|
|
|
|
|
|
|
|
config APPLDATA_OS
|
|
|
|
tristate "Monitor OS statistics"
|
|
|
|
depends on APPLDATA_BASE
|
|
|
|
help
|
|
|
|
This provides OS related data to the Linux - VM Monitor Stream, like
|
|
|
|
CPU utilisation, etc.
|
|
|
|
Writing 1 or 0 to /proc/appldata/os creates(1) or removes(0) a z/VM
|
|
|
|
APPLDATA monitor record, i.e. enables or disables monitoring this record
|
|
|
|
on the z/VM side.
|
|
|
|
|
|
|
|
Default is disabled.
|
|
|
|
This can also be compiled as a module, which will be called
|
|
|
|
appldata_os.o.
|
|
|
|
|
|
|
|
config APPLDATA_NET_SUM
|
|
|
|
tristate "Monitor overall network statistics"
|
|
|
|
depends on APPLDATA_BASE
|
|
|
|
help
|
|
|
|
This provides network related data to the Linux - VM Monitor Stream,
|
|
|
|
currently there is only a total sum of network I/O statistics, no
|
|
|
|
per-interface data.
|
|
|
|
Writing 1 or 0 to /proc/appldata/net_sum creates(1) or removes(0) a z/VM
|
|
|
|
APPLDATA monitor record, i.e. enables or disables monitoring this record
|
|
|
|
on the z/VM side.
|
|
|
|
|
|
|
|
Default is disabled.
|
|
|
|
This can also be compiled as a module, which will be called
|
|
|
|
appldata_net_sum.o.
|
|
|
|
|
2007-05-10 15:46:00 +02:00
|
|
|
source kernel/Kconfig.hz
|
|
|
|
|
2006-06-23 11:05:06 +02:00
|
|
|
config S390_HYPFS_FS
|
|
|
|
bool "s390 hypervisor file system support"
|
|
|
|
select SYS_HYPERVISOR
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
This is a virtual file system intended to provide accounting
|
|
|
|
information in an s390 hypervisor environment.
|
|
|
|
|
2005-06-25 23:58:11 +02:00
|
|
|
config KEXEC
|
2006-09-20 15:59:29 +02:00
|
|
|
bool "kexec system call"
|
2005-06-25 23:58:11 +02:00
|
|
|
help
|
|
|
|
kexec is a system call that implements the ability to shutdown your
|
|
|
|
current kernel, and to start another kernel. It is like a reboot
|
|
|
|
but is independent of hardware/microcode support.
|
|
|
|
|
2007-04-27 16:01:49 +02:00
|
|
|
config ZFCPDUMP
|
|
|
|
tristate "zfcpdump support"
|
|
|
|
select SMP
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Select this option if you want to build an zfcpdump enabled kernel.
|
2007-10-30 21:37:19 +01:00
|
|
|
Refer to <file:Documentation/s390/zfcpdump.txt> for more details on this.
|
2007-04-27 16:01:49 +02:00
|
|
|
|
2008-03-25 18:47:44 +01:00
|
|
|
config S390_GUEST
|
2008-08-29 13:30:56 +02:00
|
|
|
bool "s390 guest support for KVM (EXPERIMENTAL)"
|
2008-03-25 18:47:44 +01:00
|
|
|
depends on 64BIT && EXPERIMENTAL
|
|
|
|
select VIRTIO
|
|
|
|
select VIRTIO_RING
|
2008-06-20 15:24:18 +02:00
|
|
|
select VIRTIO_CONSOLE
|
2008-03-25 18:47:44 +01:00
|
|
|
help
|
2008-08-29 13:30:56 +02:00
|
|
|
Select this option if you want to run the kernel as a guest under
|
|
|
|
the KVM hypervisor. This will add detection for KVM as well as a
|
|
|
|
virtio transport. If KVM is detected, the virtio console will be
|
|
|
|
the default console.
|
2005-04-17 00:20:36 +02:00
|
|
|
endmenu
|
|
|
|
|
2005-07-12 06:03:49 +02:00
|
|
|
source "net/Kconfig"
|
|
|
|
|
2005-04-17 00:20:36 +02:00
|
|
|
config PCMCIA
|
2007-05-10 15:46:00 +02:00
|
|
|
def_bool n
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2007-05-10 15:46:00 +02:00
|
|
|
config CCW
|
|
|
|
def_bool y
|
2005-04-17 00:20:36 +02:00
|
|
|
|
2007-05-10 15:46:00 +02:00
|
|
|
source "drivers/Kconfig"
|
2005-04-17 00:20:36 +02:00
|
|
|
|
|
|
|
source "fs/Kconfig"
|
|
|
|
|
|
|
|
source "arch/s390/Kconfig.debug"
|
|
|
|
|
|
|
|
source "security/Kconfig"
|
|
|
|
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
|
|
|
|
source "lib/Kconfig"
|
2008-03-25 18:47:36 +01:00
|
|
|
|
|
|
|
source "arch/s390/kvm/Kconfig"
|