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