Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
[linux-3.10.git] / 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 subsystem
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 config GENERIC_TIME
59         bool
60         default y
61
62 config GENERIC_CLOCKEVENTS
63         bool
64         default y
65
66 # Used in kernel/irq/manage.c and include/linux/irq.h
67 config IRQ_RELEASE_METHOD
68         bool
69         default y
70
71 menu "UML-specific options"
72
73 config STATIC_LINK
74         bool "Force a static link"
75         default n
76         help
77           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.
83
84 source "arch/um/Kconfig.arch"
85 source "mm/Kconfig"
86 source "kernel/time/Kconfig"
87
88 config LD_SCRIPT_STATIC
89         bool
90         default y
91         depends on STATIC_LINK
92
93 config LD_SCRIPT_DYN
94         bool
95         default y
96         depends on !LD_SCRIPT_STATIC
97
98 config NET
99         bool "Networking support"
100         help
101           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>.
109
110           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>.
113
114
115 source "fs/Kconfig.binfmt"
116
117 config HOSTFS
118         tristate "Host filesystem"
119         help
120           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:
125
126           mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
127
128           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.
131
132           For more information, see
133           <http://user-mode-linux.sourceforge.net/hostfs.html>.
134
135           If you'd like to be able to work with files stored on the host,
136           say Y or M here; otherwise say N.
137
138 config HPPFS
139         tristate "HoneyPot ProcFS (EXPERIMENTAL)"
140         depends on EXPERIMENTAL
141         help
142           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.
147
148           See <http://user-mode-linux.sf.net/hppfs.html> for more information.
149
150           You only need this if you are setting up a UML honeypot.  Otherwise,
151           it is safe to say 'N' here.
152
153 config MCONSOLE
154         bool "Management console"
155         default y
156         help
157           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.
162
163           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.
167
168           It is safe to say 'Y' here.
169
170 config MAGIC_SYSRQ
171         bool "Magic SysRq key"
172         depends on MCONSOLE
173         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.
179
180           This is the feature normally accomplished by pressing a key
181           while holding SysRq (Alt+PrintScreen).
182
183           On UML, this is accomplished by sending a "sysrq" command with
184           mconsole, followed by the letter for the requested command.
185
186           The keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
187           unless you really know what this hack does.
188
189 config SMP
190         bool "Symmetric multi-processing support (EXPERIMENTAL)"
191         default n
192         #SMP_BROKEN is for x86_64.
193         depends on EXPERIMENTAL && (!SMP_BROKEN || (BROKEN && SMP_BROKEN))
194         help
195           This option enables UML SMP support.
196           It is NOT related to having a real SMP box. Not directly, at least.
197
198           UML implements virtual SMP by allowing as many processes to run
199           simultaneously on the host as there are virtual processors configured.
200
201           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.
205
206           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.
211
212           If you don't know what to do, say N.
213
214 config NR_CPUS
215         int "Maximum number of CPUs (2-32)"
216         range 2 32
217         depends on SMP
218         default "32"
219
220 config NEST_LEVEL
221         int "Nesting level"
222         default "0"
223         help
224           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.
230
231 config HIGHMEM
232         bool "Highmem support (EXPERIMENTAL)"
233         depends on !64BIT && EXPERIMENTAL
234         default n
235         help
236           This was used to allow UML to run with big amounts of memory.
237           Currently it is unstable, so if unsure say N.
238
239           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.
242
243 config KERNEL_STACK_ORDER
244         int "Kernel stack size order"
245         default 1 if 64BIT
246         range 1 10 if 64BIT
247         default 0 if !64BIT
248         help
249           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.
252
253 endmenu
254
255 source "init/Kconfig"
256
257 source "drivers/block/Kconfig"
258
259 source "arch/um/Kconfig.char"
260
261 source "drivers/base/Kconfig"
262
263 source "net/Kconfig"
264
265 source "arch/um/Kconfig.net"
266
267 source "drivers/net/Kconfig"
268
269 source "drivers/connector/Kconfig"
270
271 source "fs/Kconfig"
272
273 source "security/Kconfig"
274
275 source "crypto/Kconfig"
276
277 source "lib/Kconfig"
278
279 source "drivers/scsi/Kconfig"
280
281 source "drivers/md/Kconfig"
282
283 if BROKEN
284         source "drivers/mtd/Kconfig"
285 endif
286
287 #This is just to shut up some Kconfig warnings, so no prompt.
288 config INPUT
289         bool
290         default n
291
292 source "arch/um/Kconfig.debug"