]> err.no Git - linux-2.6/blob - arch/um/Kconfig
uml: more idiomatic parameter parsing
[linux-2.6] / arch / um / Kconfig
1 config DEFCONFIG_LIST
2         string
3         option defconfig_list
4         default "arch/$ARCH/defconfig"
5
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
15 config MMU
16         bool
17         default y
18
19 config NO_IOMEM
20         def_bool y
21
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
33 config PCMCIA
34         bool
35
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
47         default n
48
49 config GENERIC_CALIBRATE_DELAY
50         bool
51         default y
52
53 config GENERIC_BUG
54         bool
55         default y
56         depends on BUG
57
58 # Used in kernel/irq/manage.c and include/linux/irq.h
59 config IRQ_RELEASE_METHOD
60         bool
61         default y
62
63 menu "UML-specific options"
64
65 config STATIC_LINK
66         bool "Force a static link"
67         default n
68         help
69           This option gives you the ability to force a static link of UML.
70           Normally, UML is linked as a shared binary.  This is inconvenient for
71           use in a chroot jail.  So, if you intend to run UML inside a chroot,
72           you probably want to say Y here.
73           Additionally, this option enables using higher memory spaces (up to
74           2.75G) for UML.
75
76 source "arch/um/Kconfig.arch"
77 source "mm/Kconfig"
78
79 config LD_SCRIPT_STATIC
80         bool
81         default y
82         depends on 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)"
131         depends on EXPERIMENTAL
132         help
133           hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
134           entries to be overridden, removed, or fabricated from the host.
135           Its purpose is to allow a UML to appear to be a physical machine
136           by removing or changing anything in /proc which gives away the
137           identity of a UML.
138
139           See <http://user-mode-linux.sf.net/hppfs.html> for more information.
140
141           You only need this if you are setting up a UML honeypot.  Otherwise,
142           it is safe to say 'N' here.
143
144 config MCONSOLE
145         bool "Management console"
146         default y
147         help
148           The user mode linux management console is a low-level interface to
149           the kernel, somewhat like the i386 SysRq interface.  Since there is
150           a full-blown operating system running under every user mode linux
151           instance, there is much greater flexibility possible than with the
152           SysRq mechanism.
153
154           If you answer 'Y' to this option, to use this feature, you need the
155           mconsole client (called uml_mconsole) which is present in CVS in
156           2.4.5-9um and later (path /tools/mconsole), and is also in the
157           distribution RPM package in 2.4.6 and later.
158
159           It is safe to say 'Y' here.
160
161 config MAGIC_SYSRQ
162         bool "Magic SysRq key"
163         depends on MCONSOLE
164         help
165           If you say Y here, you will have some control over the system even
166           if the system crashes for example during kernel debugging (e.g., you
167           will be able to flush the buffer cache to disk, reboot the system
168           immediately or dump some status information). A key for each of the
169           possible requests is provided.
170
171           This is the feature normally accomplished by pressing a key
172           while holding SysRq (Alt+PrintScreen).
173
174           On UML, this is accomplished by sending a "sysrq" command with
175           mconsole, followed by the letter for the requested command.
176
177           The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
178           unless you really know what this hack does.
179
180 config SMP
181         bool "Symmetric multi-processing support (EXPERIMENTAL)"
182         default n
183         #SMP_BROKEN is for x86_64.
184         depends on EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
185         help
186           This option enables UML SMP support.
187           It is NOT related to having a real SMP box. Not directly, at least.
188
189           UML implements virtual SMP by allowing as many processes to run
190           simultaneously on the host as there are virtual processors configured.
191
192           Obviously, if the host is a uniprocessor, those processes will
193           timeshare, but, inside UML, will appear to be running simultaneously.
194           If the host is a multiprocessor, then UML processes may run
195           simultaneously, depending on the host scheduler.
196
197           This, however, is supported only in TT mode. So, if you use the SKAS
198           patch on your host, switching to TT mode and enabling SMP usually
199           gives you worse performances.
200           Also, since the support for SMP has been under-developed, there could
201           be some bugs being exposed by enabling SMP.
202
203           If you don't know what to do, say N.
204
205 config NR_CPUS
206         int "Maximum number of CPUs (2-32)"
207         range 2 32
208         depends on SMP
209         default "32"
210
211 config NEST_LEVEL
212         int "Nesting level"
213         default "0"
214         help
215           This is set to the number of layers of UMLs that this UML will be run
216           in.  Normally, this is zero, meaning that it will run directly on the
217           host.  Setting it to one will build a UML that can run inside a UML
218           that is running on the host.  Generally, if you intend this UML to run
219           inside another UML, set CONFIG_NEST_LEVEL to one more than the host
220           UML.
221
222 config HIGHMEM
223         bool "Highmem support (EXPERIMENTAL)"
224         depends on !64BIT && EXPERIMENTAL
225         default n
226         help
227           This was used to allow UML to run with big amounts of memory.
228           Currently it is unstable, so if unsure say N.
229
230           To use big amounts of memory, it is recommended enable static
231           linking (i.e. CONFIG_STATIC_LINK) - this should allow the
232           guest to use up to 2.75G of memory.
233
234 config KERNEL_STACK_ORDER
235         int "Kernel stack size order"
236         default 1 if 64BIT
237         range 1 10 if 64BIT
238         default 0 if !64BIT
239         help
240           This option determines the size of UML kernel stacks.  They will
241           be 1 << order pages.  The default is OK unless you're running Valgrind
242           on UML, in which case, set this to 3.
243
244 config UML_REAL_TIME_CLOCK
245         bool "Real-time Clock"
246         default y
247         help
248           This option makes UML time deltas match wall clock deltas.  This
249           should normally be enabled.  The exception would be if you are
250           debugging with UML and spend long times with UML stopped at a
251           breakpoint.  In this case, when UML is restarted, it will call the
252           timer enough times to make up for the time spent at the breakpoint.
253           This could result in a noticeable lag.  If this is a problem, then
254           disable this option.
255
256 endmenu
257
258 source "init/Kconfig"
259
260 source "drivers/block/Kconfig"
261
262 source "arch/um/Kconfig.char"
263
264 source "drivers/base/Kconfig"
265
266 source "net/Kconfig"
267
268 source "arch/um/Kconfig.net"
269
270 source "drivers/net/Kconfig"
271
272 source "drivers/connector/Kconfig"
273
274 source "fs/Kconfig"
275
276 source "security/Kconfig"
277
278 source "crypto/Kconfig"
279
280 source "lib/Kconfig"
281
282 source "drivers/scsi/Kconfig"
283
284 source "drivers/md/Kconfig"
285
286 if BROKEN
287         source "drivers/mtd/Kconfig"
288 endif
289
290 #This is just to shut up some Kconfig warnings, so no prompt.
291 config INPUT
292         bool
293         default n
294
295 source "arch/um/Kconfig.debug"