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