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