blob: 53597bbcd7b0e5b879e1454cee215fa70a6562ac [file] [log] [blame]
Paolo 'Blaisorblade' Giarrussob2670eac2006-10-19 23:28:23 -07001config DEFCONFIG_LIST
2 string
3 option defconfig_list
4 default "arch/$ARCH/defconfig"
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006# UML uses the generic IRQ sugsystem
7config GENERIC_HARDIRQS
8 bool
9 default y
10
11config UML
12 bool
13 default y
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015config MMU
16 bool
17 default y
18
Al Viro5ea81762007-02-11 15:41:31 +000019config NO_IOMEM
20 def_bool y
21
Linus Torvalds1da177e2005-04-16 15:20:36 -070022mainmenu "Linux/Usermode Kernel Configuration"
23
24config ISA
25 bool
26
27config SBUS
28 bool
29
30config PCI
31 bool
32
Al Viro694a4642006-03-31 02:30:14 -080033config PCMCIA
34 bool
35
Paolo 'Blaisorblade' Giarrusso711553e2006-10-11 01:21:37 -070036# Yet to do!
37config TRACE_IRQFLAGS_SUPPORT
38 bool
39 default n
40
41config LOCKDEP_SUPPORT
42 bool
43 default y
44
45config STACKTRACE_SUPPORT
46 bool
Al Viro6df01872007-03-14 09:15:54 +000047 default n
Paolo 'Blaisorblade' Giarrusso711553e2006-10-11 01:21:37 -070048
Linus Torvalds1da177e2005-04-16 15:20:36 -070049config GENERIC_CALIBRATE_DELAY
50 bool
51 default y
52
Jeff Dikee182c962006-12-08 02:36:23 -080053config GENERIC_BUG
54 bool
55 default y
56 depends on BUG
57
Jeff Diked83d2aa2007-10-16 01:27:23 -070058config GENERIC_TIME
59 bool
60 default y
61
Paolo 'Blaisorblade' Giarrussob77d6ad2005-06-21 17:16:24 -070062# Used in kernel/irq/manage.c and include/linux/irq.h
63config IRQ_RELEASE_METHOD
64 bool
65 default y
66
Linus Torvalds1da177e2005-04-16 15:20:36 -070067menu "UML-specific options"
68
Linus Torvalds1da177e2005-04-16 15:20:36 -070069config STATIC_LINK
70 bool "Force a static link"
71 default n
Linus Torvalds1da177e2005-04-16 15:20:36 -070072 help
Jeff Dike4c9e1382007-10-16 01:26:54 -070073 This option gives you the ability to force a static link of UML.
74 Normally, UML is linked as a shared binary. This is inconvenient for
75 use in a chroot jail. So, if you intend to run UML inside a chroot,
76 you probably want to say Y here.
77 Additionally, this option enables using higher memory spaces (up to
78 2.75G) for UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -070079
Jeff Dike08b178e2005-09-03 15:57:12 -070080source "arch/um/Kconfig.arch"
Dave Hansen3f22ab22005-06-23 00:07:43 -070081source "mm/Kconfig"
Jeff Diked83d2aa2007-10-16 01:27:23 -070082source "kernel/time/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -070083
84config LD_SCRIPT_STATIC
85 bool
86 default y
Jeff Dike42fda662007-10-16 01:26:50 -070087 depends on STATIC_LINK
Linus Torvalds1da177e2005-04-16 15:20:36 -070088
89config LD_SCRIPT_DYN
90 bool
91 default y
92 depends on !LD_SCRIPT_STATIC
93
94config NET
95 bool "Networking support"
96 help
Jeff Dike4c9e1382007-10-16 01:26:54 -070097 Unless you really know what you are doing, you should say Y here.
98 The reason is that some programs need kernel networking support even
99 when running on a stand-alone machine that isn't connected to any
100 other computer. If you are upgrading from an older kernel, you
101 should consider updating your networking tools too because changes
102 in the kernel and the tools often go hand in hand. The tools are
103 contained in the package net-tools, the location and version number
104 of which are given in <file:Documentation/Changes>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105
Jeff Dike4c9e1382007-10-16 01:26:54 -0700106 For a general introduction to Linux networking, it is highly
107 recommended to read the NET-HOWTO, available from
108 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109
110
111source "fs/Kconfig.binfmt"
112
113config HOSTFS
114 tristate "Host filesystem"
115 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700116 While the User-Mode Linux port uses its own root file system for
117 booting and normal file access, this module lets the UML user
118 access files stored on the host. It does not require any
119 network connection between the Host and UML. An example use of
120 this might be:
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121
Jeff Dike4c9e1382007-10-16 01:26:54 -0700122 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123
Jeff Dike4c9e1382007-10-16 01:26:54 -0700124 where /tmp/fromhost is an empty directory inside UML and
125 /tmp/umlshare is a directory on the host with files the UML user
126 wishes to access.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127
Jeff Dike4c9e1382007-10-16 01:26:54 -0700128 For more information, see
129 <http://user-mode-linux.sourceforge.net/hostfs.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130
Jeff Dike4c9e1382007-10-16 01:26:54 -0700131 If you'd like to be able to work with files stored on the host,
132 say Y or M here; otherwise say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700133
134config HPPFS
135 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800136 depends on EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700138 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
139 entries to be overridden, removed, or fabricated from the host.
140 Its purpose is to allow a UML to appear to be a physical machine
141 by removing or changing anything in /proc which gives away the
142 identity of a UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143
Jeff Dike4c9e1382007-10-16 01:26:54 -0700144 See <http://user-mode-linux.sf.net/hppfs.html> for more information.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145
Jeff Dike4c9e1382007-10-16 01:26:54 -0700146 You only need this if you are setting up a UML honeypot. Otherwise,
147 it is safe to say 'N' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149config MCONSOLE
150 bool "Management console"
151 default y
152 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700153 The user mode linux management console is a low-level interface to
154 the kernel, somewhat like the i386 SysRq interface. Since there is
155 a full-blown operating system running under every user mode linux
156 instance, there is much greater flexibility possible than with the
157 SysRq mechanism.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158
Jeff Dike4c9e1382007-10-16 01:26:54 -0700159 If you answer 'Y' to this option, to use this feature, you need the
160 mconsole client (called uml_mconsole) which is present in CVS in
161 2.4.5-9um and later (path /tools/mconsole), and is also in the
162 distribution RPM package in 2.4.6 and later.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163
Jeff Dike4c9e1382007-10-16 01:26:54 -0700164 It is safe to say 'Y' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165
166config MAGIC_SYSRQ
167 bool "Magic SysRq key"
168 depends on MCONSOLE
Jeff Dike4c9e1382007-10-16 01:26:54 -0700169 help
170 If you say Y here, you will have some control over the system even
171 if the system crashes for example during kernel debugging (e.g., you
172 will be able to flush the buffer cache to disk, reboot the system
173 immediately or dump some status information). A key for each of the
174 possible requests is provided.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175
Jeff Dike4c9e1382007-10-16 01:26:54 -0700176 This is the feature normally accomplished by pressing a key
177 while holding SysRq (Alt+PrintScreen).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178
Jeff Dike4c9e1382007-10-16 01:26:54 -0700179 On UML, this is accomplished by sending a "sysrq" command with
180 mconsole, followed by the letter for the requested command.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181
Jeff Dike4c9e1382007-10-16 01:26:54 -0700182 The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
183 unless you really know what this hack does.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185config SMP
186 bool "Symmetric multi-processing support (EXPERIMENTAL)"
187 default n
Paolo 'Blaisorblade' Giarrusso3b8d1082005-11-13 16:07:04 -0800188 #SMP_BROKEN is for x86_64.
Jeff Dike42fda662007-10-16 01:26:50 -0700189 depends on EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
Linus Torvalds1da177e2005-04-16 15:20:36 -0700190 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700191 This option enables UML SMP support.
192 It is NOT related to having a real SMP box. Not directly, at least.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193
Jeff Dike4c9e1382007-10-16 01:26:54 -0700194 UML implements virtual SMP by allowing as many processes to run
195 simultaneously on the host as there are virtual processors configured.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700196
Jeff Dike4c9e1382007-10-16 01:26:54 -0700197 Obviously, if the host is a uniprocessor, those processes will
198 timeshare, but, inside UML, will appear to be running simultaneously.
199 If the host is a multiprocessor, then UML processes may run
200 simultaneously, depending on the host scheduler.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201
Jeff Dike4c9e1382007-10-16 01:26:54 -0700202 This, however, is supported only in TT mode. So, if you use the SKAS
203 patch on your host, switching to TT mode and enabling SMP usually
204 gives you worse performances.
205 Also, since the support for SMP has been under-developed, there could
206 be some bugs being exposed by enabling SMP.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207
Jeff Dike4c9e1382007-10-16 01:26:54 -0700208 If you don't know what to do, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700209
210config NR_CPUS
211 int "Maximum number of CPUs (2-32)"
212 range 2 32
213 depends on SMP
214 default "32"
215
216config NEST_LEVEL
217 int "Nesting level"
218 default "0"
219 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700220 This is set to the number of layers of UMLs that this UML will be run
221 in. Normally, this is zero, meaning that it will run directly on the
222 host. Setting it to one will build a UML that can run inside a UML
223 that is running on the host. Generally, if you intend this UML to run
224 inside another UML, set CONFIG_NEST_LEVEL to one more than the host
225 UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700226
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227config HIGHMEM
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800228 bool "Highmem support (EXPERIMENTAL)"
229 depends on !64BIT && EXPERIMENTAL
230 default n
231 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700232 This was used to allow UML to run with big amounts of memory.
233 Currently it is unstable, so if unsure say N.
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800234
Jeff Dike4c9e1382007-10-16 01:26:54 -0700235 To use big amounts of memory, it is recommended enable static
236 linking (i.e. CONFIG_STATIC_LINK) - this should allow the
237 guest to use up to 2.75G of memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238
239config KERNEL_STACK_ORDER
240 int "Kernel stack size order"
Jeff Dike02239c22007-05-10 22:22:35 -0700241 default 1 if 64BIT
Jeff Dikee80ad9b2007-06-08 13:46:49 -0700242 range 1 10 if 64BIT
Jeff Dike02239c22007-05-10 22:22:35 -0700243 default 0 if !64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700245 This option determines the size of UML kernel stacks. They will
246 be 1 << order pages. The default is OK unless you're running Valgrind
247 on UML, in which case, set this to 3.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248
249config UML_REAL_TIME_CLOCK
250 bool "Real-time Clock"
251 default y
252 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700253 This option makes UML time deltas match wall clock deltas. This
254 should normally be enabled. The exception would be if you are
255 debugging with UML and spend long times with UML stopped at a
256 breakpoint. In this case, when UML is restarted, it will call the
257 timer enough times to make up for the time spent at the breakpoint.
258 This could result in a noticeable lag. If this is a problem, then
259 disable this option.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700260
261endmenu
262
263source "init/Kconfig"
264
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800265source "drivers/block/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700266
Jeff Dike08b178e2005-09-03 15:57:12 -0700267source "arch/um/Kconfig.char"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800269source "drivers/base/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700270
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800271source "net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700272
Jeff Dike08b178e2005-09-03 15:57:12 -0700273source "arch/um/Kconfig.net"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700275source "drivers/net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700276
Paolo 'Blaisorblade' Giarrusso76c842d2005-12-18 17:50:37 +0100277source "drivers/connector/Kconfig"
278
Linus Torvalds1da177e2005-04-16 15:20:36 -0700279source "fs/Kconfig"
280
281source "security/Kconfig"
282
283source "crypto/Kconfig"
284
285source "lib/Kconfig"
286
Peter Zijlstra0ff56382007-05-09 02:33:20 -0700287source "drivers/scsi/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700288
289source "drivers/md/Kconfig"
290
291if BROKEN
292 source "drivers/mtd/Kconfig"
293endif
294
295#This is just to shut up some Kconfig warnings, so no prompt.
296config INPUT
297 bool
298 default n
299
300source "arch/um/Kconfig.debug"