On Tue, Feb 06, 2018 at 03:23:02PM +0100, Gerd Hoffmann wrote:
Creation of shareable buffer by guest
-------------------------------------------------
1. Client requests virtio driver to create a buffer suitable for sharing
with host (DRM_VIRTGPU_RESOURCE_CREATE)
client or guest proxy?
4. QEMU maps that buffer to the guest's address space
(KVM_SET_USER_MEMORY_REGION), passes the guest PFN to the virtio driver
That part is problematic. The host can't simply allocate something in
the physical address space, because most physical address space
management is done by the guest. All pci bars are mapped by the guest
firmware for example (or by the guest OS in case of hotplug).
4. QEMU pops data+buffers from the virtqueue, looks up shmem FD for each
resource, sends data + FDs to the compositor with SCM_RIGHTS
If you squint hard, this sounds a bit like a use-case for vhost-user-gpu, does it not?