mirror of https://github.com/xemu-project/xemu.git
virtio-gpu: Wrap in vmstate
Forcibly convert it to a vmstate wrapper; proper conversion comes later. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
de8892215e
commit
0fc07498da
|
@ -987,7 +987,7 @@ static const VMStateDescription vmstate_virtio_gpu_scanouts = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static void virtio_gpu_save(QEMUFile *f, void *opaque)
|
static void virtio_gpu_save(QEMUFile *f, void *opaque, size_t size)
|
||||||
{
|
{
|
||||||
VirtIOGPU *g = opaque;
|
VirtIOGPU *g = opaque;
|
||||||
VirtIODevice *vdev = VIRTIO_DEVICE(g);
|
VirtIODevice *vdev = VIRTIO_DEVICE(g);
|
||||||
|
@ -1017,7 +1017,7 @@ static void virtio_gpu_save(QEMUFile *f, void *opaque)
|
||||||
vmstate_save_state(f, &vmstate_virtio_gpu_scanouts, g, NULL);
|
vmstate_save_state(f, &vmstate_virtio_gpu_scanouts, g, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int virtio_gpu_load(QEMUFile *f, void *opaque, int version_id)
|
static int virtio_gpu_load(QEMUFile *f, void *opaque, size_t size)
|
||||||
{
|
{
|
||||||
VirtIOGPU *g = opaque;
|
VirtIOGPU *g = opaque;
|
||||||
VirtIODevice *vdev = VIRTIO_DEVICE(g);
|
VirtIODevice *vdev = VIRTIO_DEVICE(g);
|
||||||
|
@ -1026,11 +1026,7 @@ static int virtio_gpu_load(QEMUFile *f, void *opaque, int version_id)
|
||||||
uint32_t resource_id, pformat;
|
uint32_t resource_id, pformat;
|
||||||
int i, ret;
|
int i, ret;
|
||||||
|
|
||||||
if (version_id != VIRTIO_GPU_VM_VERSION) {
|
ret = virtio_load(vdev, f, VIRTIO_GPU_VM_VERSION);
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = virtio_load(vdev, f, version_id);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1167,9 +1163,6 @@ static void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
|
||||||
if (virtio_gpu_virgl_enabled(g->conf)) {
|
if (virtio_gpu_virgl_enabled(g->conf)) {
|
||||||
error_setg(&g->migration_blocker, "virgl is not yet migratable");
|
error_setg(&g->migration_blocker, "virgl is not yet migratable");
|
||||||
migrate_add_blocker(g->migration_blocker);
|
migrate_add_blocker(g->migration_blocker);
|
||||||
} else {
|
|
||||||
register_savevm(qdev, "virtio-gpu", -1, VIRTIO_GPU_VM_VERSION,
|
|
||||||
virtio_gpu_save, virtio_gpu_load, g);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1226,6 +1219,9 @@ static void virtio_gpu_reset(VirtIODevice *vdev)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VMSTATE_VIRTIO_DEVICE(gpu, VIRTIO_GPU_VM_VERSION, virtio_gpu_load,
|
||||||
|
virtio_gpu_save);
|
||||||
|
|
||||||
static Property virtio_gpu_properties[] = {
|
static Property virtio_gpu_properties[] = {
|
||||||
DEFINE_PROP_UINT32("max_outputs", VirtIOGPU, conf.max_outputs, 1),
|
DEFINE_PROP_UINT32("max_outputs", VirtIOGPU, conf.max_outputs, 1),
|
||||||
#ifdef CONFIG_VIRGL
|
#ifdef CONFIG_VIRGL
|
||||||
|
@ -1252,6 +1248,7 @@ static void virtio_gpu_class_init(ObjectClass *klass, void *data)
|
||||||
vdc->reset = virtio_gpu_reset;
|
vdc->reset = virtio_gpu_reset;
|
||||||
|
|
||||||
dc->props = virtio_gpu_properties;
|
dc->props = virtio_gpu_properties;
|
||||||
|
dc->vmsd = &vmstate_virtio_gpu;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TypeInfo virtio_gpu_info = {
|
static const TypeInfo virtio_gpu_info = {
|
||||||
|
|
Loading…
Reference in New Issue