blob: 50fb89e3d95dbb7a299ef3fa4eb5ed4f06b1c906 [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
Paolo 'Blaisorblade' Giarrusso711553e2006-10-11 01:21:37 -070028# Yet to do!
29config TRACE_IRQFLAGS_SUPPORT
30 bool
31 default n
32
33config LOCKDEP_SUPPORT
34 bool
35 default y
36
37config STACKTRACE_SUPPORT
38 bool
39 default y
40
Linus Torvalds1da177e2005-04-16 15:20:36 -070041config GENERIC_CALIBRATE_DELAY
42 bool
43 default y
44
Paolo 'Blaisorblade' Giarrussob77d6ad2005-06-21 17:16:24 -070045# Used in kernel/irq/manage.c and include/linux/irq.h
46config IRQ_RELEASE_METHOD
47 bool
48 default y
49
Linus Torvalds1da177e2005-04-16 15:20:36 -070050menu "UML-specific options"
51
52config MODE_TT
Paolo 'Blaisorblade' Giarrussoca316fc2006-10-11 01:21:41 -070053 bool "Tracing thread support (DEPRECATED)"
Jeff Dike114d1ff2006-01-11 12:17:26 -080054 default n
Jeff Dike1a3e9ad2006-10-19 23:28:18 -070055 depends on BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -070056 help
57 This option controls whether tracing thread support is compiled
Paolo 'Blaisorblade' Giarrussoca316fc2006-10-11 01:21:41 -070058 into UML. This option is largely obsolete, given that skas0 provides
Jeff Dike114d1ff2006-01-11 12:17:26 -080059 skas security and performance without needing to patch the host.
Paolo 'Blaisorblade' Giarrussoca316fc2006-10-11 01:21:41 -070060 It is safe to say 'N' here; saying 'Y' may cause additional problems
61 with the resulting binary even if you run UML in SKAS mode, and running
62 in TT mode is strongly *NOT RECOMMENDED*.
Linus Torvalds1da177e2005-04-16 15:20:36 -070063
64config STATIC_LINK
65 bool "Force a static link"
66 default n
67 depends on !MODE_TT
68 help
69 If CONFIG_MODE_TT is disabled, then this option gives you the ability
70 to force a static link of UML. Normally, if only skas mode is built
71 in to UML, it will be linked as a shared binary. This is inconvenient
72 for use in a chroot jail. So, if you intend to run UML inside a
73 chroot, and you disable CONFIG_MODE_TT, you probably want to say Y
74 here.
Paolo 'Blaisorblade' Giarrussoca316fc2006-10-11 01:21:41 -070075 Additionally, this option enables using higher memory spaces (up to
76 2.75G) for UML - disabling CONFIG_MODE_TT and enabling this option leads
77 to best results for this.
Linus Torvalds1da177e2005-04-16 15:20:36 -070078
Jeff Dike77cc0db2005-11-07 00:58:57 -080079config KERNEL_HALF_GIGS
80 int "Kernel address space size (in .5G units)"
81 default "1"
82 depends on MODE_TT
83 help
84 This determines the amount of address space that UML will allocate for
85 its own, measured in half Gigabyte units. The default is 1.
86 Change this only if you need to boot UML with an unusually large amount
87 of physical memory.
88
Linus Torvalds1da177e2005-04-16 15:20:36 -070089config MODE_SKAS
Adrian Bunkeafbaa92006-01-08 01:01:34 -080090 bool "Separate Kernel Address Space support" if MODE_TT
Linus Torvalds1da177e2005-04-16 15:20:36 -070091 default y
92 help
93 This option controls whether skas (separate kernel address space)
Paolo 'Blaisorblade' Giarrussoca316fc2006-10-11 01:21:41 -070094 support is compiled in.
95 Unless you have specific needs to use TT mode (which applies almost only
96 to developers), you should say Y here.
97 SKAS mode will make use of the SKAS3 patch if it is applied on the host
98 (and your UML will run in SKAS3 mode), but if no SKAS patch is applied
99 on the host it will run in SKAS0 mode, which is anyway faster than TT
100 mode.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101
Jeff Dike08b178e2005-09-03 15:57:12 -0700102source "arch/um/Kconfig.arch"
Dave Hansen3f22ab22005-06-23 00:07:43 -0700103source "mm/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104
105config LD_SCRIPT_STATIC
106 bool
107 default y
108 depends on MODE_TT || STATIC_LINK
109
110config LD_SCRIPT_DYN
111 bool
112 default y
113 depends on !LD_SCRIPT_STATIC
114
115config NET
116 bool "Networking support"
117 help
118 Unless you really know what you are doing, you should say Y here.
119 The reason is that some programs need kernel networking support even
120 when running on a stand-alone machine that isn't connected to any
121 other computer. If you are upgrading from an older kernel, you
122 should consider updating your networking tools too because changes
123 in the kernel and the tools often go hand in hand. The tools are
124 contained in the package net-tools, the location and version number
125 of which are given in <file:Documentation/Changes>.
126
127 For a general introduction to Linux networking, it is highly
128 recommended to read the NET-HOWTO, available from
129 <http://www.tldp.org/docs.html#howto>.
130
131
132source "fs/Kconfig.binfmt"
133
134config HOSTFS
135 tristate "Host filesystem"
136 help
137 While the User-Mode Linux port uses its own root file system for
138 booting and normal file access, this module lets the UML user
139 access files stored on the host. It does not require any
140 network connection between the Host and UML. An example use of
141 this might be:
142
143 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
144
145 where /tmp/fromhost is an empty directory inside UML and
146 /tmp/umlshare is a directory on the host with files the UML user
147 wishes to access.
148
149 For more information, see
150 <http://user-mode-linux.sourceforge.net/hostfs.html>.
151
152 If you'd like to be able to work with files stored on the host,
153 say Y or M here; otherwise say N.
154
155config HPPFS
156 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800157 depends on EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158 help
159 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
160 entries to be overridden, removed, or fabricated from the host.
161 Its purpose is to allow a UML to appear to be a physical machine
162 by removing or changing anything in /proc which gives away the
163 identity of a UML.
164
165 See <http://user-mode-linux.sf.net/hppfs.html> for more information.
166
167 You only need this if you are setting up a UML honeypot. Otherwise,
168 it is safe to say 'N' here.
169
Linus Torvalds1da177e2005-04-16 15:20:36 -0700170config MCONSOLE
171 bool "Management console"
172 default y
173 help
174 The user mode linux management console is a low-level interface to
175 the kernel, somewhat like the i386 SysRq interface. Since there is
176 a full-blown operating system running under every user mode linux
177 instance, there is much greater flexibility possible than with the
178 SysRq mechanism.
179
180 If you answer 'Y' to this option, to use this feature, you need the
181 mconsole client (called uml_mconsole) which is present in CVS in
182 2.4.5-9um and later (path /tools/mconsole), and is also in the
183 distribution RPM package in 2.4.6 and later.
184
185 It is safe to say 'Y' here.
186
187config MAGIC_SYSRQ
188 bool "Magic SysRq key"
189 depends on MCONSOLE
190 ---help---
191 If you say Y here, you will have some control over the system even
192 if the system crashes for example during kernel debugging (e.g., you
193 will be able to flush the buffer cache to disk, reboot the system
194 immediately or dump some status information). A key for each of the
195 possible requests is provided.
196
197 This is the feature normally accomplished by pressing a key
198 while holding SysRq (Alt+PrintScreen).
199
200 On UML, this is accomplished by sending a "sysrq" command with
201 mconsole, followed by the letter for the requested command.
202
203 The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
204 unless you really know what this hack does.
205
Linus Torvalds1da177e2005-04-16 15:20:36 -0700206config SMP
207 bool "Symmetric multi-processing support (EXPERIMENTAL)"
208 default n
Paolo 'Blaisorblade' Giarrusso3b8d1082005-11-13 16:07:04 -0800209 #SMP_BROKEN is for x86_64.
210 depends on MODE_TT && EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211 help
212 This option enables UML SMP support.
213 It is NOT related to having a real SMP box. Not directly, at least.
214
215 UML implements virtual SMP by allowing as many processes to run
216 simultaneously on the host as there are virtual processors configured.
217
218 Obviously, if the host is a uniprocessor, those processes will
219 timeshare, but, inside UML, will appear to be running simultaneously.
220 If the host is a multiprocessor, then UML processes may run
221 simultaneously, depending on the host scheduler.
222
223 This, however, is supported only in TT mode. So, if you use the SKAS
224 patch on your host, switching to TT mode and enabling SMP usually gives
225 you worse performances.
226 Also, since the support for SMP has been under-developed, there could
227 be some bugs being exposed by enabling SMP.
228
229 If you don't know what to do, say N.
230
231config NR_CPUS
232 int "Maximum number of CPUs (2-32)"
233 range 2 32
234 depends on SMP
235 default "32"
236
237config NEST_LEVEL
238 int "Nesting level"
239 default "0"
240 help
241 This is set to the number of layers of UMLs that this UML will be run
242 in. Normally, this is zero, meaning that it will run directly on the
243 host. Setting it to one will build a UML that can run inside a UML
244 that is running on the host. Generally, if you intend this UML to run
245 inside another UML, set CONFIG_NEST_LEVEL to one more than the host
246 UML.
247
248 Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to
249 greater than one, then the guest UML should have its CONFIG_NEST_LEVEL
250 set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS.
251 Only change this if you are running nested UMLs.
252
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253config HIGHMEM
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800254 bool "Highmem support (EXPERIMENTAL)"
255 depends on !64BIT && EXPERIMENTAL
256 default n
257 help
258 This was used to allow UML to run with big amounts of memory.
259 Currently it is unstable, so if unsure say N.
260
261 To use big amounts of memory, it is recommended to disable TT mode (i.e.
262 CONFIG_MODE_TT) and enable static linking (i.e. CONFIG_STATIC_LINK) -
263 this should allow the guest to use up to 2.75G of memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264
265config KERNEL_STACK_ORDER
266 int "Kernel stack size order"
267 default 2
268 help
269 This option determines the size of UML kernel stacks. They will
270 be 1 << order pages. The default is OK unless you're running Valgrind
271 on UML, in which case, set this to 3.
272
273config UML_REAL_TIME_CLOCK
274 bool "Real-time Clock"
275 default y
276 help
277 This option makes UML time deltas match wall clock deltas. This should
278 normally be enabled. The exception would be if you are debugging with
279 UML and spend long times with UML stopped at a breakpoint. In this
280 case, when UML is restarted, it will call the timer enough times to make
281 up for the time spent at the breakpoint. This could result in a
Matt LaPlante44c09202006-10-03 22:34:14 +0200282 noticeable lag. If this is a problem, then disable this option.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700283
284endmenu
285
286source "init/Kconfig"
287
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800288source "drivers/block/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700289
Jeff Dike08b178e2005-09-03 15:57:12 -0700290source "arch/um/Kconfig.char"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700291
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800292source "drivers/base/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700293
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800294source "net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700295
Jeff Dike08b178e2005-09-03 15:57:12 -0700296source "arch/um/Kconfig.net"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700297
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700298source "drivers/net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700299
Paolo 'Blaisorblade' Giarrusso76c842d2005-12-18 17:50:37 +0100300source "drivers/connector/Kconfig"
301
Linus Torvalds1da177e2005-04-16 15:20:36 -0700302source "fs/Kconfig"
303
304source "security/Kconfig"
305
306source "crypto/Kconfig"
307
308source "lib/Kconfig"
309
310menu "SCSI support"
311depends on BROKEN
312
313config SCSI
314 tristate "SCSI support"
315
316# This gives us free_dma, which scsi.c wants.
317config GENERIC_ISA_DMA
318 bool
319 depends on SCSI
320 default y
321
Jeff Dike08b178e2005-09-03 15:57:12 -0700322source "arch/um/Kconfig.scsi"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700323
324endmenu
325
326source "drivers/md/Kconfig"
327
328if BROKEN
329 source "drivers/mtd/Kconfig"
330endif
331
332#This is just to shut up some Kconfig warnings, so no prompt.
333config INPUT
334 bool
335 default n
336
337source "arch/um/Kconfig.debug"