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