[Spice-devel] [RfC spice-protocol PATCH] Add async I/O commands.

Alon Levy alevy at redhat.com
Thu Jun 23 11:01:17 PDT 2011


On Wed, Jun 22, 2011 at 10:46:18AM +0200, Gerd Hoffmann wrote:
> Add async versions of the I/O commands which do not block and instead
> raise the new QXL_INTERRUPT_IO_CMD when done.
> 

I would also add V10 defined to 3, and replace 2,3 references with V06 and V10, and
bump the protocol version, and require the newer protocol for newer qemu build. A
new protocol seems like a small requirement.

> Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
> ---
>  spice/qxl_dev.h |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
> index e3e0696..57d00ed 100644
> --- a/spice/qxl_dev.h
> +++ b/spice/qxl_dev.h
> @@ -80,6 +80,14 @@ enum {
>      QXL_IO_DESTROY_PRIMARY,
>      QXL_IO_DESTROY_SURFACE_WAIT,
>      QXL_IO_DESTROY_ALL_SURFACES,
> +    /* appended for qxl-3 */
> +    QXL_IO_UPDATE_AREA_ASYNC,
> +    QXL_IO_NOTIFY_OOM_ASYNC,
> +    QXL_IO_MEMSLOT_ADD_ASYNC,
> +    QXL_IO_CREATE_PRIMARY_ASYNC,
> +    QXL_IO_DESTROY_PRIMARY_ASYNC,
> +    QXL_IO_DESTROY_SURFACE_ASYNC,
> +    QXL_IO_DESTROY_ALL_SURFACES_ASYNC,
>  
>      QXL_IO_RANGE_SIZE
>  };
> @@ -213,6 +221,7 @@ SPICE_RING_DECLARE(QXLReleaseRing, uint64_t, QXL_RELEASE_RING_SIZE);
>  
>  #define QXL_INTERRUPT_DISPLAY (1 << 0)
>  #define QXL_INTERRUPT_CURSOR (1 << 1)
> +#define QXL_INTERRUPT_IO_CMD (1 << 2)
>  
>  /* qxl-1 compat: append only */
>  typedef struct SPICE_ATTR_PACKED QXLRam {
> -- 
> 1.7.1
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list