Skip to content

Commit fad7bdc

Browse files
committed
Merge tag 'for-linus-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml
Pull UML updates from Anton Ivanov: "I am sending this on behalf of Richard who is traveling. This contains the following changes for UML: - Fix for time travel mode - Disable CONFIG_CONSTRUCTORS again - A new command line option to have an non-raw serial line - Preparations to remove obsolete UML network drivers" * tag 'for-linus-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: Fix time-travel=inf-cpu with xor/raid6 Revert "um: Enable CONFIG_CONSTRUCTORS" um: Mark non-vector net transports as obsolete um: Add an option to make serial driver non-raw
2 parents a78416d + d65197a commit fad7bdc

File tree

10 files changed

+63
-44
lines changed

10 files changed

+63
-44
lines changed

arch/um/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ config SECCOMP
189189
config UML_TIME_TRAVEL_SUPPORT
190190
bool
191191
prompt "Support time-travel mode (e.g. for test execution)"
192+
# inf-cpu mode is incompatible with the benchmarking
193+
depends on !RAID6_PQ_BENCHMARK
192194
help
193195
Enable this option to support time travel inside the UML instance.
194196

arch/um/drivers/Kconfig

Lines changed: 41 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ config UML_NET
147147
make use of UML networking.
148148

149149
config UML_NET_ETHERTAP
150-
bool "Ethertap transport"
150+
bool "Ethertap transport (obsolete)"
151151
depends on UML_NET
152152
help
153153
The Ethertap User-Mode Linux network transport allows a single
@@ -167,14 +167,13 @@ config UML_NET_ETHERTAP
167167
has examples of the UML command line to use to enable Ethertap
168168
networking.
169169

170-
If you'd like to set up an IP network with the host and/or the
171-
outside world, say Y to this, the Daemon Transport and/or the
172-
Slip Transport. You'll need at least one of them, but may choose
173-
more than one without conflict. If you don't need UML networking,
174-
say N.
170+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
171+
migrate to UML_NET_VECTOR.
172+
173+
If unsure, say N.
175174

176175
config UML_NET_TUNTAP
177-
bool "TUN/TAP transport"
176+
bool "TUN/TAP transport (obsolete)"
178177
depends on UML_NET
179178
help
180179
The UML TUN/TAP network transport allows a UML instance to exchange
@@ -185,8 +184,13 @@ config UML_NET_TUNTAP
185184
To use this transport, your host kernel must have support for TUN/TAP
186185
devices, either built-in or as a module.
187186

187+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
188+
migrate to UML_NET_VECTOR.
189+
190+
If unsure, say N.
191+
188192
config UML_NET_SLIP
189-
bool "SLIP transport"
193+
bool "SLIP transport (obsolete)"
190194
depends on UML_NET
191195
help
192196
The slip User-Mode Linux network transport allows a running UML to
@@ -201,16 +205,13 @@ config UML_NET_SLIP
201205
has examples of the UML command line to use to enable slip
202206
networking, and details of a few quirks with it.
203207

204-
The Ethertap Transport is preferred over slip because of its
205-
limitations. If you prefer slip, however, say Y here. Otherwise
206-
choose the Multicast transport (to network multiple UMLs on
207-
multiple hosts), Ethertap (to network with the host and the
208-
outside world), and/or the Daemon transport (to network multiple
209-
UMLs on a single host). You may choose more than one without
210-
conflict. If you don't need UML networking, say N.
208+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
209+
migrate to UML_NET_VECTOR.
210+
211+
If unsure, say N.
211212

212213
config UML_NET_DAEMON
213-
bool "Daemon transport"
214+
bool "Daemon transport (obsolete)"
214215
depends on UML_NET
215216
help
216217
This User-Mode Linux network transport allows one or more running
@@ -225,13 +226,10 @@ config UML_NET_DAEMON
225226
has examples of the UML command line to use to enable Daemon
226227
networking.
227228

228-
If you'd like to set up a network with other UMLs on a single host,
229-
say Y. If you need a network between UMLs on multiple physical
230-
hosts, choose the Multicast Transport. To set up a network with
231-
the host and/or other IP machines, say Y to the Ethertap or Slip
232-
transports. You'll need at least one of them, but may choose
233-
more than one without conflict. If you don't need UML networking,
234-
say N.
229+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
230+
migrate to UML_NET_VECTOR.
231+
232+
If unsure, say N.
235233

236234
config UML_NET_VECTOR
237235
bool "Vector I/O high performance network devices"
@@ -245,7 +243,7 @@ config UML_NET_VECTOR
245243
drivers.
246244

247245
config UML_NET_VDE
248-
bool "VDE transport"
246+
bool "VDE transport (obsolete)"
249247
depends on UML_NET
250248
help
251249
This User-Mode Linux network transport allows one or more running
@@ -263,11 +261,13 @@ config UML_NET_VDE
263261
That site has a good overview of what VDE is and also examples
264262
of the UML command line to use to enable VDE networking.
265263

266-
If you need UML networking with VDE,
267-
say Y.
264+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
265+
migrate to UML_NET_VECTOR.
266+
267+
If unsure, say N.
268268

269269
config UML_NET_MCAST
270-
bool "Multicast transport"
270+
bool "Multicast transport (obsolete)"
271271
depends on UML_NET
272272
help
273273
This Multicast User-Mode Linux network transport allows multiple
@@ -284,15 +284,13 @@ config UML_NET_MCAST
284284
has examples of the UML command line to use to enable Multicast
285285
networking, and notes about the security of this approach.
286286

287-
If you need UMLs on multiple physical hosts to communicate as if
288-
they shared an Ethernet network, say Y. If you need to communicate
289-
with other IP machines, make sure you select one of the other
290-
transports (possibly in addition to Multicast; they're not
291-
exclusive). If you don't need to network UMLs say N to each of
292-
the transports.
287+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
288+
migrate to UML_NET_VECTOR.
289+
290+
If unsure, say N.
293291

294292
config UML_NET_PCAP
295-
bool "pcap transport"
293+
bool "pcap transport (obsolete)"
296294
depends on UML_NET
297295
help
298296
The pcap transport makes a pcap packet stream on the host look
@@ -304,11 +302,13 @@ config UML_NET_PCAP
304302
<http://user-mode-linux.sourceforge.net/old/networking.html> That site
305303
has examples of the UML command line to use to enable this option.
306304

307-
If you intend to use UML as a network monitor for the host, say
308-
Y here. Otherwise, say N.
305+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
306+
migrate to UML_NET_VECTOR.
307+
308+
If unsure, say N.
309309

310310
config UML_NET_SLIRP
311-
bool "SLiRP transport"
311+
bool "SLiRP transport (obsolete)"
312312
depends on UML_NET
313313
help
314314
The SLiRP User-Mode Linux network transport allows a running UML
@@ -328,9 +328,10 @@ config UML_NET_SLIRP
328328
that of a host behind a firewall that masquerades all network
329329
connections passing through it (but is less secure).
330330

331-
To use this you should first have slirp compiled somewhere
332-
accessible on the host, and have read its documentation. If you
333-
don't need UML networking, say N.
331+
NOTE: THIS TRANSPORT IS DEPRECATED AND WILL BE REMOVED SOON!!! Please
332+
migrate to UML_NET_VECTOR.
333+
334+
If unsure, say N.
334335

335336
Startup example: "eth0=slirp,FE:FD:01:02:03:04,/usr/local/bin/slirp"
336337

arch/um/drivers/chan_user.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
struct chan_opts {
1212
void (*const announce)(char *dev_name, int dev);
1313
char *xterm_title;
14-
const int raw;
14+
int raw;
1515
};
1616

1717
struct chan_ops {

arch/um/drivers/ssl.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,3 +196,11 @@ static int ssl_chan_setup(char *str)
196196

197197
__setup("ssl", ssl_chan_setup);
198198
__channel_help(ssl_chan_setup, "ssl");
199+
200+
static int ssl_non_raw_setup(char *str)
201+
{
202+
opts.raw = 0;
203+
return 1;
204+
}
205+
__setup("ssl-non-raw", ssl_non_raw_setup);
206+
__channel_help(ssl_non_raw_setup, "set serial lines to non-raw mode");

arch/um/include/asm/Kbuild

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,4 @@ generic-y += switch_to.h
2525
generic-y += topology.h
2626
generic-y += trace_clock.h
2727
generic-y += word-at-a-time.h
28-
generic-y += xor.h
2928
generic-y += kprobes.h

arch/um/include/asm/common.lds.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@
8282
__preinit_array_end = .;
8383
}
8484
.init_array : {
85-
/* dummy - we call this ourselves */
8685
__init_array_start = .;
86+
*(.init_array)
8787
__init_array_end = .;
8888
}
8989
.fini_array : {

arch/um/include/asm/xor.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/* SPDX-License-Identifier: GPL-2.0 */
2+
#include <asm-generic/xor.h>
3+
#include <shared/timer-internal.h>
4+
5+
/* pick an arbitrary one - measuring isn't possible with inf-cpu */
6+
#define XOR_SELECT_TEMPLATE(x) \
7+
(time_travel_mode == TT_MODE_INFCPU ? &xor_block_8regs : NULL)

arch/um/kernel/dyn.lds.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ SECTIONS
103103
be empty, which isn't pretty. */
104104
. = ALIGN(32 / 8);
105105
.preinit_array : { *(.preinit_array) }
106+
.init_array : { *(.init_array) }
106107
.fini_array : { *(.fini_array) }
107108
.data : {
108109
INIT_TASK_DATA(KERNEL_STACK_SIZE)

init/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ config CC_DISABLE_WARN_MAYBE_UNINITIALIZED
5454

5555
config CONSTRUCTORS
5656
bool
57+
depends on !UML
5758

5859
config IRQ_WORK
5960
bool

kernel/gcov/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ menu "GCOV-based kernel profiling"
44
config GCOV_KERNEL
55
bool "Enable gcov-based kernel profiling"
66
depends on DEBUG_FS
7-
select CONSTRUCTORS
7+
select CONSTRUCTORS if !UML
88
default n
99
---help---
1010
This option enables gcov-based code profiling (e.g. for code coverage

0 commit comments

Comments
 (0)