53597bbcd7b0e5b879e1454cee215fa70a6562ac
[linux-2.6.git] / 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 sugsystem
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 # Used in kernel/irq/manage.c and include/linux/irq.h
63 config IRQ_RELEASE_METHOD
64         bool
65         default y
66
67 menu "UML-specific options"
68
69 config STATIC_LINK
70         bool "Force a static link"
71         default n
72         help
73           This option gives you the ability to force a static link of UML.
74           Normally, UML is linked as a shared binary.  This is inconvenient for
75           use in a chroot jail.  So, if you intend to run UML inside a chroot,
76           you probably want to say Y here.
77           Additionally, this option enables using higher memory spaces (up to
78           2.75G) for UML.
79
80 source "arch/um/Kconfig.arch"
81 source "mm/Kconfig"
82 source "kernel/time/Kconfig"
83
84 config LD_SCRIPT_STATIC
85         bool
86         default y
87         depends on STATIC_LINK
88
89 config LD_SCRIPT_DYN
90         bool
91         default y
92         depends on !LD_SCRIPT_STATIC
93
94 config NET
95         bool "Networking support"
96         help
97           Unless you really know what you are doing, you should say Y here.
98           The reason is that some programs need kernel networking support even
99           when running on a stand-alone machine that isn't connected to any
100           other computer. If you are upgrading from an older kernel, you
101           should consider updating your networking tools too because changes
102           in the kernel and the tools often go hand in hand. The tools are
103           contained in the package net-tools, the location and version number
104           of which are given in <file:Documentation/Changes>.
105
106           For a general introduction to Linux networking, it is highly
107           recommended to read the NET-HOWTO, available from
108           <http://www.tldp.org/docs.html#howto>.
109
110
111 source "fs/Kconfig.binfmt"
112
113 config HOSTFS
114         tristate "Host filesystem"
115         help
116           While the User-Mode Linux port uses its own root file system for
117           booting and normal file access, this module lets the UML user
118           access files stored on the host.  It does not require any
119           network connection between the Host and UML.  An example use of
120           this might be:
121
122           mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
123
124           where /tmp/fromhost is an empty directory inside UML and
125           /tmp/umlshare is a directory on the host with files the UML user
126           wishes to access.
127
128           For more information, see
129           <http://user-mode-linux.sourceforge.net/hostfs.html>.
130
131           If you'd like to be able to work with files stored on the host,
132           say Y or M here; otherwise say N.
133
134 config HPPFS
135         tristate "HoneyPot ProcFS (EXPERIMENTAL)"
136         depends on EXPERIMENTAL
137         help
138           hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
139           entries to be overridden, removed, or fabricated from the host.
140           Its purpose is to allow a UML to appear to be a physical machine
141           by removing or changing anything in /proc which gives away the
142           identity of a UML.
143
144           See <http://user-mode-linux.sf.net/hppfs.html> for more information.
145
146           You only need this if you are setting up a UML honeypot.  Otherwise,
147           it is safe to say 'N' here.
148
149 config MCONSOLE
150         bool "Management console"
151         default y
152         help
153           The user mode linux management console is a low-level interface to
154           the kernel, somewhat like the i386 SysRq interface.  Since there is
155           a full-blown operating system running under every user mode linux
156           instance, there is much greater flexibility possible than with the
157           SysRq mechanism.
158
159           If you answer 'Y' to this option, to use this feature, you need the
160           mconsole client (called uml_mconsole) which is present in CVS in
161           2.4.5-9um and later (path /tools/mconsole), and is also in the
162           distribution RPM package in 2.4.6 and later.
163
164           It is safe to say 'Y' here.
165
166 config MAGIC_SYSRQ
167         bool "Magic SysRq key"
168         depends on MCONSOLE
169         help
170           If you say Y here, you will have some control over the system even
171           if the system crashes for example during kernel debugging (e.g., you
172           will be able to flush the buffer cache to disk, reboot the system
173           immediately or dump some status information). A key for each of the
174           possible requests is provided.
175
176           This is the feature normally accomplished by pressing a key
177           while holding SysRq (Alt+PrintScreen).
178
179           On UML, this is accomplished by sending a "sysrq" command with
180           mconsole, followed by the letter for the requested command.
181
182           The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
183           unless you really know what this hack does.
184
185 config SMP
186         bool "Symmetric multi-processing support (EXPERIMENTAL)"
187         default n
188         #SMP_BROKEN is for x86_64.
189         depends on EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
190         help
191           This option enables UML SMP support.
192           It is NOT related to having a real SMP box. Not directly, at least.
193
194           UML implements virtual SMP by allowing as many processes to run
195           simultaneously on the host as there are virtual processors configured.
196
197           Obviously, if the host is a uniprocessor, those processes will
198           timeshare, but, inside UML, will appear to be running simultaneously.
199           If the host is a multiprocessor, then UML processes may run
200           simultaneously, depending on the host scheduler.
201
202           This, however, is supported only in TT mode. So, if you use the SKAS
203           patch on your host, switching to TT mode and enabling SMP usually
204           gives you worse performances.
205           Also, since the support for SMP has been under-developed, there could
206           be some bugs being exposed by enabling SMP.
207
208           If you don't know what to do, say N.
209
210 config NR_CPUS
211         int "Maximum number of CPUs (2-32)"
212         range 2 32
213         depends on SMP
214         default "32"
215
216 config NEST_LEVEL
217         int "Nesting level"
218         default "0"
219         help
220           This is set to the number of layers of UMLs that this UML will be run
221           in.  Normally, this is zero, meaning that it will run directly on the
222           host.  Setting it to one will build a UML that can run inside a UML
223           that is running on the host.  Generally, if you intend this UML to run
224           inside another UML, set CONFIG_NEST_LEVEL to one more than the host
225           UML.
226
227 config HIGHMEM
228         bool "Highmem support (EXPERIMENTAL)"
229         depends on !64BIT && EXPERIMENTAL
230         default n
231         help
232           This was used to allow UML to run with big amounts of memory.
233           Currently it is unstable, so if unsure say N.
234
235           To use big amounts of memory, it is recommended enable static
236           linking (i.e. CONFIG_STATIC_LINK) - this should allow the
237           guest to use up to 2.75G of memory.
238
239 config KERNEL_STACK_ORDER
240         int "Kernel stack size order"
241         default 1 if 64BIT
242         range 1 10 if 64BIT
243         default 0 if !64BIT
244         help
245           This option determines the size of UML kernel stacks.  They will
246           be 1 << order pages.  The default is OK unless you're running Valgrind
247           on UML, in which case, set this to 3.
248
249 config UML_REAL_TIME_CLOCK
250         bool "Real-time Clock"
251         default y
252         help
253           This option makes UML time deltas match wall clock deltas.  This
254           should normally be enabled.  The exception would be if you are
255           debugging with UML and spend long times with UML stopped at a
256           breakpoint.  In this case, when UML is restarted, it will call the
257           timer enough times to make up for the time spent at the breakpoint.
258           This could result in a noticeable lag.  If this is a problem, then
259           disable this option.
260
261 endmenu
262
263 source "init/Kconfig"
264
265 source "drivers/block/Kconfig"
266
267 source "arch/um/Kconfig.char"
268
269 source "drivers/base/Kconfig"
270
271 source "net/Kconfig"
272
273 source "arch/um/Kconfig.net"
274
275 source "drivers/net/Kconfig"
276
277 source "drivers/connector/Kconfig"
278
279 source "fs/Kconfig"
280
281 source "security/Kconfig"
282
283 source "crypto/Kconfig"
284
285 source "lib/Kconfig"
286
287 source "drivers/scsi/Kconfig"
288
289 source "drivers/md/Kconfig"
290
291 if BROKEN
292         source "drivers/mtd/Kconfig"
293 endif
294
295 #This is just to shut up some Kconfig warnings, so no prompt.
296 config INPUT
297         bool
298         default n
299
300 source "arch/um/Kconfig.debug"