Initialize the chardev backends for vhost-user graphics to use real FDs.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","read-only":false}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--chardev socket,id=chr-vu-video0,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video0,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-vga","id":"video0","max_outputs":1,"chardev":"chr-vu-video0","bus":"pci.0","addr":"0x2"}' \
--chardev socket,id=chr-vu-video1,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video1,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-gpu-pci","id":"video1","max_outputs":1,"chardev":"chr-vu-video1","bus":"pci.0","addr":"0x4"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","read-only":false}' \
-device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--chardev socket,id=chr-vu-video0,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video0,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-vga","id":"video0","max_outputs":1,"chardev":"chr-vu-video0","bus":"pci.0","addr":"0x2"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--chardev socket,id=chr-vu-video0,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video0,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-vga","id":"video0","max_outputs":1,"chardev":"chr-vu-video0","bus":"pci.0","addr":"0x2"}' \
--chardev socket,id=chr-vu-video1,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video1,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-gpu-pci","ats":false,"id":"video1","max_outputs":1,"chardev":"chr-vu-video1","bus":"pci.0","addr":"0x3"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--chardev socket,id=chr-vu-video0,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video0,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-vga","id":"video0","max_outputs":1,"chardev":"chr-vu-video0","bus":"pci.0","addr":"0x2"}' \
--chardev socket,id=chr-vu-video1,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video1,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-gpu-pci","iommu_platform":false,"id":"video1","max_outputs":1,"chardev":"chr-vu-video1","bus":"pci.0","addr":"0x3"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-boot strict=on \
-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--chardev socket,id=chr-vu-video0,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video0,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-vga","id":"video0","max_outputs":1,"chardev":"chr-vu-video0","bus":"pci.0","addr":"0x2"}' \
--chardev socket,id=chr-vu-video1,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video1,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-gpu-pci","packed":false,"id":"video1","max_outputs":1,"chardev":"chr-vu-video1","bus":"pci.0","addr":"0x3"}' \
-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-device '{"driver":"virtio-tablet-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"input2","bus":"pci.0","addr":"0x11"}' \
-device '{"driver":"virtio-input-host-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"input3","evdev":"/dev/input/event1234","bus":"pci.0","addr":"0x12"}' \
-audiodev '{"id":"audio1","driver":"none"}' \
--chardev socket,id=chr-vu-video0,fd=XXXXXXX \
+-chardev socket,id=chr-vu-video0,fd=@vhost-user-video-fd@ \
-device '{"driver":"vhost-user-vga","id":"video0","max_outputs":1,"chardev":"chr-vu-video0","bus":"pci.0","addr":"0x2"}' \
-device '{"driver":"virtio-balloon-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"balloon0","bus":"pci.0","addr":"0xc"}' \
-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/random"}' \
if (video->backend == VIR_DOMAIN_VIDEO_BACKEND_TYPE_VHOSTUSER) {
qemuDomainVideoPrivate *vpriv = QEMU_DOMAIN_VIDEO_PRIVATE(video);
- vpriv->vhost_user_fd = 1729;
+ vpriv->vhost_user_fd = virTestMakeDummyFD(g_strdup("@vhost-user-video-fd@"));
}
}