On Fri, Aug 23, 2019 at 12:21:58PM -0400, Cole Robinson wrote:
From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> For each vhost-user GPUs, - build a socket chardev, and pass the vhost-user socket to it - build a vhost-user video device and associate it with the chardev Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> --- src/qemu/qemu_command.c | 46 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 8bef103f68..0e1d9510e5 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4672,8 +4672,15 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, goto error; } - if (STREQ(model, "virtio-gpu")) { - if (qemuBuildVirtioDevStr(&buf, "virtio-gpu", qemuCaps,
Eww, why do we do a string comparison here when we store the model as an enum?
+ if (video->vhostuser) { + if (STREQ(model, "virtio-vga")) + model = "vhost-user-vga"; + if (STREQ(model, "virtio-gpu")) + model = "vhost-user-gpu"; + }
Not sure why we need to reassign model here instead of getting it right the first time.
+
How different is the vhost-user-gpu device from virtio-gpu, don't we new a new VIDEO_TYPE_VHOST_USER instead? if (video->type == VIRTIO && !primary) for the condition below:
+ if (STREQ(model, "virtio-gpu") || STREQ(model, "vhost-user-gpu")) { + if (qemuBuildVirtioDevStr(&buf, model, qemuCaps, VIR_DOMAIN_DEVICE_VIDEO, video) < 0) { goto error; }
Jano
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list