On Thu, Mar 24, 2022 at 11:26 PM Jonathon Jongsma wrote:
>
> Detect whether qemu supports the qemu-vdagent character device. This
> enables support for copy/paste with VNC graphics.
>
> Signed-off-by: Jonathon Jongsma
Reviewed-by: Marc-André Lureau
> ---
> 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 @@
>
>
>
> +
>6001000
>0
>43100243
> 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 @@
>
>
>
> +
>6001050
>0
>61700244
> 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 @@
>
>
>
> +
>6002000
>0
>43100244
> 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 @@
>
>
>
> +
>6002050
>0
>43100243
> --
> 2.35.1
>