blob: a967d95603cb0a192a770f7dc160642db1720619 [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
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
Linus Torvalds1da177e2005-04-16 15:20:36 -070098source "fs/Kconfig.binfmt"
99
100config HOSTFS
101 tristate "Host filesystem"
102 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700103 While the User-Mode Linux port uses its own root file system for
104 booting and normal file access, this module lets the UML user
105 access files stored on the host. It does not require any
106 network connection between the Host and UML. An example use of
107 this might be:
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108
Jeff Dike4c9e1382007-10-16 01:26:54 -0700109 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110
Jeff Dike4c9e1382007-10-16 01:26:54 -0700111 where /tmp/fromhost is an empty directory inside UML and
112 /tmp/umlshare is a directory on the host with files the UML user
113 wishes to access.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114
Jeff Dike4c9e1382007-10-16 01:26:54 -0700115 For more information, see
116 <http://user-mode-linux.sourceforge.net/hostfs.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117
Jeff Dike4c9e1382007-10-16 01:26:54 -0700118 If you'd like to be able to work with files stored on the host,
119 say Y or M here; otherwise say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700120
121config HPPFS
122 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800123 depends on EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700125 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
126 entries to be overridden, removed, or fabricated from the host.
127 Its purpose is to allow a UML to appear to be a physical machine
128 by removing or changing anything in /proc which gives away the
129 identity of a UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130
Karol Swietlicki0ba9d3f2008-02-04 22:30:38 -0800131 See <http://user-mode-linux.sf.net/old/hppfs.html> for more information.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132
Jeff Dike4c9e1382007-10-16 01:26:54 -0700133 You only need this if you are setting up a UML honeypot. Otherwise,
134 it is safe to say 'N' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136config MCONSOLE
137 bool "Management console"
138 default y
139 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700140 The user mode linux management console is a low-level interface to
141 the kernel, somewhat like the i386 SysRq interface. Since there is
142 a full-blown operating system running under every user mode linux
143 instance, there is much greater flexibility possible than with the
144 SysRq mechanism.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700145
Jeff Dike4c9e1382007-10-16 01:26:54 -0700146 If you answer 'Y' to this option, to use this feature, you need the
147 mconsole client (called uml_mconsole) which is present in CVS in
148 2.4.5-9um and later (path /tools/mconsole), and is also in the
149 distribution RPM package in 2.4.6 and later.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700150
Jeff Dike4c9e1382007-10-16 01:26:54 -0700151 It is safe to say 'Y' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700152
153config MAGIC_SYSRQ
154 bool "Magic SysRq key"
155 depends on MCONSOLE
Jeff Dike4c9e1382007-10-16 01:26:54 -0700156 help
157 If you say Y here, you will have some control over the system even
158 if the system crashes for example during kernel debugging (e.g., you
159 will be able to flush the buffer cache to disk, reboot the system
160 immediately or dump some status information). A key for each of the
161 possible requests is provided.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700162
Jeff Dike4c9e1382007-10-16 01:26:54 -0700163 This is the feature normally accomplished by pressing a key
164 while holding SysRq (Alt+PrintScreen).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165
Jeff Dike4c9e1382007-10-16 01:26:54 -0700166 On UML, this is accomplished by sending a "sysrq" command with
167 mconsole, followed by the letter for the requested command.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168
Jeff Dike4c9e1382007-10-16 01:26:54 -0700169 The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
170 unless you really know what this hack does.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700171
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172config SMP
173 bool "Symmetric multi-processing support (EXPERIMENTAL)"
174 default n
Jeff Dike02bff1f2008-02-04 22:30:41 -0800175 depends on BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700177 This option enables UML SMP support.
178 It is NOT related to having a real SMP box. Not directly, at least.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700179
Jeff Dike4c9e1382007-10-16 01:26:54 -0700180 UML implements virtual SMP by allowing as many processes to run
181 simultaneously on the host as there are virtual processors configured.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700182
Jeff Dike4c9e1382007-10-16 01:26:54 -0700183 Obviously, if the host is a uniprocessor, those processes will
184 timeshare, but, inside UML, will appear to be running simultaneously.
185 If the host is a multiprocessor, then UML processes may run
186 simultaneously, depending on the host scheduler.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700187
Jeff Dike4c9e1382007-10-16 01:26:54 -0700188 This, however, is supported only in TT mode. So, if you use the SKAS
189 patch on your host, switching to TT mode and enabling SMP usually
190 gives you worse performances.
191 Also, since the support for SMP has been under-developed, there could
192 be some bugs being exposed by enabling SMP.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193
Jeff Dike4c9e1382007-10-16 01:26:54 -0700194 If you don't know what to do, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195
196config NR_CPUS
197 int "Maximum number of CPUs (2-32)"
198 range 2 32
199 depends on SMP
200 default "32"
201
202config NEST_LEVEL
203 int "Nesting level"
204 default "0"
205 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700206 This is set to the number of layers of UMLs that this UML will be run
207 in. Normally, this is zero, meaning that it will run directly on the
208 host. Setting it to one will build a UML that can run inside a UML
209 that is running on the host. Generally, if you intend this UML to run
210 inside another UML, set CONFIG_NEST_LEVEL to one more than the host
211 UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700212
Linus Torvalds1da177e2005-04-16 15:20:36 -0700213config HIGHMEM
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800214 bool "Highmem support (EXPERIMENTAL)"
215 depends on !64BIT && EXPERIMENTAL
216 default n
217 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700218 This was used to allow UML to run with big amounts of memory.
219 Currently it is unstable, so if unsure say N.
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800220
Jeff Dike4c9e1382007-10-16 01:26:54 -0700221 To use big amounts of memory, it is recommended enable static
222 linking (i.e. CONFIG_STATIC_LINK) - this should allow the
223 guest to use up to 2.75G of memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700224
225config KERNEL_STACK_ORDER
226 int "Kernel stack size order"
Jeff Dike02239c22007-05-10 22:22:35 -0700227 default 1 if 64BIT
Jeff Dikee80ad9b2007-06-08 13:46:49 -0700228 range 1 10 if 64BIT
Jeff Dike02239c22007-05-10 22:22:35 -0700229 default 0 if !64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700231 This option determines the size of UML kernel stacks. They will
232 be 1 << order pages. The default is OK unless you're running Valgrind
233 on UML, in which case, set this to 3.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700234
Linus Torvalds1da177e2005-04-16 15:20:36 -0700235endmenu
236
237source "init/Kconfig"
238
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800239source "drivers/block/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700240
Jeff Dike08b178e2005-09-03 15:57:12 -0700241source "arch/um/Kconfig.char"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700242
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800243source "drivers/base/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800245source "net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700246
Jeff Dike08b178e2005-09-03 15:57:12 -0700247source "arch/um/Kconfig.net"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700249source "drivers/net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700250
Paolo 'Blaisorblade' Giarrusso76c842d2005-12-18 17:50:37 +0100251source "drivers/connector/Kconfig"
252
Linus Torvalds1da177e2005-04-16 15:20:36 -0700253source "fs/Kconfig"
254
255source "security/Kconfig"
256
257source "crypto/Kconfig"
258
259source "lib/Kconfig"
260
Peter Zijlstra0ff56382007-05-09 02:33:20 -0700261source "drivers/scsi/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700262
263source "drivers/md/Kconfig"
264
265if BROKEN
266 source "drivers/mtd/Kconfig"
267endif
268
269#This is just to shut up some Kconfig warnings, so no prompt.
270config INPUT
271 bool
272 default n
273
Linus Torvalds1da177e2005-04-16 15:20:36 -0700274source "arch/um/Kconfig.debug"