chardev: do not use short form boolean options in non-QemuOpts character device descriptions

Options such as "-gdb" or "-serial" accept a part-QemuOpts part-parsed-by-hand
character device description.  Do not use short form boolean options in the
QemuOpts part.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2021-02-25 12:05:22 +01:00
parent b979c93121
commit 9d902d5115
3 changed files with 11 additions and 11 deletions

View File

@ -452,7 +452,7 @@ static char *qemu_chr_socket_address(SocketChardev *s, const char *prefix)
qemu_chr_socket_protocol(s),
s->addr->u.inet.host,
s->addr->u.inet.port,
s->is_listen ? ",server" : "");
s->is_listen ? ",server=on" : "");
break;
case SOCKET_ADDRESS_TYPE_UNIX:
{
@ -470,12 +470,12 @@ static char *qemu_chr_socket_address(SocketChardev *s, const char *prefix)
return g_strdup_printf("%sunix:%s%s%s%s", prefix, sa->path,
abstract, tight,
s->is_listen ? ",server" : "");
s->is_listen ? ",server=on" : "");
break;
}
case SOCKET_ADDRESS_TYPE_FD:
return g_strdup_printf("%sfd:%s%s", prefix, s->addr->u.fd.str,
s->is_listen ? ",server" : "");
s->is_listen ? ",server=on" : "");
break;
case SOCKET_ADDRESS_TYPE_VSOCK:
return g_strdup_printf("%svsock:%s:%s", prefix,
@ -607,7 +607,7 @@ static char *qemu_chr_compute_filename(SocketChardev *s)
case AF_UNIX:
return g_strdup_printf("unix:%s%s",
((struct sockaddr_un *)(ss))->sun_path,
s->is_listen ? ",server" : "");
s->is_listen ? ",server=on" : "");
#endif
case AF_INET6:
left = "[";
@ -621,7 +621,7 @@ static char *qemu_chr_compute_filename(SocketChardev *s)
return g_strdup_printf("%s:%s%s%s:%s%s <-> %s%s%s:%s",
qemu_chr_socket_protocol(s),
left, shost, right, sserv,
s->is_listen ? ",server" : "",
s->is_listen ? ",server=on" : "",
left, phost, right, pserv);
default:

View File

@ -47,12 +47,12 @@
# "return": [
# {
# "label": "charchannel0",
# "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.agent,server",
# "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.agent,server=on",
# "frontend-open": false
# },
# {
# "label": "charmonitor",
# "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.monitor,server",
# "filename": "unix:/var/lib/libvirt/qemu/seabios.rhel6.monitor,server=on",
# "frontend-open": true
# },
# {

View File

@ -64,10 +64,10 @@ if __name__ == '__main__':
# Launch QEMU with binary
if "system" in args.qemu:
cmd = "%s %s %s -gdb unix:path=%s,server" % (args.qemu,
args.qargs,
args.binary,
socket_name)
cmd = "%s %s %s -gdb unix:path=%s,server=on" % (args.qemu,
args.qargs,
args.binary,
socket_name)
else:
cmd = "%s %s -g %s %s" % (args.qemu, args.qargs, socket_name,
args.binary)