Merge branch 'master'
[linux-2.6] / arch / um / Kconfig
1 # UML uses the generic IRQ sugsystem
2 config GENERIC_HARDIRQS
3         bool
4         default y
5
6 config UML
7         bool
8         default y
9
10 # XXX: does UM have a mmu/swap?
11 config MMU
12         bool
13         default y
14
15 mainmenu "Linux/Usermode Kernel Configuration"
16
17 config ISA
18         bool
19
20 config SBUS
21         bool
22
23 config PCI
24         bool
25
26 config UID16
27         bool
28         default y
29
30 config GENERIC_CALIBRATE_DELAY
31         bool
32         default y
33
34 # Used in kernel/irq/manage.c and include/linux/irq.h
35 config IRQ_RELEASE_METHOD
36         bool
37         default y
38
39 menu "Host processor type and features"
40
41 source "arch/i386/Kconfig.cpu"
42
43 endmenu
44
45 menu "UML-specific options"
46
47 config MODE_TT
48         bool "Tracing thread support"
49         default y
50         help
51         This option controls whether tracing thread support is compiled
52         into UML.  Normally, this should be set to Y.  If you intend to
53         use only skas mode (and the host has the skas patch applied to it),
54         then it is OK to say N here.
55
56 config STATIC_LINK
57         bool "Force a static link"
58         default n
59         depends on !MODE_TT
60         help
61         If CONFIG_MODE_TT is disabled, then this option gives you the ability
62         to force a static link of UML.  Normally, if only skas mode is built
63         in to UML, it will be linked as a shared binary.  This is inconvenient
64         for use in a chroot jail.  So, if you intend to run UML inside a
65         chroot, and you disable CONFIG_MODE_TT, you probably want to say Y
66         here.
67
68 config MODE_SKAS
69         bool "Separate Kernel Address Space support"
70         default y
71         help
72         This option controls whether skas (separate kernel address space)
73         support is compiled in.  If you have applied the skas patch to the
74         host, then you certainly want to say Y here (and consider saying N
75         to CONFIG_MODE_TT).  Otherwise, it is safe to say Y.  Disabling this
76         option will shrink the UML binary slightly.
77
78 source "arch/um/Kconfig.arch"
79 source "mm/Kconfig"
80
81 config LD_SCRIPT_STATIC
82         bool
83         default y
84         depends on MODE_TT || STATIC_LINK
85
86 config LD_SCRIPT_DYN
87         bool
88         default y
89         depends on !LD_SCRIPT_STATIC
90
91 config NET
92         bool "Networking support"
93         help
94         Unless you really know what you are doing, you should say Y here.
95         The reason is that some programs need kernel networking support even
96         when running on a stand-alone machine that isn't connected to any
97         other computer. If you are upgrading from an older kernel, you
98         should consider updating your networking tools too because changes
99         in the kernel and the tools often go hand in hand. The tools are
100         contained in the package net-tools, the location and version number
101         of which are given in <file:Documentation/Changes>.
102
103         For a general introduction to Linux networking, it is highly
104         recommended to read the NET-HOWTO, available from
105         <http://www.tldp.org/docs.html#howto>.
106
107
108 source "fs/Kconfig.binfmt"
109
110 config HOSTFS
111         tristate "Host filesystem"
112         help
113         While the User-Mode Linux port uses its own root file system for
114         booting and normal file access, this module lets the UML user
115         access files stored on the host.  It does not require any
116         network connection between the Host and UML.  An example use of
117         this might be:
118
119         mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
120
121         where /tmp/fromhost is an empty directory inside UML and
122         /tmp/umlshare is a directory on the host with files the UML user
123         wishes to access.
124
125         For more information, see
126         <http://user-mode-linux.sourceforge.net/hostfs.html>.
127
128         If you'd like to be able to work with files stored on the host,
129         say Y or M here; otherwise say N.
130
131 config HPPFS
132         tristate "HoneyPot ProcFS (EXPERIMENTAL)"
133         help
134         hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
135         entries to be overridden, removed, or fabricated from the host.
136         Its purpose is to allow a UML to appear to be a physical machine
137         by removing or changing anything in /proc which gives away the
138         identity of a UML.
139
140         See <http://user-mode-linux.sf.net/hppfs.html> for more information.
141
142         You only need this if you are setting up a UML honeypot.  Otherwise,
143         it is safe to say 'N' here.
144
145         If you are actively using it, please report any problems, since it's
146         getting fixed. In this moment, it is experimental on 2.6 (it works on
147         2.4).
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 HOST_2G_2G
186         bool "2G/2G host address space split"
187         default n
188         help
189         This is needed when the host on which you run has a 2G/2G memory
190         split, instead of the customary 3G/1G.
191
192         Note that to enable such a host
193         configuration, which makes sense only in some cases, you need special
194         host patches.
195
196         So, if you do not know what to do here, say 'N'.
197
198 config SMP
199         bool "Symmetric multi-processing support (EXPERIMENTAL)"
200         default n
201         depends on (MODE_TT && EXPERIMENTAL && !SMP_BROKEN) || (BROKEN && SMP_BROKEN)
202         help
203         This option enables UML SMP support.
204         It is NOT related to having a real SMP box. Not directly, at least.
205
206         UML implements virtual SMP by allowing as many processes to run
207         simultaneously on the host as there are virtual processors configured.
208
209         Obviously, if the host is a uniprocessor, those processes will
210         timeshare, but, inside UML, will appear to be running simultaneously.
211         If the host is a multiprocessor, then UML processes may run
212         simultaneously, depending on the host scheduler.
213
214         This, however, is supported only in TT mode. So, if you use the SKAS
215         patch on your host, switching to TT mode and enabling SMP usually gives
216         you worse performances.
217         Also, since the support for SMP has been under-developed, there could
218         be some bugs being exposed by enabling SMP.
219
220         If you don't know what to do, say N.
221
222 config NR_CPUS
223         int "Maximum number of CPUs (2-32)"
224         range 2 32
225         depends on SMP
226         default "32"
227
228 config NEST_LEVEL
229         int "Nesting level"
230         default "0"
231         help
232         This is set to the number of layers of UMLs that this UML will be run
233         in.  Normally, this is zero, meaning that it will run directly on the
234         host.  Setting it to one will build a UML that can run inside a UML
235         that is running on the host.  Generally, if you intend this UML to run
236         inside another UML, set CONFIG_NEST_LEVEL to one more than the host
237         UML.
238
239         Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to
240         greater than one, then the guest UML should have its CONFIG_NEST_LEVEL
241         set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS.
242         Only change this if you are running nested UMLs.
243
244 config KERNEL_HALF_GIGS
245         int "Kernel address space size (in .5G units)"
246         default "1"
247         help
248         This determines the amount of address space that UML will allocate for
249         its own, measured in half Gigabyte units.  The default is 1.
250         Change this only if you need to boot UML with an unusually large amount
251         of physical memory.
252
253 config HIGHMEM
254         bool "Highmem support"
255         depends on !64BIT
256
257 config KERNEL_STACK_ORDER
258         int "Kernel stack size order"
259         default 2
260         help
261         This option determines the size of UML kernel stacks.  They will
262         be 1 << order pages.  The default is OK unless you're running Valgrind
263         on UML, in which case, set this to 3.
264
265 config UML_REAL_TIME_CLOCK
266         bool "Real-time Clock"
267         default y
268         help
269         This option makes UML time deltas match wall clock deltas.  This should
270         normally be enabled.  The exception would be if you are debugging with
271         UML and spend long times with UML stopped at a breakpoint.  In this
272         case, when UML is restarted, it will call the timer enough times to make
273         up for the time spent at the breakpoint.  This could result in a
274         noticable lag.  If this is a problem, then disable this option.
275
276 endmenu
277
278 source "init/Kconfig"
279
280 source "net/Kconfig"
281
282 source "drivers/base/Kconfig"
283
284 source "arch/um/Kconfig.char"
285
286 source "drivers/block/Kconfig"
287
288 config NETDEVICES
289         bool
290         default NET
291
292 source "arch/um/Kconfig.net"
293
294 source "drivers/net/Kconfig"
295
296 source "fs/Kconfig"
297
298 source "security/Kconfig"
299
300 source "crypto/Kconfig"
301
302 source "lib/Kconfig"
303
304 menu "SCSI support"
305 depends on BROKEN
306
307 config SCSI
308         tristate "SCSI support"
309
310 # This gives us free_dma, which scsi.c wants.
311 config GENERIC_ISA_DMA
312         bool
313         depends on SCSI
314         default y
315
316 source "arch/um/Kconfig.scsi"
317
318 endmenu
319
320 source "drivers/md/Kconfig"
321
322 if BROKEN
323         source "drivers/mtd/Kconfig"
324 endif
325
326 #This is just to shut up some Kconfig warnings, so no prompt.
327 config INPUT
328         bool
329         default n
330
331 source "arch/um/Kconfig.debug"