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