On Mon, 30 Jul 2012 11:01:20 -0500, Anthony Liguori <anth...@codemonkey.ws> wrote: > Avi Kivity <a...@redhat.com> writes: > > It doesn't seem to be such a huge problem, though it does turn virtio > > into a respec'ed PCI. > > Virtio was originally designed to be a DMA API (although not ABI). From > a virtio-pci perspective, adding a large memory area that can be > referenced is not a big deal at all. You can take PFNs into the memory > area and just handle it like you would any other address reference. > > But for the virtio API within Linux, it presents a challenge. > Originally, there was a desire to support DMA-based interfaces like > Xen's grant tables or PowerVM's TCE transfers. > > While there have been proof of concepts, it's never landed in an > upstream kernel. I'd be perfectly happy forcing the virtio API to > assume the ability to share large areas of memory between the host and > guest and eliminate the possibility to support all types of hypervisors > for some devices. > > (While Xen supports shared memory, PowerVM does not--I don't give a damn > about supporting PowerVM FWIW). > > Rusty, what do you think about the above?
Shared memory is an efficiency thing, not a requirement. If the virtio side-channel tells the device about the location of framebuffer changes, it could still be quite efficient. Cheers, Rusty.