blob: 99e51d059a02286bb0a80fc25c05f48f64d10058 [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
Jeff Dike7281ff92008-02-04 22:31:19 -080071config HZ
72 int
73 default 100
74
Linus Torvalds1da177e2005-04-16 15:20:36 -070075menu "UML-specific options"
76
Linus Torvalds1da177e2005-04-16 15:20:36 -070077config STATIC_LINK
78 bool "Force a static link"
79 default n
Linus Torvalds1da177e2005-04-16 15:20:36 -070080 help
Jeff Dike4c9e1382007-10-16 01:26:54 -070081 This option gives you the ability to force a static link of UML.
82 Normally, UML is linked as a shared binary. This is inconvenient for
83 use in a chroot jail. So, if you intend to run UML inside a chroot,
84 you probably want to say Y here.
85 Additionally, this option enables using higher memory spaces (up to
86 2.75G) for UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -070087
Jeff Dike08b178e2005-09-03 15:57:12 -070088source "arch/um/Kconfig.arch"
Dave Hansen3f22ab22005-06-23 00:07:43 -070089source "mm/Kconfig"
Jeff Diked83d2aa2007-10-16 01:27:23 -070090source "kernel/time/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -070091
92config LD_SCRIPT_STATIC
93 bool
94 default y
Jeff Dike42fda662007-10-16 01:26:50 -070095 depends on STATIC_LINK
Linus Torvalds1da177e2005-04-16 15:20:36 -070096
97config LD_SCRIPT_DYN
98 bool
99 default y
100 depends on !LD_SCRIPT_STATIC
101
Linus Torvalds1da177e2005-04-16 15:20:36 -0700102source "fs/Kconfig.binfmt"
103
104config HOSTFS
105 tristate "Host filesystem"
106 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700107 While the User-Mode Linux port uses its own root file system for
108 booting and normal file access, this module lets the UML user
109 access files stored on the host. It does not require any
110 network connection between the Host and UML. An example use of
111 this might be:
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112
Jeff Dike4c9e1382007-10-16 01:26:54 -0700113 mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114
Jeff Dike4c9e1382007-10-16 01:26:54 -0700115 where /tmp/fromhost is an empty directory inside UML and
116 /tmp/umlshare is a directory on the host with files the UML user
117 wishes to access.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118
Jeff Dike4c9e1382007-10-16 01:26:54 -0700119 For more information, see
120 <http://user-mode-linux.sourceforge.net/hostfs.html>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700121
Jeff Dike4c9e1382007-10-16 01:26:54 -0700122 If you'd like to be able to work with files stored on the host,
123 say Y or M here; otherwise say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124
125config HPPFS
126 tristate "HoneyPot ProcFS (EXPERIMENTAL)"
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800127 depends on EXPERIMENTAL
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700129 hppfs (HoneyPot ProcFS) is a filesystem which allows UML /proc
130 entries to be overridden, removed, or fabricated from the host.
131 Its purpose is to allow a UML to appear to be a physical machine
132 by removing or changing anything in /proc which gives away the
133 identity of a UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134
Karol Swietlicki0ba9d3f2008-02-04 22:30:38 -0800135 See <http://user-mode-linux.sf.net/old/hppfs.html> for more information.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700136
Jeff Dike4c9e1382007-10-16 01:26:54 -0700137 You only need this if you are setting up a UML honeypot. Otherwise,
138 it is safe to say 'N' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140config MCONSOLE
141 bool "Management console"
142 default y
143 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700144 The user mode linux management console is a low-level interface to
145 the kernel, somewhat like the i386 SysRq interface. Since there is
146 a full-blown operating system running under every user mode linux
147 instance, there is much greater flexibility possible than with the
148 SysRq mechanism.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149
Jeff Dike4c9e1382007-10-16 01:26:54 -0700150 If you answer 'Y' to this option, to use this feature, you need the
151 mconsole client (called uml_mconsole) which is present in CVS in
152 2.4.5-9um and later (path /tools/mconsole), and is also in the
153 distribution RPM package in 2.4.6 and later.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154
Jeff Dike4c9e1382007-10-16 01:26:54 -0700155 It is safe to say 'Y' here.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700156
157config MAGIC_SYSRQ
158 bool "Magic SysRq key"
159 depends on MCONSOLE
Jeff Dike4c9e1382007-10-16 01:26:54 -0700160 help
161 If you say Y here, you will have some control over the system even
162 if the system crashes for example during kernel debugging (e.g., you
163 will be able to flush the buffer cache to disk, reboot the system
164 immediately or dump some status information). A key for each of the
165 possible requests is provided.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166
Jeff Dike4c9e1382007-10-16 01:26:54 -0700167 This is the feature normally accomplished by pressing a key
168 while holding SysRq (Alt+PrintScreen).
Linus Torvalds1da177e2005-04-16 15:20:36 -0700169
Jeff Dike4c9e1382007-10-16 01:26:54 -0700170 On UML, this is accomplished by sending a "sysrq" command with
171 mconsole, followed by the letter for the requested command.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700172
Jeff Dike4c9e1382007-10-16 01:26:54 -0700173 The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
174 unless you really know what this hack does.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176config SMP
177 bool "Symmetric multi-processing support (EXPERIMENTAL)"
178 default n
Jeff Dike02bff1f2008-02-04 22:30:41 -0800179 depends on BROKEN
Linus Torvalds1da177e2005-04-16 15:20:36 -0700180 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700181 This option enables UML SMP support.
182 It is NOT related to having a real SMP box. Not directly, at least.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700183
Jeff Dike4c9e1382007-10-16 01:26:54 -0700184 UML implements virtual SMP by allowing as many processes to run
185 simultaneously on the host as there are virtual processors configured.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186
Jeff Dike4c9e1382007-10-16 01:26:54 -0700187 Obviously, if the host is a uniprocessor, those processes will
188 timeshare, but, inside UML, will appear to be running simultaneously.
189 If the host is a multiprocessor, then UML processes may run
190 simultaneously, depending on the host scheduler.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191
Jeff Dike4c9e1382007-10-16 01:26:54 -0700192 This, however, is supported only in TT mode. So, if you use the SKAS
193 patch on your host, switching to TT mode and enabling SMP usually
194 gives you worse performances.
195 Also, since the support for SMP has been under-developed, there could
196 be some bugs being exposed by enabling SMP.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700197
Jeff Dike4c9e1382007-10-16 01:26:54 -0700198 If you don't know what to do, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700199
200config NR_CPUS
201 int "Maximum number of CPUs (2-32)"
202 range 2 32
203 depends on SMP
204 default "32"
205
206config NEST_LEVEL
207 int "Nesting level"
208 default "0"
209 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700210 This is set to the number of layers of UMLs that this UML will be run
211 in. Normally, this is zero, meaning that it will run directly on the
212 host. Setting it to one will build a UML that can run inside a UML
213 that is running on the host. Generally, if you intend this UML to run
214 inside another UML, set CONFIG_NEST_LEVEL to one more than the host
215 UML.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217config HIGHMEM
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800218 bool "Highmem support (EXPERIMENTAL)"
219 depends on !64BIT && EXPERIMENTAL
220 default n
221 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700222 This was used to allow UML to run with big amounts of memory.
223 Currently it is unstable, so if unsure say N.
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800224
Jeff Dike4c9e1382007-10-16 01:26:54 -0700225 To use big amounts of memory, it is recommended enable static
226 linking (i.e. CONFIG_STATIC_LINK) - this should allow the
227 guest to use up to 2.75G of memory.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700228
229config KERNEL_STACK_ORDER
230 int "Kernel stack size order"
Jeff Dike02239c22007-05-10 22:22:35 -0700231 default 1 if 64BIT
Jeff Dikee80ad9b2007-06-08 13:46:49 -0700232 range 1 10 if 64BIT
Jeff Dike02239c22007-05-10 22:22:35 -0700233 default 0 if !64BIT
Linus Torvalds1da177e2005-04-16 15:20:36 -0700234 help
Jeff Dike4c9e1382007-10-16 01:26:54 -0700235 This option determines the size of UML kernel stacks. They will
236 be 1 << order pages. The default is OK unless you're running Valgrind
237 on UML, in which case, set this to 3.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700238
Linus Torvalds1da177e2005-04-16 15:20:36 -0700239endmenu
240
241source "init/Kconfig"
242
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800243source "drivers/block/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700244
Jeff Dike08b178e2005-09-03 15:57:12 -0700245source "arch/um/Kconfig.char"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700246
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800247source "drivers/base/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700248
Paolo 'Blaisorblade' Giarrussoce2d2ae2006-01-18 17:42:59 -0800249source "net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700250
Jeff Dike08b178e2005-09-03 15:57:12 -0700251source "arch/um/Kconfig.net"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700252
Sam Ravnborgd5950b42005-07-11 21:03:49 -0700253source "drivers/net/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700254
Paolo 'Blaisorblade' Giarrusso76c842d2005-12-18 17:50:37 +0100255source "drivers/connector/Kconfig"
256
Linus Torvalds1da177e2005-04-16 15:20:36 -0700257source "fs/Kconfig"
258
259source "security/Kconfig"
260
261source "crypto/Kconfig"
262
263source "lib/Kconfig"
264
Peter Zijlstra0ff56382007-05-09 02:33:20 -0700265source "drivers/scsi/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700266
267source "drivers/md/Kconfig"
268
269if BROKEN
270 source "drivers/mtd/Kconfig"
271endif
272
273#This is just to shut up some Kconfig warnings, so no prompt.
274config INPUT
275 bool
276 default n
277
Linus Torvalds1da177e2005-04-16 15:20:36 -0700278source "arch/um/Kconfig.debug"