On Thu, Mar 24, 2022 at 11:26 PM Jonathon Jongsma <jjongsma@xxxxxxxxxx> wrote: > > Detect whether qemu supports the qemu-vdagent character device. This > enables support for copy/paste with VNC graphics. > > Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> Reviewed-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > --- > src/qemu/qemu_capabilities.c | 2 ++ > src/qemu/qemu_capabilities.h | 1 + > tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml | 1 + > tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml | 1 + > tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml | 1 + > tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml | 1 + > 6 files changed, 7 insertions(+) > > diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c > index 6b4ed08499..f31e7395c3 100644 > --- a/src/qemu/qemu_capabilities.c > +++ b/src/qemu/qemu_capabilities.c > @@ -669,6 +669,7 @@ VIR_ENUM_IMPL(virQEMUCaps, > /* 425 */ > "blockdev.nbd.tls-hostname", /* QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME */ > "memory-backend-file.prealloc-threads", /* QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS */ > + "chardev.qemu-vdagent", /* QEMU_CAPS_CHARDEV_QEMU_VDAGENT */ > ); > > > @@ -1629,6 +1630,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { > { "set-numa-node/arg-type/+hmat-lb", QEMU_CAPS_NUMA_HMAT }, > { "object-add/arg-type/+sev-guest/kernel-hashes", QEMU_CAPS_SEV_GUEST_KERNEL_HASHES }, > { "calc-dirty-rate/arg-type/mode", QEMU_CAPS_DIRTYRATE_MODE }, > + { "chardev-add/arg-type/backend/+qemu-vdagent", QEMU_CAPS_CHARDEV_QEMU_VDAGENT }, > }; > > typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; > diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h > index 948029d60d..f5a9609b8c 100644 > --- a/src/qemu/qemu_capabilities.h > +++ b/src/qemu/qemu_capabilities.h > @@ -644,6 +644,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */ > /* 425 */ > QEMU_CAPS_BLOCKDEV_NBD_TLS_HOSTNAME, /* tls hostname can be overriden for NBD clients */ > QEMU_CAPS_MEMORY_BACKEND_PREALLOC_THREADS, /* -object memory-backend-*.prealloc-threads */ > + QEMU_CAPS_CHARDEV_QEMU_VDAGENT, /* -chardev qemu-vdagent */ > > QEMU_CAPS_LAST /* this must always be the last item */ > } virQEMUCapsFlags; > diff --git a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml > index 0b58210335..fceb7dbea6 100644 > --- a/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml > +++ b/tests/qemucapabilitiesdata/caps_6.1.0.x86_64.xml > @@ -240,6 +240,7 @@ > <flag name='sev-inject-launch-secret'/> > <flag name='calc-dirty-rate'/> > <flag name='memory-backend-file.prealloc-threads'/> > + <flag name='chardev.qemu-vdagent'/> > <version>6001000</version> > <kvmVersion>0</kvmVersion> > <microcodeVersion>43100243</microcodeVersion> > diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml > index d08b2c0213..6a5c39a0de 100644 > --- a/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml > +++ b/tests/qemucapabilitiesdata/caps_6.2.0.aarch64.xml > @@ -204,6 +204,7 @@ > <flag name='rbd-encryption'/> > <flag name='calc-dirty-rate'/> > <flag name='memory-backend-file.prealloc-threads'/> > + <flag name='chardev.qemu-vdagent'/> > <version>6001050</version> > <kvmVersion>0</kvmVersion> > <microcodeVersion>61700244</microcodeVersion> > diff --git a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml > index cdf72b9ebf..6f4fa26808 100644 > --- a/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml > +++ b/tests/qemucapabilitiesdata/caps_6.2.0.x86_64.xml > @@ -242,6 +242,7 @@ > <flag name='calc-dirty-rate'/> > <flag name='dirtyrate-param.mode'/> > <flag name='memory-backend-file.prealloc-threads'/> > + <flag name='chardev.qemu-vdagent'/> > <version>6002000</version> > <kvmVersion>0</kvmVersion> > <microcodeVersion>43100244</microcodeVersion> > diff --git a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml > index 5227e3ee0b..8219347f2a 100644 > --- a/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml > +++ b/tests/qemucapabilitiesdata/caps_7.0.0.x86_64.xml > @@ -245,6 +245,7 @@ > <flag name='dirtyrate-param.mode'/> > <flag name='blockdev.nbd.tls-hostname'/> > <flag name='memory-backend-file.prealloc-threads'/> > + <flag name='chardev.qemu-vdagent'/> > <version>6002050</version> > <kvmVersion>0</kvmVersion> > <microcodeVersion>43100243</microcodeVersion> > -- > 2.35.1 >