xref: /linux/arch/um/Kconfig (revision 7fcfa9a2d9a7c1b428d61992c2deaa9e37a437b0)
1# SPDX-License-Identifier: GPL-2.0
2
3menu "UML-specific options"
4
5config UML
6	bool
7	default y
8	select ARCH_HAS_KCOV
9	select ARCH_NO_PREEMPT
10	select HAVE_ARCH_AUDITSYSCALL
11	select HAVE_ARCH_SECCOMP_FILTER
12	select HAVE_UID16
13	select HAVE_FUTEX_CMPXCHG if FUTEX
14	select HAVE_DEBUG_KMEMLEAK
15	select HAVE_DEBUG_BUGVERBOSE
16	select GENERIC_IRQ_SHOW
17	select GENERIC_CPU_DEVICES
18	select GENERIC_CLOCKEVENTS
19	select HAVE_GCC_PLUGINS
20	select TTY # Needed for line.c
21
22config MMU
23	bool
24	default y
25
26config NO_IOMEM
27	def_bool y
28
29config ISA
30	bool
31
32config SBUS
33	bool
34
35config TRACE_IRQFLAGS_SUPPORT
36	bool
37	default y
38
39config LOCKDEP_SUPPORT
40	bool
41	default y
42
43config STACKTRACE_SUPPORT
44	bool
45	default y
46	select STACKTRACE
47
48config GENERIC_CALIBRATE_DELAY
49	bool
50	default y
51
52config HZ
53	int
54	default 100
55
56config NR_CPUS
57	int
58	range 1 1
59	default 1
60
61source "arch/$(HEADER_ARCH)/um/Kconfig"
62
63config STATIC_LINK
64	bool "Force a static link"
65	default n
66	help
67	  This option gives you the ability to force a static link of UML.
68	  Normally, UML is linked as a shared binary.  This is inconvenient for
69	  use in a chroot jail.  So, if you intend to run UML inside a chroot,
70	  you probably want to say Y here.
71	  Additionally, this option enables using higher memory spaces (up to
72	  2.75G) for UML.
73
74config LD_SCRIPT_STATIC
75	bool
76	default y
77	depends on STATIC_LINK
78
79config LD_SCRIPT_DYN
80	bool
81	default y
82	depends on !LD_SCRIPT_STATIC
83        select MODULE_REL_CRCS if MODVERSIONS
84
85config HOSTFS
86	tristate "Host filesystem"
87	help
88          While the User-Mode Linux port uses its own root file system for
89          booting and normal file access, this module lets the UML user
90          access files stored on the host.  It does not require any
91          network connection between the Host and UML.  An example use of
92          this might be:
93
94          mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
95
96          where /tmp/fromhost is an empty directory inside UML and
97          /tmp/umlshare is a directory on the host with files the UML user
98          wishes to access.
99
100          For more information, see
101          <http://user-mode-linux.sourceforge.net/hostfs.html>.
102
103          If you'd like to be able to work with files stored on the host,
104          say Y or M here; otherwise say N.
105
106config MCONSOLE
107	bool "Management console"
108	depends on PROC_FS
109	default y
110	help
111          The user mode linux management console is a low-level interface to
112          the kernel, somewhat like the i386 SysRq interface.  Since there is
113          a full-blown operating system running under every user mode linux
114          instance, there is much greater flexibility possible than with the
115          SysRq mechanism.
116
117          If you answer 'Y' to this option, to use this feature, you need the
118          mconsole client (called uml_mconsole) which is present in CVS in
119          2.4.5-9um and later (path /tools/mconsole), and is also in the
120          distribution RPM package in 2.4.6 and later.
121
122          It is safe to say 'Y' here.
123
124config MAGIC_SYSRQ
125	bool "Magic SysRq key"
126	depends on MCONSOLE
127	help
128	  If you say Y here, you will have some control over the system even
129	  if the system crashes for example during kernel debugging (e.g., you
130	  will be able to flush the buffer cache to disk, reboot the system
131	  immediately or dump some status information). A key for each of the
132	  possible requests is provided.
133
134	  This is the feature normally accomplished by pressing a key
135	  while holding SysRq (Alt+PrintScreen).
136
137	  On UML, this is accomplished by sending a "sysrq" command with
138	  mconsole, followed by the letter for the requested command.
139
140	  The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y
141	  unless you really know what this hack does.
142
143config KERNEL_STACK_ORDER
144	int "Kernel stack size order"
145	default 1 if 64BIT
146	range 1 10 if 64BIT
147	default 0 if !64BIT
148	help
149	  This option determines the size of UML kernel stacks.  They will
150	  be 1 << order pages.  The default is OK unless you're running Valgrind
151	  on UML, in which case, set this to 3.
152
153config MMAPPER
154	tristate "iomem emulation driver"
155	help
156	  This driver allows a host file to be used as emulated IO memory inside
157	  UML.
158
159config NO_DMA
160	def_bool y
161
162config PGTABLE_LEVELS
163	int
164	default 3 if 3_LEVEL_PGTABLES
165	default 2
166
167config SECCOMP
168	def_bool y
169	prompt "Enable seccomp to safely compute untrusted bytecode"
170	---help---
171	  This kernel feature is useful for number crunching applications
172	  that may need to compute untrusted bytecode during their
173	  execution. By using pipes or other transports made available to
174	  the process as file descriptors supporting the read/write
175	  syscalls, it's possible to isolate those applications in
176	  their own address space using seccomp. Once seccomp is
177	  enabled via prctl(PR_SET_SECCOMP), it cannot be disabled
178	  and the task is only allowed to execute a few safe syscalls
179	  defined by each seccomp mode.
180
181	  If unsure, say Y.
182
183endmenu
184
185source "arch/um/drivers/Kconfig"
186