diff options
Diffstat (limited to 'poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch')
-rw-r--r-- | poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch index 98fd5e913..201125c1f 100644 --- a/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch +++ b/poky/meta/recipes-devtools/qemu/qemu/0006-chardev-connect-socket-to-a-spawned-command.patch @@ -51,11 +51,11 @@ Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> qapi/char.json | 5 +++ 3 files changed, 109 insertions(+) -Index: qemu-5.1.0/chardev/char-socket.c +Index: qemu-5.2.0/chardev/char-socket.c =================================================================== ---- qemu-5.1.0.orig/chardev/char-socket.c -+++ qemu-5.1.0/chardev/char-socket.c -@@ -1292,6 +1292,67 @@ static bool qmp_chardev_validate_socket( +--- qemu-5.2.0.orig/chardev/char-socket.c ++++ qemu-5.2.0/chardev/char-socket.c +@@ -1308,6 +1308,67 @@ static bool qmp_chardev_validate_socket( return true; } @@ -123,7 +123,7 @@ Index: qemu-5.1.0/chardev/char-socket.c static void qmp_chardev_open_socket(Chardev *chr, ChardevBackend *backend, -@@ -1300,6 +1361,9 @@ static void qmp_chardev_open_socket(Char +@@ -1316,6 +1377,9 @@ static void qmp_chardev_open_socket(Char { SocketChardev *s = SOCKET_CHARDEV(chr); ChardevSocket *sock = backend->u.socket.data; @@ -133,7 +133,7 @@ Index: qemu-5.1.0/chardev/char-socket.c bool do_nodelay = sock->has_nodelay ? sock->nodelay : false; bool is_listen = sock->has_server ? sock->server : true; bool is_telnet = sock->has_telnet ? sock->telnet : false; -@@ -1365,6 +1429,14 @@ static void qmp_chardev_open_socket(Char +@@ -1381,6 +1445,14 @@ static void qmp_chardev_open_socket(Char update_disconnected_filename(s); @@ -148,15 +148,17 @@ Index: qemu-5.1.0/chardev/char-socket.c if (s->is_listen) { if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270, is_waitconnect, errp) < 0) { -@@ -1384,11 +1456,27 @@ static void qemu_chr_parse_socket(QemuOp +@@ -1400,6 +1472,9 @@ static void qemu_chr_parse_socket(QemuOp const char *host = qemu_opt_get(opts, "host"); const char *port = qemu_opt_get(opts, "port"); const char *fd = qemu_opt_get(opts, "fd"); +#ifndef _WIN32 + const char *cmd = qemu_opt_get(opts, "cmd"); +#endif + #ifdef CONFIG_LINUX bool tight = qemu_opt_get_bool(opts, "tight", true); bool abstract = qemu_opt_get_bool(opts, "abstract", false); +@@ -1407,6 +1482,20 @@ static void qemu_chr_parse_socket(QemuOp SocketAddressLegacy *addr; ChardevSocket *sock; @@ -173,19 +175,19 @@ Index: qemu-5.1.0/chardev/char-socket.c + } + } else +#endif ++ if ((!!path + !!fd + !!host) != 1) { error_setg(errp, "Exactly one of 'path', 'fd' or 'host' required"); -@@ -1431,12 +1519,24 @@ static void qemu_chr_parse_socket(QemuOp +@@ -1448,13 +1537,24 @@ static void qemu_chr_parse_socket(QemuOp + sock->tls_creds = g_strdup(qemu_opt_get(opts, "tls-creds")); sock->has_tls_authz = qemu_opt_get(opts, "tls-authz"); sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz")); - -- addr = g_new0(SocketAddressLegacy, 1); +#ifndef _WIN32 + sock->cmd = g_strdup(cmd); +#endif -+ -+ addr = g_new0(SocketAddressLegacy, 1); + + addr = g_new0(SocketAddressLegacy, 1); +#ifndef _WIN32 + if (path || cmd) { +#else @@ -199,14 +201,14 @@ Index: qemu-5.1.0/chardev/char-socket.c +#else q_unix->path = g_strdup(path); +#endif + #ifdef CONFIG_LINUX + q_unix->has_tight = true; q_unix->tight = tight; - q_unix->abstract = abstract; - } else if (host) { -Index: qemu-5.1.0/chardev/char.c +Index: qemu-5.2.0/chardev/char.c =================================================================== ---- qemu-5.1.0.orig/chardev/char.c -+++ qemu-5.1.0/chardev/char.c -@@ -826,6 +826,9 @@ QemuOptsList qemu_chardev_opts = { +--- qemu-5.2.0.orig/chardev/char.c ++++ qemu-5.2.0/chardev/char.c +@@ -839,6 +839,9 @@ QemuOptsList qemu_chardev_opts = { .name = "path", .type = QEMU_OPT_STRING, },{ @@ -216,10 +218,10 @@ Index: qemu-5.1.0/chardev/char.c .name = "host", .type = QEMU_OPT_STRING, },{ -Index: qemu-5.1.0/qapi/char.json +Index: qemu-5.2.0/qapi/char.json =================================================================== ---- qemu-5.1.0.orig/qapi/char.json -+++ qemu-5.1.0/qapi/char.json +--- qemu-5.2.0.orig/qapi/char.json ++++ qemu-5.2.0/qapi/char.json @@ -250,6 +250,10 @@ # # @addr: socket address to listen on (server=true) |