This commit was manufactured by cvs2svn to create branch
[linux-2.6.git] / arch / um / Kconfig
1 config USERMODE
2         bool
3         default y
4
5 # XXX: does UM have a mmu/swap?
6 config MMU
7         bool
8         default y
9
10 mainmenu "Linux/Usermode Kernel Configuration"
11
12 config ISA
13         bool
14
15 config SBUS
16         bool
17
18 config PCI
19         bool
20
21 config UID16
22         bool
23         default y
24
25 config RWSEM_GENERIC_SPINLOCK
26         bool
27         default y
28
29 menu "UML-specific options"
30
31 config MODE_TT
32         bool "Tracing thread support"
33         default y
34         help
35         This option controls whether tracing thread support is compiled
36         into UML.  Normally, this should be set to Y.  If you intend to
37         use only skas mode (and the host has the skas patch applied to it), 
38         then it is OK to say N here.
39
40 config STATIC_LINK
41         bool "Force a static link"
42         default n
43         depends on !MODE_TT
44         help
45         If CONFIG_MODE_TT is disabled, then this option gives you the ability
46         to force a static link of UML.  Normally, if only skas mode is built
47         in to UML, it will be linked as a shared binary.  This is inconvenient
48         for use in a chroot jail.  So, if you intend to run UML inside a 
49         chroot, and you disable CONFIG_MODE_TT, you probably want to say Y
50         here.
51
52 config MODE_SKAS
53         bool "Separate Kernel Address Space support"
54         default y
55         help
56         This option controls whether skas (separate kernel address space)
57         support is compiled in.  If you have applied the skas patch to the
58         host, then you certainly want to say Y here (and consider saying N
59         to CONFIG_MODE_TT).  Otherwise, it is safe to say Y.  Disabling this
60         option will shrink the UML binary slightly.
61
62 config NET
63         bool "Networking support"
64         help
65         Unless you really know what you are doing, you should say Y here.
66         The reason is that some programs need kernel networking support even
67         when running on a stand-alone machine that isn't connected to any
68         other computer. If you are upgrading from an older kernel, you
69         should consider updating your networking tools too because changes
70         in the kernel and the tools often go hand in hand. The tools are
71         contained in the package net-tools, the location and version number
72         of which are given in Documentation/Changes.
73
74         For a general introduction to Linux networking, it is highly
75         recommended to read the NET-HOWTO, available from
76         <http://www.tldp.org/docs.html#howto>.
77
78
79 source "fs/Kconfig.binfmt"
80
81 config EXTERNFS
82         tristate "Support for host-based filesystems"
83
84 config HOSTFS
85         tristate "Host filesystem"
86         help
87         While the User-Mode Linux port uses its own root file system for
88         booting and normal file access, this module lets the UML user
89         access files stored on the host.  It does not require any
90         network connection between the Host and UML.  An example use of
91         this might be:
92
93         mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
94
95         where /tmp/fromhost is an empty directory inside UML and
96         /tmp/umlshare is a directory on the host with files the UML user
97         wishes to access.
98
99         For more information, see
100         <http://user-mode-linux.sourceforge.net/hostfs.html>.
101
102         If you'd like to be able to work with files stored on the host, 
103         say Y or M here; otherwise say N.
104
105 config HUMFS
106         tristate 'Usable host filesystem'
107         depends on EXTERNFS
108
109 config HPPFS
110         tristate "HoneyPot ProcFS"
111         help
112         hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc 
113         entries to be overridden, removed, or fabricated from the host.
114         Its purpose is to allow a UML to appear to be a physical machine
115         by removing or changing anything in /proc which gives away the
116         identity of a UML.
117
118         See http://user-mode-linux.sf.net/hppfs.html for more information.
119
120         You only need this if you are setting up a UML honeypot.  Otherwise,
121         it is safe to say 'N' here.
122
123 config MCONSOLE
124         bool "Management console"
125         help
126         The user mode linux management console is a low-level interface to
127         the kernel, somewhat like the i386 SysRq interface.  Since there is
128         a full-blown operating system running under every user mode linux
129         instance, there is much greater flexibility possible than with the
130         SysRq mechanism.
131
132         If you answer 'Y' to this option, to use this feature, you need the
133         mconsole client (called uml_mconsole) which is present in CVS in
134         2.4.5-9um and later (path /tools/mconsole), and is also in the
135         distribution RPM package in 2.4.6 and later.
136
137         It is safe to say 'Y' here.
138
139 config MAGIC_SYSRQ
140         bool "Magic SysRq key"
141         depends on MCONSOLE
142         help
143         If you say Y here, you will have some control over the system even
144         if the system crashes for example during kernel debugging (e.g., you
145         will be able to flush the buffer cache to disk, reboot the system
146         immediately or dump some status information). This is accomplished
147         by pressing various keys while holding SysRq (Alt+PrintScreen). It
148         also works on a serial console (on PC hardware at least), if you
149         send a BREAK and then within 5 seconds a command keypress. The
150         keys are documented in Documentation/sysrq.txt. Don't say Y
151         unless you really know what this hack does.
152
153 config HOST_2G_2G
154         bool "2G/2G host address space split"
155
156 config UML_SMP
157         bool "Symmetric multi-processing support"
158         help
159         This option enables UML SMP support.  UML implements virtual SMP by
160         allowing as many processes to run simultaneously on the host as
161         there are virtual processors configured.  Obviously, if the host is
162         a uniprocessor, those processes will timeshare, but, inside UML,
163         will appear to be running simultaneously.  If the host is a
164         multiprocessor, then UML processes may run simultaneously, depending
165         on the host scheduler.
166         CONFIG_SMP will be set to whatever this option is set to.
167         It is safe to leave this unchanged.
168
169 config SMP
170         bool
171         default UML_SMP
172
173 config NR_CPUS
174         int "Maximum number of CPUs (2-32)"
175         range 2 32
176         depends on SMP
177         default "32"
178
179 config NEST_LEVEL
180         int "Nesting level"
181         default "0"
182         help
183         This is set to the number of layers of UMLs that this UML will be run
184         in.  Normally, this is zero, meaning that it will run directly on the
185         host.  Setting it to one will build a UML that can run inside a UML
186         that is running on the host.  Generally, if you intend this UML to run
187         inside another UML, set CONFIG_NEST_LEVEL to one more than the host 
188         UML.
189
190         Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to 
191         greater than one, then the guest UML should have its CONFIG_NEST_LEVEL 
192         set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS.
193         Only change this if you are running nested UMLs.
194
195 config KERNEL_HALF_GIGS
196         int "Kernel address space size (in .5G units)"
197         default "1"
198         help
199         This determines the amount of address space that UML will allocate for
200         its own, measured in half Gigabyte units.  The default is 1.
201         Change this only if you need to boot UML with an unusually large amount
202         of physical memory.
203
204 config HIGHMEM
205         bool "Highmem support"
206
207 config PROC_MM
208         bool "/proc/mm support"
209
210 config KERNEL_STACK_ORDER
211         int "Kernel stack size order"
212         default 2
213         help
214         This option determines the size of UML kernel stacks.  They will
215         be 1 << order pages.  The default is OK unless you're running Valgrind
216         on UML, in which case, set this to 3.
217
218 config UML_REAL_TIME_CLOCK
219         bool "Real-time Clock"
220         default y
221         help
222         This option makes UML time deltas match wall clock deltas.  This should
223         normally be enabled.  The exception would be if you are debugging with
224         UML and spend long times with UML stopped at a breakpoint.  In this
225         case, when UML is restarted, it will call the timer enough times to make
226         up for the time spent at the breakpoint.  This could result in a 
227         noticable lag.  If this is a problem, then disable this option.
228
229 endmenu
230
231 source "init/Kconfig"
232
233 source "drivers/base/Kconfig"
234
235 source "arch/um/Kconfig_char"
236
237 source "arch/um/Kconfig_block"
238
239 config NETDEVICES
240         bool
241         default NET
242
243 source "arch/um/Kconfig_net"
244
245 source "net/Kconfig"
246
247 source "fs/Kconfig"
248
249 source "kernel/vserver/Kconfig"
250
251 source "security/Kconfig"
252
253 source "crypto/Kconfig"
254
255 source "lib/Kconfig"
256
257 menu "SCSI support"
258
259 config SCSI
260         tristate "SCSI support"
261
262 # This gives us free_dma, which scsi.c wants.
263 config GENERIC_ISA_DMA
264         bool
265         depends on SCSI
266         default y
267
268 source "arch/um/Kconfig_scsi"
269
270 endmenu
271
272 source "drivers/md/Kconfig"
273
274 source "drivers/mtd/Kconfig"
275
276
277 menu "Kernel hacking"
278
279 config DEBUG_SLAB
280         bool "Debug memory allocations"
281
282 config DEBUG_SPINLOCK
283         bool "Debug spinlocks usage"
284
285 config DEBUG_INFO
286         bool "Enable kernel debugging symbols"
287         help
288         When this is enabled, the User-Mode Linux binary will include
289         debugging symbols.  This enlarges the binary by a few megabytes,
290         but aids in tracking down kernel problems in UML.  It is required
291         if you intend to do any kernel development.
292
293         If you're truly short on disk space or don't expect to report any
294         bugs back to the UML developers, say N, otherwise say Y.
295
296 config FRAME_POINTER
297         bool
298         default y if DEBUG_INFO
299
300 config PT_PROXY
301         bool "Enable ptrace proxy"
302         depends on XTERM_CHAN && DEBUG_INFO
303         help
304         This option enables a debugging interface which allows gdb to debug
305         the kernel without needing to actually attach to kernel threads.
306         If you want to do kernel debugging, say Y here; otherwise say N.
307
308 config GPROF
309         bool "Enable gprof support"
310         depends on DEBUG_INFO
311         help
312         This allows profiling of a User-Mode Linux kernel with the gprof
313         utility.
314
315         See <http://user-mode-linux.sourceforge.net/gprof.html> for more
316         details.
317
318         If you're involved in UML kernel development and want to use gprof,
319         say Y.  If you're unsure, say N.
320
321 config GCOV
322         bool "Enable gcov support"
323         depends on DEBUG_INFO
324         help
325         This option allows developers to retrieve coverage data from a UML
326         session.
327
328         See <http://user-mode-linux.sourceforge.net/gprof.html> for more
329         details.
330
331         If you're involved in UML kernel development and want to use gcov,
332         say Y.  If you're unsure, say N.
333
334 endmenu
335