blob: dd1689b814cb5a842c456a0337f66ec9db2dbe2e [file] [log] [blame]
Paolo 'Blaisorblade' Giarrussob2670ea2006-10-19 23:28:23 -07001config DEFCONFIG_LIST
2 string
3 option defconfig_list
4 default "arch/$ARCH/defconfig"
5
Matt LaPlante01dd2fb2007-10-20 01:34:40 +02006# UML uses the generic IRQ subsystem
Linus Torvalds1da177e2005-04-16 15:20:36 -07007config 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
Jeff Dike31ccc1f2007-10-16 01:27:24 -070062config GENERIC_CLOCKEVENTS
63 bool
64 default y
65
Paolo 'Blaisorblade' Giarrussob77d6ad2005-06-21 17:16:24 -070066# Used in kernel/irq/manage.c and include/linux/irq.h
67config IRQ_RELEASE_METHOD
68 bool
69 default y
70
Linus Torvalds1da177e2005-04-16 15:20:36 -070071menu "UML-specific options"
72
Linus Torvalds1da177e2005-04-16 15:20:36 -070073config STATIC_LINK
74 bool "Force a static link"
75 default n
Linus Torvalds1da177e2005-04-16 15:20:36 -070076 help
Jeff Dike4c9e1382007-10-16 01:26:54 -070077 This option gives you the ability to force a static link of UML.
78 Normally, UML is linked as a shared binary. This is inconvenient for
79 use in a chroot jail. So, if you intend to run UML inside a chroot,
80 you probably want to say Y here.
81 Additionally, this option enables using higher memory spaces (up to
82 2.75G) for UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -070083
Jeff Dike08b178e2005-09-03 15:57:12 -070084source "arch/um/Kconfig.arch"
Dave Hansen3f22ab22005-06-23 00:07:43 -070085source "mm/Kconfig"
Jeff Diked83d2aa2007-10-16 01:27:23 -070086source "kernel/time/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -070087
88config LD_SCRIPT_STATIC
89 bool
90 default y
Jeff Dike42fda662007-10-16 01:26:50 -070091 depends on STATIC_LINK
Linus Torvalds1da177e2005-04-16 15:20:36 -070092
93config LD_SCRIPT_DYN
94 bool
95 default y
96 depends on !LD_SCRIPT_STATIC
97
98config NET
99 bool "Networking support"
100 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700101 Unless you really know what you are doing, you should say Y here.
102 The reason is that some programs need kernel networking support even
103 when running on a stand-alone machine that isn't connected to any
104 other computer. If you are upgrading from an older kernel, you
105 should consider updating your networking tools too because changes
106 in the kernel and the tools often go hand in hand. The tools are
107 contained in the package net-tools, the location and version number
108 of which are given in <file:Documentation/Changes>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109
Jeff Dike4c9e1382007-10-16 01:26:54 -0700110 For a general introduction to Linux networking, it is highly
111 recommended to read the NET-HOWTO, available from
112 <http://www.tldp.org/docs.html#howto>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113
114
115source "fs/Kconfig.binfmt"
116
117config HOSTFS
118 tristate "Host filesystem"
119 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700120 While the User-Mode Linux port uses its own root file system for
121 booting and normal file access, this module lets the UML user
122 access files stored on the host. It does not require any
123 network connection between the Host and UML. An example use of
124 this might be:
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125
Jeff Dike4c9e1382007-10-16 01:26:54 -0700126 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127
Jeff Dike4c9e1382007-10-16 01:26:54 -0700128 where /tmp/fromhost is an empty directory inside UML and
129 /tmp/umlshare is a directory on the host with files the UML user
130 wishes to access.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131
Jeff Dike4c9e1382007-10-16 01:26:54 -0700132 For more information, see
133 <http://user-mode-linux.sourceforge.net/hostfs.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134
Jeff Dike4c9e1382007-10-16 01:26:54 -0700135 If you'd like to be able to work with files stored on the host,
136 say Y or M here; otherwise say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137
138config HPPFS
139 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800140 depends on EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700142 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
143 entries to be overridden, removed, or fabricated from the host.
144 Its purpose is to allow a UML to appear to be a physical machine
145 by removing or changing anything in /proc which gives away the
146 identity of a UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700147
Jeff Dike4c9e1382007-10-16 01:26:54 -0700148 See <http://user-mode-linux.sf.net/hppfs.html> for more information.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149
Jeff Dike4c9e1382007-10-16 01:26:54 -0700150 You only need this if you are setting up a UML honeypot. Otherwise,
151 it is safe to say 'N' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700152
Linus Torvalds1da177e2005-04-16 15:20:36 -0700153config MCONSOLE
154 bool "Management console"
155 default y
156 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700157 The user mode linux management console is a low-level interface to
158 the kernel, somewhat like the i386 SysRq interface. Since there is
159 a full-blown operating system running under every user mode linux
160 instance, there is much greater flexibility possible than with the
161 SysRq mechanism.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700162
Jeff Dike4c9e1382007-10-16 01:26:54 -0700163 If you answer 'Y' to this option, to use this feature, you need the
164 mconsole client (called uml_mconsole) which is present in CVS in
165 2.4.5-9um and later (path /tools/mconsole), and is also in the
166 distribution RPM package in 2.4.6 and later.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167
Jeff Dike4c9e1382007-10-16 01:26:54 -0700168 It is safe to say 'Y' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169
170config MAGIC_SYSRQ
171 bool "Magic SysRq key"
172 depends on MCONSOLE
Jeff Dike4c9e1382007-10-16 01:26:54 -0700173 help
174 If you say Y here, you will have some control over the system even
175 if the system crashes for example during kernel debugging (e.g., you
176 will be able to flush the buffer cache to disk, reboot the system
177 immediately or dump some status information). A key for each of the
178 possible requests is provided.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179
Jeff Dike4c9e1382007-10-16 01:26:54 -0700180 This is the feature normally accomplished by pressing a key
181 while holding SysRq (Alt+PrintScreen).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182
Jeff Dike4c9e1382007-10-16 01:26:54 -0700183 On UML, this is accomplished by sending a "sysrq" command with
184 mconsole, followed by the letter for the requested command.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700185
Jeff Dike4c9e1382007-10-16 01:26:54 -0700186 The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
187 unless you really know what this hack does.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188
Linus Torvalds1da177e2005-04-16 15:20:36 -0700189config SMP
190 bool "Symmetric multi-processing support (EXPERIMENTAL)"
191 default n
Paolo 'Blaisorblade' Giarrusso3b8d1082005-11-13 16:07:04 -0800192 #SMP_BROKEN is for x86_64.
Jeff Dike42fda662007-10-16 01:26:50 -0700193 depends on EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
Linus Torvalds1da177e2005-04-16 15:20:36 -0700194 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700195 This option enables UML SMP support.
196 It is NOT related to having a real SMP box. Not directly, at least.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197
Jeff Dike4c9e1382007-10-16 01:26:54 -0700198 UML implements virtual SMP by allowing as many processes to run
199 simultaneously on the host as there are virtual processors configured.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700200
Jeff Dike4c9e1382007-10-16 01:26:54 -0700201 Obviously, if the host is a uniprocessor, those processes will
202 timeshare, but, inside UML, will appear to be running simultaneously.
203 If the host is a multiprocessor, then UML processes may run
204 simultaneously, depending on the host scheduler.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700205
Jeff Dike4c9e1382007-10-16 01:26:54 -0700206 This, however, is supported only in TT mode. So, if you use the SKAS
207 patch on your host, switching to TT mode and enabling SMP usually
208 gives you worse performances.
209 Also, since the support for SMP has been under-developed, there could
210 be some bugs being exposed by enabling SMP.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211
Jeff Dike4c9e1382007-10-16 01:26:54 -0700212 If you don't know what to do, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213
214config NR_CPUS
215 int "Maximum number of CPUs (2-32)"
216 range 2 32
217 depends on SMP
218 default "32"
219
220config NEST_LEVEL
221 int "Nesting level"
222 default "0"
223 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700224 This is set to the number of layers of UMLs that this UML will be run
225 in. Normally, this is zero, meaning that it will run directly on the
226 host. Setting it to one will build a UML that can run inside a UML
227 that is running on the host. Generally, if you intend this UML to run
228 inside another UML, set CONFIG_NEST_LEVEL to one more than the host
229 UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231config HIGHMEM
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800232 bool "Highmem support (EXPERIMENTAL)"
233 depends on !64BIT && EXPERIMENTAL
234 default n
235 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700236 This was used to allow UML to run with big amounts of memory.
237 Currently it is unstable, so if unsure say N.
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800238
Jeff Dike4c9e1382007-10-16 01:26:54 -0700239 To use big amounts of memory, it is recommended enable static
240 linking (i.e. CONFIG_STATIC_LINK) - this should allow the
241 guest to use up to 2.75G of memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242
243config KERNEL_STACK_ORDER
244 int "Kernel stack size order"
Jeff Dike02239c22007-05-10 22:22:35 -0700245 default 1 if 64BIT
Jeff Dikee80ad9b2007-06-08 13:46:49 -0700246 range 1 10 if 64BIT
Jeff Dike02239c22007-05-10 22:22:35 -0700247 default 0 if !64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700249 This option determines the size of UML kernel stacks. They will
250 be 1 << order pages. The default is OK unless you're running Valgrind
251 on UML, in which case, set this to 3.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700252
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253endmenu
254
255source "init/Kconfig"
256
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800257source "drivers/block/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700258
Jeff Dike08b178e2005-09-03 15:57:12 -0700259source "arch/um/Kconfig.char"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700260
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800261source "drivers/base/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700262
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800263source "net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700264
Jeff Dike08b178e2005-09-03 15:57:12 -0700265source "arch/um/Kconfig.net"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700266
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700267source "drivers/net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700268
Paolo 'Blaisorblade' Giarrusso76c842d2005-12-18 17:50:37 +0100269source "drivers/connector/Kconfig"
270
Linus Torvalds1da177e2005-04-16 15:20:36 -0700271source "fs/Kconfig"
272
273source "security/Kconfig"
274
275source "crypto/Kconfig"
276
277source "lib/Kconfig"
278
Peter Zijlstra0ff56382007-05-09 02:33:20 -0700279source "drivers/scsi/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700280
281source "drivers/md/Kconfig"
282
283if BROKEN
284 source "drivers/mtd/Kconfig"
285endif
286
287#This is just to shut up some Kconfig warnings, so no prompt.
288config INPUT
289 bool
290 default n
291
Mathieu Desnoyers09caded2007-10-18 23:41:05 -0700292source "kernel/Kconfig.instrumentation"
293
Linus Torvalds1da177e2005-04-16 15:20:36 -0700294source "arch/um/Kconfig.debug"