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