um: Add an option to make serial driver non-raw
authorJohannes Berg <johannes.berg@intel.com>
Fri, 24 May 2019 22:08:43 +0000 (00:08 +0200)
committerRichard Weinberger <richard@nod.at>
Sun, 19 Jan 2020 21:41:50 +0000 (22:41 +0100)
In some cases, for example when the program(s) running inside UML
isn't/aren't interactive (like the hwsim tests for wpa_supplicant)
there's really no value in having the serial lines configured to
be raw as they are now by default. Setting them to non-raw lets
one abort the whole UML with Ctrl-C, which is really the right
thing to do in these cases, basically the whole UML instance is
more like a single (testing) program.

Add a "ssl-non-raw" option to UML to support such a mode.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/drivers/chan_user.h
arch/um/drivers/ssl.c

index 72222bb..4e51b85 100644 (file)
@@ -11,7 +11,7 @@
 struct chan_opts {
        void (*const announce)(char *dev_name, int dev);
        char *xterm_title;
-       const int raw;
+       int raw;
 };
 
 struct chan_ops {
index b213201..26c5716 100644 (file)
@@ -196,3 +196,11 @@ static int ssl_chan_setup(char *str)
 
 __setup("ssl", ssl_chan_setup);
 __channel_help(ssl_chan_setup, "ssl");
+
+static int ssl_non_raw_setup(char *str)
+{
+       opts.raw = 0;
+       return 1;
+}
+__setup("ssl-non-raw", ssl_non_raw_setup);
+__channel_help(ssl_non_raw_setup, "set serial lines to non-raw mode");