summary refs log tree commit diff stats
path: root/include/hw/virtio
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2016-05-23 15:22:07 +0200
committerGerd Hoffmann <kraxel@redhat.com>2016-06-06 09:04:34 +0200
commit0c244e50ee12311037efd507ee37df0e846e4a18 (patch)
tree6122f7c296e79cbe6f4b327018b80e154c6f42b2 /include/hw/virtio
parent4e68a0ee17dad7b8d870df0081d4ab2e079016c2 (diff)
downloadfocaccia-qemu-0c244e50ee12311037efd507ee37df0e846e4a18.tar.gz
focaccia-qemu-0c244e50ee12311037efd507ee37df0e846e4a18.zip
virtio-gpu: add live migration support
Store some additional state for cursor and resource backing storage,
so we can write out and reload things.  Implement vmsave+vmload for
2d mode.  Continue blocking live migration in 3d/virgl mode.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 1464009727-7753-1-git-send-email-kraxel@redhat.com
Diffstat (limited to 'include/hw/virtio')
-rw-r--r--include/hw/virtio/virtio-gpu.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 1602a13ba2..89f4879f55 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -32,6 +32,7 @@ struct virtio_gpu_simple_resource {
     uint32_t width;
     uint32_t height;
     uint32_t format;
+    uint64_t *addrs;
     struct iovec *iov;
     unsigned int iov_cnt;
     uint32_t scanout_bitmask;
@@ -46,6 +47,7 @@ struct virtio_gpu_scanout {
     int x, y;
     int invalidate;
     uint32_t resource_id;
+    struct virtio_gpu_update_cursor cursor;
     QEMUCursor *current_cursor;
 };
 
@@ -150,7 +152,7 @@ void virtio_gpu_get_display_info(VirtIOGPU *g,
                                  struct virtio_gpu_ctrl_command *cmd);
 int virtio_gpu_create_mapping_iov(struct virtio_gpu_resource_attach_backing *ab,
                                   struct virtio_gpu_ctrl_command *cmd,
-                                  struct iovec **iov);
+                                  uint64_t **addr, struct iovec **iov);
 void virtio_gpu_cleanup_mapping_iov(struct iovec *iov, uint32_t count);
 void virtio_gpu_process_cmdq(VirtIOGPU *g);