On Mon, Feb 04, 2019 at 01:40:53PM +0800, Stefan Hajnoczi wrote:
> On Fri, Feb 01, 2019 at 12:34:07PM -0800, Roman Kiryanov wrote:
> > for our purposes we need to access host's memory (e.g. Vulkan buffers,
> > but we also considering other things, like running all drivers in
> > userspace) directly from a linux guest (Android). I implemented a
> > device in QEMU and a linux driver for it:
> >
> > https://android.googlesource.com/kernel/goldfish/+/android-goldfish-4.14-dev/drivers/misc/goldfish_address_space.c
> >
> > https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/hw/pci/goldfish_address_space.c
> >
> > during upstreaming the driver it was suggested that developing a
> > virtio spec could be a better approach than inventing our specific
> > driver and device.
> >
> > Could you please advise how to start?
>
> Hi Roman,
> David Gilbert, Gerd Hoffmann, and I have discussed adding shared memory
> resources to VIRTIO. That means memory made available by the device to
> the driver instead of the usual other way around.
>
> virtio-gpu needs this and perhaps that use case overlaps with yours too.
virtio-gpu specifically needs that to support vulkan and opengl
extensions for coherent buffers, which must be allocated by the host gpu
driver. It's WIP still.
cheers,
Gerd