Add async I/O commands.

Add async versions of the I/O commands which do not block and instead
raise the new QXL_INTERRUPT_IO_CMD when done.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Gerd Hoffmann 2011-06-22 10:46:18 +02:00 committed by Alon Levy
parent ad3cc860a3
commit 9601a6353b

View File

@ -80,6 +80,13 @@ 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_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 +220,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 {