uml: clean up sig_handler_common_skas
[safe/jmp/linux-2.6] / arch / um / Kconfig
1 config DEFCONFIG_LIST
2         string
3         option defconfig_list
4         default "arch/$ARCH/defconfig"
5
6 # UML uses the generic IRQ subsystem
7 config GENERIC_HARDIRQS
8         bool
9         default y
10
11 config UML
12         bool
13         default y
14
15 config MMU
16         bool
17         default y
18
19 config NO_IOMEM
20         def_bool y
21
22 mainmenu "Linux/Usermode Kernel Configuration"
23
24 config ISA
25         bool
26
27 config SBUS
28         bool
29
30 config PCI
31         bool
32
33 config PCMCIA
34         bool
35
36 # Yet to do!
37 config TRACE_IRQFLAGS_SUPPORT
38         bool
39         default n
40
41 config LOCKDEP_SUPPORT
42         bool
43         default y
44
45 config STACKTRACE_SUPPORT
46         bool
47         default n
48
49 config GENERIC_CALIBRATE_DELAY
50         bool
51         default y
52
53 config GENERIC_BUG
54         bool
55         default y
56         depends on BUG
57
58 config GENERIC_TIME
59         bool
60         default y
61
62 config GENERIC_CLOCKEVENTS
63         bool
64         default y
65
66 # Used in kernel/irq/manage.c and include/linux/irq.h
67 config IRQ_RELEASE_METHOD
68         bool
69         default y
70
71 menu "UML-specific options"
72
73 config STATIC_LINK
74         bool "Force a static link"
75         default n
76         help
77           This option gives you the ability to force a static link of UML.
78           Normally, UML is linked as a shared binary.  This is inconvenient for
79           use in a chroot jail.  So, if you intend to run UML inside a chroot,
80           you probably want to say Y here.
81           Additionally, this option enables using higher memory spaces (up to
82           2.75G) for UML.
83
84 source "arch/um/Kconfig.arch"
85 source "mm/Kconfig"
86 source "kernel/time/Kconfig"
87
88 config LD_SCRIPT_STATIC
89         bool
90         default y
91         depends on STATIC_LINK
92
93 config LD_SCRIPT_DYN
94         bool
95         default y
96         depends on !LD_SCRIPT_STATIC
97
98 source "fs/Kconfig.binfmt"
99
100 config HOSTFS
101         tristate "Host filesystem"
102         help
103           While the User-Mode Linux port uses its own root file system for
104           booting and normal file access, this module lets the UML user
105           access files stored on the host.  It does not require any
106           network connection between the Host and UML.  An example use of
107           this might be:
108
109           mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
110
111           where /tmp/fromhost is an empty directory inside UML and
112           /tmp/umlshare is a directory on the host with files the UML user
113           wishes to access.
114
115           For more information, see
116           <http://user-mode-linux.sourceforge.net/hostfs.html>.
117
118           If you'd like to be able to work with files stored on the host,
119           say Y or M here; otherwise say N.
120
121 config HPPFS
122         tristate "HoneyPot ProcFS (EXPERIMENTAL)"
123         depends on EXPERIMENTAL
124         help
125           hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
126           entries to be overridden, removed, or fabricated from the host.
127           Its purpose is to allow a UML to appear to be a physical machine
128           by removing or changing anything in /proc which gives away the
129           identity of a UML.
130
131           See <http://user-mode-linux.sf.net/old/hppfs.html> for more information.
132
133           You only need this if you are setting up a UML honeypot.  Otherwise,
134           it is safe to say 'N' here.
135
136 config MCONSOLE
137         bool "Management console"
138         default y
139         help
140           The user mode linux management console is a low-level interface to
141           the kernel, somewhat like the i386 SysRq interface.  Since there is
142           a full-blown operating system running under every user mode linux
143           instance, there is much greater flexibility possible than with the
144           SysRq mechanism.
145
146           If you answer 'Y' to this option, to use this feature, you need the
147           mconsole client (called uml_mconsole) which is present in CVS in
148           2.4.5-9um and later (path /tools/mconsole), and is also in the
149           distribution RPM package in 2.4.6 and later.
150
151           It is safe to say 'Y' here.
152
153 config MAGIC_SYSRQ
154         bool "Magic SysRq key"
155         depends on MCONSOLE
156         help
157           If you say Y here, you will have some control over the system even
158           if the system crashes for example during kernel debugging (e.g., you
159           will be able to flush the buffer cache to disk, reboot the system
160           immediately or dump some status information). A key for each of the
161           possible requests is provided.
162
163           This is the feature normally accomplished by pressing a key
164           while holding SysRq (Alt+PrintScreen).
165
166           On UML, this is accomplished by sending a "sysrq" command with
167           mconsole, followed by the letter for the requested command.
168
169           The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
170           unless you really know what this hack does.
171
172 config SMP
173         bool "Symmetric multi-processing support (EXPERIMENTAL)"
174         default n
175         depends on BROKEN
176         help
177           This option enables UML SMP support.
178           It is NOT related to having a real SMP box. Not directly, at least.
179
180           UML implements virtual SMP by allowing as many processes to run
181           simultaneously on the host as there are virtual processors configured.
182
183           Obviously, if the host is a uniprocessor, those processes will
184           timeshare, but, inside UML, will appear to be running simultaneously.
185           If the host is a multiprocessor, then UML processes may run
186           simultaneously, depending on the host scheduler.
187
188           This, however, is supported only in TT mode. So, if you use the SKAS
189           patch on your host, switching to TT mode and enabling SMP usually
190           gives you worse performances.
191           Also, since the support for SMP has been under-developed, there could
192           be some bugs being exposed by enabling SMP.
193
194           If you don't know what to do, say N.
195
196 config NR_CPUS
197         int "Maximum number of CPUs (2-32)"
198         range 2 32
199         depends on SMP
200         default "32"
201
202 config NEST_LEVEL
203         int "Nesting level"
204         default "0"
205         help
206           This is set to the number of layers of UMLs that this UML will be run
207           in.  Normally, this is zero, meaning that it will run directly on the
208           host.  Setting it to one will build a UML that can run inside a UML
209           that is running on the host.  Generally, if you intend this UML to run
210           inside another UML, set CONFIG_NEST_LEVEL to one more than the host
211           UML.
212
213 config HIGHMEM
214         bool "Highmem support (EXPERIMENTAL)"
215         depends on !64BIT && EXPERIMENTAL
216         default n
217         help
218           This was used to allow UML to run with big amounts of memory.
219           Currently it is unstable, so if unsure say N.
220
221           To use big amounts of memory, it is recommended enable static
222           linking (i.e. CONFIG_STATIC_LINK) - this should allow the
223           guest to use up to 2.75G of memory.
224
225 config KERNEL_STACK_ORDER
226         int "Kernel stack size order"
227         default 1 if 64BIT
228         range 1 10 if 64BIT
229         default 0 if !64BIT
230         help
231           This option determines the size of UML kernel stacks.  They will
232           be 1 << order pages.  The default is OK unless you're running Valgrind
233           on UML, in which case, set this to 3.
234
235 endmenu
236
237 source "init/Kconfig"
238
239 source "drivers/block/Kconfig"
240
241 source "arch/um/Kconfig.char"
242
243 source "drivers/base/Kconfig"
244
245 source "net/Kconfig"
246
247 source "arch/um/Kconfig.net"
248
249 source "drivers/net/Kconfig"
250
251 source "drivers/connector/Kconfig"
252
253 source "fs/Kconfig"
254
255 source "security/Kconfig"
256
257 source "crypto/Kconfig"
258
259 source "lib/Kconfig"
260
261 source "drivers/scsi/Kconfig"
262
263 source "drivers/md/Kconfig"
264
265 if BROKEN
266         source "drivers/mtd/Kconfig"
267 endif
268
269 #This is just to shut up some Kconfig warnings, so no prompt.
270 config INPUT
271         bool
272         default n
273
274 source "arch/um/Kconfig.debug"