hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/um/Kconfig
....@@ -5,17 +5,22 @@
55 config UML
66 bool
77 default y
8
+ select ARCH_HAS_CPU_FINALIZE_INIT
89 select ARCH_HAS_KCOV
910 select ARCH_NO_PREEMPT
1011 select HAVE_ARCH_AUDITSYSCALL
1112 select HAVE_ARCH_SECCOMP_FILTER
13
+ select HAVE_ASM_MODVERSIONS
1214 select HAVE_UID16
1315 select HAVE_FUTEX_CMPXCHG if FUTEX
1416 select HAVE_DEBUG_KMEMLEAK
17
+ select HAVE_DEBUG_BUGVERBOSE
18
+ select NO_DMA
1519 select GENERIC_IRQ_SHOW
1620 select GENERIC_CPU_DEVICES
1721 select GENERIC_CLOCKEVENTS
1822 select HAVE_GCC_PLUGINS
23
+ select SET_FS
1924 select TTY # Needed for line.c
2025
2126 config MMU
....@@ -29,12 +34,6 @@
2934 bool
3035
3136 config SBUS
32
- bool
33
-
34
-config PCI
35
- bool
36
-
37
-config PCMCIA
3837 bool
3938
4039 config TRACE_IRQFLAGS_SUPPORT
....@@ -65,9 +64,12 @@
6564
6665 source "arch/$(HEADER_ARCH)/um/Kconfig"
6766
67
+config MAY_HAVE_RUNTIME_DEPS
68
+ bool
69
+
6870 config STATIC_LINK
6971 bool "Force a static link"
70
- default n
72
+ depends on CC_CAN_LINK_STATIC_NO_RUNTIME_DEPS || !MAY_HAVE_RUNTIME_DEPS
7173 help
7274 This option gives you the ability to force a static link of UML.
7375 Normally, UML is linked as a shared binary. This is inconvenient for
....@@ -75,6 +77,9 @@
7577 you probably want to say Y here.
7678 Additionally, this option enables using higher memory spaces (up to
7779 2.75G) for UML.
80
+
81
+ NOTE: This option is incompatible with some networking features which
82
+ depend on features that require being dynamically loaded (like NSS).
7883
7984 config LD_SCRIPT_STATIC
8085 bool
....@@ -85,46 +90,46 @@
8590 bool
8691 default y
8792 depends on !LD_SCRIPT_STATIC
88
- select MODULE_REL_CRCS if MODVERSIONS
93
+ select MODULE_REL_CRCS if MODVERSIONS
8994
9095 config HOSTFS
9196 tristate "Host filesystem"
9297 help
93
- While the User-Mode Linux port uses its own root file system for
94
- booting and normal file access, this module lets the UML user
95
- access files stored on the host. It does not require any
96
- network connection between the Host and UML. An example use of
97
- this might be:
98
+ While the User-Mode Linux port uses its own root file system for
99
+ booting and normal file access, this module lets the UML user
100
+ access files stored on the host. It does not require any
101
+ network connection between the Host and UML. An example use of
102
+ this might be:
98103
99
- mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
104
+ mount none /tmp/fromhost -t hostfs -o /tmp/umlshare
100105
101
- where /tmp/fromhost is an empty directory inside UML and
102
- /tmp/umlshare is a directory on the host with files the UML user
103
- wishes to access.
106
+ where /tmp/fromhost is an empty directory inside UML and
107
+ /tmp/umlshare is a directory on the host with files the UML user
108
+ wishes to access.
104109
105
- For more information, see
106
- <http://user-mode-linux.sourceforge.net/hostfs.html>.
110
+ For more information, see
111
+ <http://user-mode-linux.sourceforge.net/hostfs.html>.
107112
108
- If you'd like to be able to work with files stored on the host,
109
- say Y or M here; otherwise say N.
113
+ If you'd like to be able to work with files stored on the host,
114
+ say Y or M here; otherwise say N.
110115
111116 config MCONSOLE
112117 bool "Management console"
113118 depends on PROC_FS
114119 default y
115120 help
116
- The user mode linux management console is a low-level interface to
117
- the kernel, somewhat like the i386 SysRq interface. Since there is
118
- a full-blown operating system running under every user mode linux
119
- instance, there is much greater flexibility possible than with the
120
- SysRq mechanism.
121
+ The user mode linux management console is a low-level interface to
122
+ the kernel, somewhat like the i386 SysRq interface. Since there is
123
+ a full-blown operating system running under every user mode linux
124
+ instance, there is much greater flexibility possible than with the
125
+ SysRq mechanism.
121126
122
- If you answer 'Y' to this option, to use this feature, you need the
123
- mconsole client (called uml_mconsole) which is present in CVS in
124
- 2.4.5-9um and later (path /tools/mconsole), and is also in the
125
- distribution RPM package in 2.4.6 and later.
127
+ If you answer 'Y' to this option, to use this feature, you need the
128
+ mconsole client (called uml_mconsole) which is present in CVS in
129
+ 2.4.5-9um and later (path /tools/mconsole), and is also in the
130
+ distribution RPM package in 2.4.6 and later.
126131
127
- It is safe to say 'Y' here.
132
+ It is safe to say 'Y' here.
128133
129134 config MAGIC_SYSRQ
130135 bool "Magic SysRq key"
....@@ -147,13 +152,17 @@
147152
148153 config KERNEL_STACK_ORDER
149154 int "Kernel stack size order"
150
- default 1 if 64BIT
151
- range 1 10 if 64BIT
152
- default 0 if !64BIT
155
+ default 2 if 64BIT
156
+ range 2 10 if 64BIT
157
+ default 1 if !64BIT
153158 help
154159 This option determines the size of UML kernel stacks. They will
155160 be 1 << order pages. The default is OK unless you're running Valgrind
156161 on UML, in which case, set this to 3.
162
+ It is possible to reduce the stack to 1 for 64BIT and 0 for 32BIT on
163
+ older (pre-2017) CPUs. It is not recommended on newer CPUs due to the
164
+ increase in the size of the state which needs to be saved when handling
165
+ signals.
157166
158167 config MMAPPER
159168 tristate "iomem emulation driver"
....@@ -161,30 +170,31 @@
161170 This driver allows a host file to be used as emulated IO memory inside
162171 UML.
163172
164
-config NO_DMA
165
- def_bool y
166
-
167173 config PGTABLE_LEVELS
168174 int
169175 default 3 if 3_LEVEL_PGTABLES
170176 default 2
171177
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.
178
+config UML_TIME_TRAVEL_SUPPORT
179
+ bool
180
+ prompt "Support time-travel mode (e.g. for test execution)"
181
+ # inf-cpu mode is incompatible with the benchmarking
182
+ depends on !RAID6_PQ_BENCHMARK
183
+ depends on !SMP
184
+ help
185
+ Enable this option to support time travel inside the UML instance.
185186
186
- If unsure, say Y.
187
+ After enabling this option, two modes are accessible at runtime
188
+ (selected by the kernel command line), see the kernel's command-
189
+ line help for more details.
190
+
191
+ It is safe to say Y, but you probably don't need this.
187192
188193 endmenu
189194
190195 source "arch/um/drivers/Kconfig"
196
+
197
+config ARCH_SUSPEND_POSSIBLE
198
+ def_bool y
199
+
200
+source "kernel/power/Kconfig"