blob: 76e85bbaea55394790be7e9971b77859af0a1c88 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001# UML uses the generic IRQ sugsystem
2config GENERIC_HARDIRQS
3 bool
4 default y
5
6config UML
7 bool
8 default y
9
Linus Torvalds1da177e2005-04-16 15:20:36 -070010config MMU
11 bool
12 default y
13
14mainmenu "Linux/Usermode Kernel Configuration"
15
16config ISA
17 bool
18
19config SBUS
20 bool
21
22config PCI
23 bool
24
Al Viro694a4642006-03-31 02:30:14 -080025config PCMCIA
26 bool
27
Linus Torvalds1da177e2005-04-16 15:20:36 -070028config GENERIC_CALIBRATE_DELAY
29 bool
30 default y
31
Paolo 'Blaisorblade' Giarrussob77d6ad2005-06-21 17:16:24 -070032# Used in kernel/irq/manage.c and include/linux/irq.h
33config IRQ_RELEASE_METHOD
34 bool
35 default y
36
Linus Torvalds1da177e2005-04-16 15:20:36 -070037menu "UML-specific options"
38
39config MODE_TT
40 bool "Tracing thread support"
Jeff Dike114d1ff2006-01-11 12:17:26 -080041 default n
Linus Torvalds1da177e2005-04-16 15:20:36 -070042 help
43 This option controls whether tracing thread support is compiled
Jeff Dike114d1ff2006-01-11 12:17:26 -080044 into UML. This option is largely obsolete, given that skas0 provides
45 skas security and performance without needing to patch the host.
46 It is safe to say 'N' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
48config STATIC_LINK
49 bool "Force a static link"
50 default n
51 depends on !MODE_TT
52 help
53 If CONFIG_MODE_TT is disabled, then this option gives you the ability
54 to force a static link of UML. Normally, if only skas mode is built
55 in to UML, it will be linked as a shared binary. This is inconvenient
56 for use in a chroot jail. So, if you intend to run UML inside a
57 chroot, and you disable CONFIG_MODE_TT, you probably want to say Y
58 here.
59
Jeff Dike77cc0db2005-11-07 00:58:57 -080060config KERNEL_HALF_GIGS
61 int "Kernel address space size (in .5G units)"
62 default "1"
63 depends on MODE_TT
64 help
65 This determines the amount of address space that UML will allocate for
66 its own, measured in half Gigabyte units. The default is 1.
67 Change this only if you need to boot UML with an unusually large amount
68 of physical memory.
69
Linus Torvalds1da177e2005-04-16 15:20:36 -070070config MODE_SKAS
Adrian Bunkeafbaa92006-01-08 01:01:34 -080071 bool "Separate Kernel Address Space support" if MODE_TT
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 default y
73 help
74 This option controls whether skas (separate kernel address space)
75 support is compiled in. If you have applied the skas patch to the
76 host, then you certainly want to say Y here (and consider saying N
77 to CONFIG_MODE_TT). Otherwise, it is safe to say Y. Disabling this
78 option will shrink the UML binary slightly.
79
Jeff Dike08b178e2005-09-03 15:57:12 -070080source "arch/um/Kconfig.arch"
Dave Hansen3f22ab22005-06-23 00:07:43 -070081source "mm/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -070082
83config LD_SCRIPT_STATIC
84 bool
85 default y
86 depends on MODE_TT || STATIC_LINK
87
88config LD_SCRIPT_DYN
89 bool
90 default y
91 depends on !LD_SCRIPT_STATIC
92
93config NET
94 bool "Networking support"
95 help
96 Unless you really know what you are doing, you should say Y here.
97 The reason is that some programs need kernel networking support even
98 when running on a stand-alone machine that isn't connected to any
99 other computer. If you are upgrading from an older kernel, you
100 should consider updating your networking tools too because changes
101 in the kernel and the tools often go hand in hand. The tools are
102 contained in the package net-tools, the location and version number
103 of which are given in <file:Documentation/Changes>.
104
105 For a general introduction to Linux networking, it is highly
106 recommended to read the NET-HOWTO, available from
107 <http://www.tldp.org/docs.html#howto>.
108
109
110source "fs/Kconfig.binfmt"
111
112config HOSTFS
113 tristate "Host filesystem"
114 help
115 While the User-Mode Linux port uses its own root file system for
116 booting and normal file access, this module lets the UML user
117 access files stored on the host. It does not require any
118 network connection between the Host and UML. An example use of
119 this might be:
120
121 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
122
123 where /tmp/fromhost is an empty directory inside UML and
124 /tmp/umlshare is a directory on the host with files the UML user
125 wishes to access.
126
127 For more information, see
128 <http://user-mode-linux.sourceforge.net/hostfs.html>.
129
130 If you'd like to be able to work with files stored on the host,
131 say Y or M here; otherwise say N.
132
133config HPPFS
134 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800135 depends on EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136 help
137 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
138 entries to be overridden, removed, or fabricated from the host.
139 Its purpose is to allow a UML to appear to be a physical machine
140 by removing or changing anything in /proc which gives away the
141 identity of a UML.
142
143 See <http://user-mode-linux.sf.net/hppfs.html> for more information.
144
145 You only need this if you are setting up a UML honeypot. Otherwise,
146 it is safe to say 'N' here.
147
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148config MCONSOLE
149 bool "Management console"
150 default y
151 help
152 The user mode linux management console is a low-level interface to
153 the kernel, somewhat like the i386 SysRq interface. Since there is
154 a full-blown operating system running under every user mode linux
155 instance, there is much greater flexibility possible than with the
156 SysRq mechanism.
157
158 If you answer 'Y' to this option, to use this feature, you need the
159 mconsole client (called uml_mconsole) which is present in CVS in
160 2.4.5-9um and later (path /tools/mconsole), and is also in the
161 distribution RPM package in 2.4.6 and later.
162
163 It is safe to say 'Y' here.
164
165config MAGIC_SYSRQ
166 bool "Magic SysRq key"
167 depends on MCONSOLE
168 ---help---
169 If you say Y here, you will have some control over the system even
170 if the system crashes for example during kernel debugging (e.g., you
171 will be able to flush the buffer cache to disk, reboot the system
172 immediately or dump some status information). A key for each of the
173 possible requests is provided.
174
175 This is the feature normally accomplished by pressing a key
176 while holding SysRq (Alt+PrintScreen).
177
178 On UML, this is accomplished by sending a "sysrq" command with
179 mconsole, followed by the letter for the requested command.
180
181 The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
182 unless you really know what this hack does.
183
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184config SMP
185 bool "Symmetric multi-processing support (EXPERIMENTAL)"
186 default n
Paolo 'Blaisorblade' Giarrusso3b8d1082005-11-13 16:07:04 -0800187 #SMP_BROKEN is for x86_64.
188 depends on MODE_TT && EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189 help
190 This option enables UML SMP support.
191 It is NOT related to having a real SMP box. Not directly, at least.
192
193 UML implements virtual SMP by allowing as many processes to run
194 simultaneously on the host as there are virtual processors configured.
195
196 Obviously, if the host is a uniprocessor, those processes will
197 timeshare, but, inside UML, will appear to be running simultaneously.
198 If the host is a multiprocessor, then UML processes may run
199 simultaneously, depending on the host scheduler.
200
201 This, however, is supported only in TT mode. So, if you use the SKAS
202 patch on your host, switching to TT mode and enabling SMP usually gives
203 you worse performances.
204 Also, since the support for SMP has been under-developed, there could
205 be some bugs being exposed by enabling SMP.
206
207 If you don't know what to do, say N.
208
209config NR_CPUS
210 int "Maximum number of CPUs (2-32)"
211 range 2 32
212 depends on SMP
213 default "32"
214
215config NEST_LEVEL
216 int "Nesting level"
217 default "0"
218 help
219 This is set to the number of layers of UMLs that this UML will be run
220 in. Normally, this is zero, meaning that it will run directly on the
221 host. Setting it to one will build a UML that can run inside a UML
222 that is running on the host. Generally, if you intend this UML to run
223 inside another UML, set CONFIG_NEST_LEVEL to one more than the host
224 UML.
225
226 Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to
227 greater than one, then the guest UML should have its CONFIG_NEST_LEVEL
228 set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS.
229 Only change this if you are running nested UMLs.
230
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231config HIGHMEM
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800232 bool "Highmem support (EXPERIMENTAL)"
233 depends on !64BIT && EXPERIMENTAL
234 default n
235 help
236 This was used to allow UML to run with big amounts of memory.
237 Currently it is unstable, so if unsure say N.
238
239 To use big amounts of memory, it is recommended to disable TT mode (i.e.
240 CONFIG_MODE_TT) and enable static linking (i.e. CONFIG_STATIC_LINK) -
241 this should allow the guest to use up to 2.75G of memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242
243config KERNEL_STACK_ORDER
244 int "Kernel stack size order"
245 default 2
246 help
247 This option determines the size of UML kernel stacks. They will
248 be 1 << order pages. The default is OK unless you're running Valgrind
249 on UML, in which case, set this to 3.
250
251config UML_REAL_TIME_CLOCK
252 bool "Real-time Clock"
253 default y
254 help
255 This option makes UML time deltas match wall clock deltas. This should
256 normally be enabled. The exception would be if you are debugging with
257 UML and spend long times with UML stopped at a breakpoint. In this
258 case, when UML is restarted, it will call the timer enough times to make
259 up for the time spent at the breakpoint. This could result in a
260 noticable lag. If this is a problem, then disable this option.
261
262endmenu
263
264source "init/Kconfig"
265
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800266source "drivers/block/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700267
Jeff Dike08b178e2005-09-03 15:57:12 -0700268source "arch/um/Kconfig.char"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700269
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800270source "drivers/base/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700271
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800272source "net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700273
Jeff Dike08b178e2005-09-03 15:57:12 -0700274source "arch/um/Kconfig.net"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700275
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700276source "drivers/net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700277
Paolo 'Blaisorblade' Giarrusso76c842d2005-12-18 17:50:37 +0100278source "drivers/connector/Kconfig"
279
Linus Torvalds1da177e2005-04-16 15:20:36 -0700280source "fs/Kconfig"
281
282source "security/Kconfig"
283
284source "crypto/Kconfig"
285
286source "lib/Kconfig"
287
288menu "SCSI support"
289depends on BROKEN
290
291config SCSI
292 tristate "SCSI support"
293
294# This gives us free_dma, which scsi.c wants.
295config GENERIC_ISA_DMA
296 bool
297 depends on SCSI
298 default y
299
Jeff Dike08b178e2005-09-03 15:57:12 -0700300source "arch/um/Kconfig.scsi"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700301
302endmenu
303
304source "drivers/md/Kconfig"
305
306if BROKEN
307 source "drivers/mtd/Kconfig"
308endif
309
310#This is just to shut up some Kconfig warnings, so no prompt.
311config INPUT
312 bool
313 default n
314
315source "arch/um/Kconfig.debug"