I think we should start on the userspace for this. The kernel side bug is being tracked here:
I added some Android guest userspace patches based on my best recollection of the UAPI. For the HOST_COHERENT_MEMORY type, the VMM injects the memory into the appropriate place in the PCI bar. I imagine ARB_buffer_storage, Vulkan, SHARED_GUEST support will be added later. WDYT?
I want to collate all of our use cases in this development branch. One tricky aspect is virglrenderer/virv_renderer interop. When the RESOURCE_CREATE_V2 hypercall (or any other hyper-call) is sent, where should it go? libvirglrenderer or libvirv_renderer? If we want to move to Vulkan only eventually, what's our transition strategy? I don't have solutions for this, just putting it out there.