xref: /openbmc/linux/arch/um/Kconfig (revision 643d1f7f)
1config DEFCONFIG_LIST
2	string
3	option defconfig_list
4	default "arch/$ARCH/defconfig"
5
6# UML uses the generic IRQ subsystem
7config GENERIC_HARDIRQS
8	bool
9	default y
10
11config UML
12	bool
13	default y
14
15config MMU
16	bool
17	default y
18
19config NO_IOMEM
20	def_bool y
21
22mainmenu "Linux/Usermode Kernel Configuration"
23
24config ISA
25	bool
26
27config SBUS
28	bool
29
30config PCI
31	bool
32
33config PCMCIA
34	bool
35
36# 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
47	default n
48
49config GENERIC_CALIBRATE_DELAY
50	bool
51	default y
52
53config GENERIC_BUG
54	bool
55	default y
56	depends on BUG
57
58config GENERIC_TIME
59	bool
60	default y
61
62config GENERIC_CLOCKEVENTS
63	bool
64	default y
65
66# Used in kernel/irq/manage.c and include/linux/irq.h
67config IRQ_RELEASE_METHOD
68	bool
69	default y
70
71menu "UML-specific options"
72
73config 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
84source "arch/um/Kconfig.arch"
85source "mm/Kconfig"
86source "kernel/time/Kconfig"
87
88config LD_SCRIPT_STATIC
89	bool
90	default y
91	depends on STATIC_LINK
92
93config LD_SCRIPT_DYN
94	bool
95	default y
96	depends on !LD_SCRIPT_STATIC
97
98config 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
115source "fs/Kconfig.binfmt"
116
117config 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
138config 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
153config 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
170config 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
189config 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
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
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
231config 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
243config 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
253endmenu
254
255source "init/Kconfig"
256
257source "drivers/block/Kconfig"
258
259source "arch/um/Kconfig.char"
260
261source "drivers/base/Kconfig"
262
263source "net/Kconfig"
264
265source "arch/um/Kconfig.net"
266
267source "drivers/net/Kconfig"
268
269source "drivers/connector/Kconfig"
270
271source "fs/Kconfig"
272
273source "security/Kconfig"
274
275source "crypto/Kconfig"
276
277source "lib/Kconfig"
278
279source "drivers/scsi/Kconfig"
280
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
292source "kernel/Kconfig.instrumentation"
293
294source "arch/um/Kconfig.debug"
295