1 # UML uses the generic IRQ sugsystem
2 config GENERIC_HARDIRQS
14 mainmenu "Linux/Usermode Kernel Configuration"
28 config GENERIC_CALIBRATE_DELAY
32 # Used in kernel/irq/manage.c and include/linux/irq.h
33 config IRQ_RELEASE_METHOD
37 menu "UML-specific options"
40 bool "Tracing thread support"
43 This option controls whether tracing thread support is compiled
44 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.
49 bool "Force a static link"
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
60 config KERNEL_HALF_GIGS
61 int "Kernel address space size (in .5G units)"
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
71 bool "Separate Kernel Address Space support" if MODE_TT
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.
80 source "arch/um/Kconfig.arch"
83 config LD_SCRIPT_STATIC
86 depends on MODE_TT || STATIC_LINK
91 depends on !LD_SCRIPT_STATIC
94 bool "Networking support"
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>.
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>.
110 source "fs/Kconfig.binfmt"
113 tristate "Host filesystem"
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
121 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
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
127 For more information, see
128 <http://user-mode-linux.sourceforge.net/hostfs.html>.
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.
134 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
135 depends on EXPERIMENTAL
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
143 See <http://user-mode-linux.sf.net/hppfs.html> for more information.
145 You only need this if you are setting up a UML honeypot. Otherwise,
146 it is safe to say 'N' here.
149 bool "Management console"
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
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.
163 It is safe to say 'Y' here.
166 bool "Magic SysRq key"
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.
175 This is the feature normally accomplished by pressing a key
176 while holding SysRq (Alt+PrintScreen).
178 On UML, this is accomplished by sending a "sysrq" command with
179 mconsole, followed by the letter for the requested command.
181 The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
182 unless you really know what this hack does.
185 bool "Symmetric multi-processing support (EXPERIMENTAL)"
187 #SMP_BROKEN is for x86_64.
188 depends on MODE_TT && EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
190 This option enables UML SMP support.
191 It is NOT related to having a real SMP box. Not directly, at least.
193 UML implements virtual SMP by allowing as many processes to run
194 simultaneously on the host as there are virtual processors configured.
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.
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.
207 If you don't know what to do, say N.
210 int "Maximum number of CPUs (2-32)"
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
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.
232 bool "Highmem support (EXPERIMENTAL)"
233 depends on !64BIT && EXPERIMENTAL
236 This was used to allow UML to run with big amounts of memory.
237 Currently it is unstable, so if unsure say N.
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.
243 config KERNEL_STACK_ORDER
244 int "Kernel stack size order"
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.
251 config UML_REAL_TIME_CLOCK
252 bool "Real-time Clock"
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.
264 source "init/Kconfig"
266 source "drivers/block/Kconfig"
268 source "arch/um/Kconfig.char"
270 source "drivers/base/Kconfig"
274 source "arch/um/Kconfig.net"
276 source "drivers/net/Kconfig"
278 source "drivers/connector/Kconfig"
282 source "security/Kconfig"
284 source "crypto/Kconfig"
292 tristate "SCSI support"
294 # This gives us free_dma, which scsi.c wants.
295 config GENERIC_ISA_DMA
300 source "arch/um/Kconfig.scsi"
304 source "drivers/md/Kconfig"
307 source "drivers/mtd/Kconfig"
310 #This is just to shut up some Kconfig warnings, so no prompt.
315 source "arch/um/Kconfig.debug"