Commit | Line | Data |
---|---|---|
79b05c1f CH |
1 | # SPDX-License-Identifier: GPL-2.0 |
2 | ||
f163977d CH |
3 | menu "UML-specific options" |
4 | ||
5 | config UML | |
6 | bool | |
7 | default y | |
8 | select ARCH_HAS_KCOV | |
87a4c375 | 9 | select ARCH_NO_PREEMPT |
f163977d CH |
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 | |
0d76433c | 15 | select HAVE_DEBUG_BUGVERBOSE |
f163977d CH |
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 | ||
22 | config MMU | |
23 | bool | |
24 | default y | |
25 | ||
26 | config NO_IOMEM | |
27 | def_bool y | |
28 | ||
29 | config ISA | |
30 | bool | |
31 | ||
32 | config SBUS | |
33 | bool | |
34 | ||
f163977d CH |
35 | config TRACE_IRQFLAGS_SUPPORT |
36 | bool | |
37 | default y | |
38 | ||
39 | config LOCKDEP_SUPPORT | |
40 | bool | |
41 | default y | |
42 | ||
43 | config STACKTRACE_SUPPORT | |
44 | bool | |
45 | default y | |
46 | select STACKTRACE | |
47 | ||
48 | config GENERIC_CALIBRATE_DELAY | |
49 | bool | |
50 | default y | |
51 | ||
52 | config HZ | |
53 | int | |
54 | default 100 | |
55 | ||
56 | config NR_CPUS | |
57 | int | |
58 | range 1 1 | |
59 | default 1 | |
60 | ||
79b05c1f | 61 | source "arch/$(HEADER_ARCH)/um/Kconfig" |
f163977d CH |
62 | |
63 | config 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 | ||
f163977d CH |
74 | config LD_SCRIPT_STATIC |
75 | bool | |
76 | default y | |
77 | depends on STATIC_LINK | |
78 | ||
79 | config LD_SCRIPT_DYN | |
80 | bool | |
81 | default y | |
82 | depends on !LD_SCRIPT_STATIC | |
37606596 | 83 | select MODULE_REL_CRCS if MODVERSIONS |
f163977d | 84 | |
f163977d CH |
85 | config HOSTFS |
86 | tristate "Host filesystem" | |
87 | help | |
37606596 EWI |
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: | |
f163977d | 93 | |
37606596 | 94 | mount none /tmp/fromhost -t hostfs -o /tmp/umlshare |
f163977d | 95 | |
37606596 EWI |
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. | |
f163977d | 99 | |
37606596 EWI |
100 | For more information, see |
101 | <http://user-mode-linux.sourceforge.net/hostfs.html>. | |
f163977d | 102 | |
37606596 EWI |
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. | |
f163977d CH |
105 | |
106 | config MCONSOLE | |
107 | bool "Management console" | |
108 | depends on PROC_FS | |
109 | default y | |
110 | help | |
37606596 EWI |
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. | |
f163977d CH |
123 | |
124 | config 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 | ||
143 | config KERNEL_STACK_ORDER | |
144 | int "Kernel stack size order" | |
5c2ffce1 AI |
145 | default 2 if 64BIT |
146 | range 2 10 if 64BIT | |
147 | default 1 if !64BIT | |
f163977d CH |
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. | |
5c2ffce1 AI |
152 | It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on |
153 | older (pre-2017) CPUs. It is not recommended on newer CPUs due to the | |
154 | increase in the size of the state which needs to be saved when handling | |
155 | signals. | |
f163977d CH |
156 | |
157 | config MMAPPER | |
158 | tristate "iomem emulation driver" | |
159 | help | |
160 | This driver allows a host file to be used as emulated IO memory inside | |
161 | UML. | |
162 | ||
163 | config NO_DMA | |
164 | def_bool y | |
165 | ||
166 | config PGTABLE_LEVELS | |
167 | int | |
168 | default 3 if 3_LEVEL_PGTABLES | |
169 | default 2 | |
170 | ||
171 | config SECCOMP | |
172 | def_bool y | |
173 | prompt "Enable seccomp to safely compute untrusted bytecode" | |
174 | ---help--- | |
175 | This kernel feature is useful for number crunching applications | |
176 | that may need to compute untrusted bytecode during their | |
177 | execution. By using pipes or other transports made available to | |
178 | the process as file descriptors supporting the read/write | |
179 | syscalls, it's possible to isolate those applications in | |
180 | their own address space using seccomp. Once seccomp is | |
181 | enabled via prctl(PR_SET_SECCOMP), it cannot be disabled | |
182 | and the task is only allowed to execute a few safe syscalls | |
183 | defined by each seccomp mode. | |
184 | ||
185 | If unsure, say Y. | |
186 | ||
06503870 JB |
187 | config UML_TIME_TRAVEL_SUPPORT |
188 | bool | |
189 | prompt "Support time-travel mode (e.g. for test execution)" | |
190 | help | |
191 | Enable this option to support time travel inside the UML instance. | |
192 | ||
193 | After enabling this option, two modes are accessible at runtime | |
194 | (selected by the kernel command line), see the kernel's command- | |
195 | line help for more details. | |
196 | ||
197 | It is safe to say Y, but you probably don't need this. | |
198 | ||
f163977d CH |
199 | endmenu |
200 | ||
9bea1801 | 201 | source "arch/um/drivers/Kconfig" |