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 | |
cb2c7d1a | 8 | select ARCH_EPHEMERAL_INODES |
ba38961a | 9 | select ARCH_HAS_FORTIFY_SOURCE |
2419ac32 | 10 | select ARCH_HAS_GCOV_PROFILE_ALL |
f163977d | 11 | select ARCH_HAS_KCOV |
e6226997 AB |
12 | select ARCH_HAS_STRNCPY_FROM_USER |
13 | select ARCH_HAS_STRNLEN_USER | |
87a4c375 | 14 | select ARCH_NO_PREEMPT |
f163977d | 15 | select HAVE_ARCH_AUDITSYSCALL |
5b301409 PA |
16 | select HAVE_ARCH_KASAN if X86_64 |
17 | select HAVE_ARCH_KASAN_VMALLOC if HAVE_ARCH_KASAN | |
f163977d | 18 | select HAVE_ARCH_SECCOMP_FILTER |
2ff2b7ec | 19 | select HAVE_ASM_MODVERSIONS |
f163977d | 20 | select HAVE_UID16 |
f163977d | 21 | select HAVE_DEBUG_KMEMLEAK |
0d76433c | 22 | select HAVE_DEBUG_BUGVERBOSE |
68f5d3f3 | 23 | select NO_DMA if !UML_DMA_EMULATION |
b31297f0 | 24 | select OF_EARLY_FLATTREE if OF |
f163977d CH |
25 | select GENERIC_IRQ_SHOW |
26 | select GENERIC_CPU_DEVICES | |
f163977d | 27 | select HAVE_GCC_PLUGINS |
83e913f5 PF |
28 | select ARCH_SUPPORTS_LTO_CLANG |
29 | select ARCH_SUPPORTS_LTO_CLANG_THIN | |
4aae683f | 30 | select TRACE_IRQFLAGS_SUPPORT |
f163977d | 31 | select TTY # Needed for line.c |
bc5c49d7 | 32 | select HAVE_ARCH_VMAP_STACK |
0438aadf | 33 | select HAVE_RUST if X86_64 |
f163977d CH |
34 | |
35 | config MMU | |
36 | bool | |
37 | default y | |
38 | ||
68f5d3f3 JB |
39 | config UML_DMA_EMULATION |
40 | bool | |
41 | ||
f163977d | 42 | config NO_IOMEM |
0bbadafd | 43 | bool "disable IOMEM" if EXPERT |
68f5d3f3 | 44 | depends on !INDIRECT_IOMEM |
0bbadafd JB |
45 | default y |
46 | ||
68f5d3f3 JB |
47 | config UML_IOMEM_EMULATION |
48 | bool | |
49 | select INDIRECT_IOMEM | |
50 | select GENERIC_PCI_IOMAP | |
51 | select GENERIC_IOMAP | |
52 | select NO_GENERIC_PCI_IOPORT_MAP | |
53 | ||
0bbadafd | 54 | config NO_IOPORT_MAP |
f163977d CH |
55 | def_bool y |
56 | ||
57 | config ISA | |
58 | bool | |
59 | ||
60 | config SBUS | |
61 | bool | |
62 | ||
f163977d CH |
63 | config LOCKDEP_SUPPORT |
64 | bool | |
65 | default y | |
66 | ||
67 | config STACKTRACE_SUPPORT | |
68 | bool | |
69 | default y | |
70 | select STACKTRACE | |
71 | ||
72 | config GENERIC_CALIBRATE_DELAY | |
73 | bool | |
74 | default y | |
75 | ||
76 | config HZ | |
77 | int | |
78 | default 100 | |
79 | ||
80 | config NR_CPUS | |
81 | int | |
82 | range 1 1 | |
83 | default 1 | |
84 | ||
d8fb32f4 AI |
85 | config ARCH_HAS_CACHE_LINE_SIZE |
86 | def_bool y | |
87 | ||
79b05c1f | 88 | source "arch/$(HEADER_ARCH)/um/Kconfig" |
f163977d | 89 | |
730586ff | 90 | config MAY_HAVE_RUNTIME_DEPS |
dec87e20 | 91 | bool |
33631793 | 92 | |
f163977d CH |
93 | config STATIC_LINK |
94 | bool "Force a static link" | |
730586ff | 95 | depends on CC_CAN_LINK_STATIC_NO_RUNTIME_DEPS || !MAY_HAVE_RUNTIME_DEPS |
f163977d CH |
96 | help |
97 | This option gives you the ability to force a static link of UML. | |
98 | Normally, UML is linked as a shared binary. This is inconvenient for | |
99 | use in a chroot jail. So, if you intend to run UML inside a chroot, | |
100 | you probably want to say Y here. | |
101 | Additionally, this option enables using higher memory spaces (up to | |
102 | 2.75G) for UML. | |
103 | ||
33631793 BH |
104 | NOTE: This option is incompatible with some networking features which |
105 | depend on features that require being dynamically loaded (like NSS). | |
106 | ||
f163977d CH |
107 | config LD_SCRIPT_STATIC |
108 | bool | |
109 | default y | |
110 | depends on STATIC_LINK | |
111 | ||
112 | config LD_SCRIPT_DYN | |
113 | bool | |
114 | default y | |
115 | depends on !LD_SCRIPT_STATIC | |
f163977d | 116 | |
386093c6 JB |
117 | config LD_SCRIPT_DYN_RPATH |
118 | bool "set rpath in the binary" if EXPERT | |
119 | default y | |
120 | depends on LD_SCRIPT_DYN | |
121 | help | |
122 | Add /lib (and /lib64 for 64-bit) to the linux binary's rpath | |
123 | explicitly. | |
124 | ||
125 | You may need to turn this off if compiling for nix systems | |
126 | that have their libraries in random /nix directories and | |
127 | might otherwise unexpected use libraries from /lib or /lib64 | |
128 | instead of the desired ones. | |
129 | ||
f163977d CH |
130 | config HOSTFS |
131 | tristate "Host filesystem" | |
132 | help | |
37606596 EWI |
133 | While the User-Mode Linux port uses its own root file system for |
134 | booting and normal file access, this module lets the UML user | |
135 | access files stored on the host. It does not require any | |
136 | network connection between the Host and UML. An example use of | |
137 | this might be: | |
f163977d | 138 | |
37606596 | 139 | mount none /tmp/fromhost -t hostfs -o /tmp/umlshare |
f163977d | 140 | |
37606596 EWI |
141 | where /tmp/fromhost is an empty directory inside UML and |
142 | /tmp/umlshare is a directory on the host with files the UML user | |
143 | wishes to access. | |
f163977d | 144 | |
37606596 EWI |
145 | For more information, see |
146 | <http://user-mode-linux.sourceforge.net/hostfs.html>. | |
f163977d | 147 | |
37606596 EWI |
148 | If you'd like to be able to work with files stored on the host, |
149 | say Y or M here; otherwise say N. | |
f163977d CH |
150 | |
151 | config MCONSOLE | |
152 | bool "Management console" | |
153 | depends on PROC_FS | |
154 | default y | |
155 | help | |
37606596 EWI |
156 | The user mode linux management console is a low-level interface to |
157 | the kernel, somewhat like the i386 SysRq interface. Since there is | |
158 | a full-blown operating system running under every user mode linux | |
159 | instance, there is much greater flexibility possible than with the | |
160 | SysRq mechanism. | |
161 | ||
162 | If you answer 'Y' to this option, to use this feature, you need the | |
163 | mconsole client (called uml_mconsole) which is present in CVS in | |
164 | 2.4.5-9um and later (path /tools/mconsole), and is also in the | |
165 | distribution RPM package in 2.4.6 and later. | |
166 | ||
167 | It is safe to say 'Y' here. | |
f163977d CH |
168 | |
169 | config MAGIC_SYSRQ | |
170 | bool "Magic SysRq key" | |
171 | depends on MCONSOLE | |
172 | help | |
173 | If you say Y here, you will have some control over the system even | |
174 | if the system crashes for example during kernel debugging (e.g., you | |
175 | will be able to flush the buffer cache to disk, reboot the system | |
176 | immediately or dump some status information). A key for each of the | |
177 | possible requests is provided. | |
178 | ||
179 | This is the feature normally accomplished by pressing a key | |
180 | while holding SysRq (Alt+PrintScreen). | |
181 | ||
182 | On UML, this is accomplished by sending a "sysrq" command with | |
183 | mconsole, followed by the letter for the requested command. | |
184 | ||
185 | The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y | |
186 | unless you really know what this hack does. | |
187 | ||
188 | config KERNEL_STACK_ORDER | |
189 | int "Kernel stack size order" | |
5c2ffce1 AI |
190 | default 2 if 64BIT |
191 | range 2 10 if 64BIT | |
192 | default 1 if !64BIT | |
f163977d CH |
193 | help |
194 | This option determines the size of UML kernel stacks. They will | |
195 | be 1 << order pages. The default is OK unless you're running Valgrind | |
196 | on UML, in which case, set this to 3. | |
5c2ffce1 AI |
197 | It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on |
198 | older (pre-2017) CPUs. It is not recommended on newer CPUs due to the | |
199 | increase in the size of the state which needs to be saved when handling | |
7d8093a5 | 200 | signals. |
f163977d CH |
201 | |
202 | config MMAPPER | |
203 | tristate "iomem emulation driver" | |
204 | help | |
205 | This driver allows a host file to be used as emulated IO memory inside | |
206 | UML. | |
207 | ||
f163977d CH |
208 | config PGTABLE_LEVELS |
209 | int | |
210 | default 3 if 3_LEVEL_PGTABLES | |
211 | default 2 | |
212 | ||
06503870 JB |
213 | config UML_TIME_TRAVEL_SUPPORT |
214 | bool | |
215 | prompt "Support time-travel mode (e.g. for test execution)" | |
d65197ad JB |
216 | # inf-cpu mode is incompatible with the benchmarking |
217 | depends on !RAID6_PQ_BENCHMARK | |
4b786e24 | 218 | depends on !SMP |
06503870 JB |
219 | help |
220 | Enable this option to support time travel inside the UML instance. | |
221 | ||
222 | After enabling this option, two modes are accessible at runtime | |
223 | (selected by the kernel command line), see the kernel's command- | |
224 | line help for more details. | |
225 | ||
226 | It is safe to say Y, but you probably don't need this. | |
227 | ||
5b301409 PA |
228 | config KASAN_SHADOW_OFFSET |
229 | hex | |
230 | depends on KASAN | |
231 | default 0x100000000000 | |
232 | help | |
233 | This is the offset at which the ~16TB of shadow memory is | |
234 | mapped and used by KASAN for memory debugging. This can be any | |
235 | address that has at least KASAN_SHADOW_SIZE (total address space divided | |
236 | by 8) amount of space so that the KASAN shadow memory does not conflict | |
237 | with anything. The default is 0x100000000000, which works even if mem is | |
238 | set to a large value. On low-memory systems, try 0x7fff8000, as it fits | |
239 | into the immediate of most instructions, improving performance. | |
240 | ||
f163977d CH |
241 | endmenu |
242 | ||
9bea1801 | 243 | source "arch/um/drivers/Kconfig" |
92dcd3d3 JB |
244 | |
245 | config ARCH_SUSPEND_POSSIBLE | |
246 | def_bool y | |
247 | ||
f09c3fcf PF |
248 | menu "Power management options" |
249 | ||
92dcd3d3 | 250 | source "kernel/power/Kconfig" |
f09c3fcf PF |
251 | |
252 | endmenu |