[Rust-VMM] Requirements for out-of-process device emulation

Stefan Hajnoczi stefanha at redhat.com
Mon Oct 12 15:39:53 UTC 2020


On Fri, Oct 09, 2020 at 01:44:49PM -0600, Alex Williamson wrote:
> On Fri, 9 Oct 2020 17:18:15 +0100
> Stefan Hajnoczi <stefanha at redhat.com> wrote:
> > Extensibility for new bus types
> > ```````````````````````````````
> > It should be possible to support multiple bus types. vhost-user only
> > supports vhost devices. VFIO is more extensible but currently focussed
> > on PCI devices.
> 
> Wait a sec, the vfio API essentially deconstructs devices into exactly
> the resources you've outlined above.  We not only have a vfio-pci
> device convention within vfio, but we've defined vfio-platform,
> vfio-amba, vfio-ccw, vfio-ap, and we'll likely be adding vfio-fsl-mc in
> the next kernel.  The core device, group, and container model within
> vfio is completely device/bus agnostic.  So while it's true that
> vfio-pci is the most mature and featureful convention, that's largely a
> reflection that PCI is the most ubiquitous device interface currently
> available.  Thanks,

Hi Alex,
Yes, I don't mean to say that VFIO cannot support new bus types.

The most likely new bus type I can foresee is QEMU's SysBus, which would
allow moving ISA, System-on-Chip, etc devices into a separate process.

We'll need to figure out whether vfio-user evolves independently from
the kernel VFIO ioctl interface or whether efforts are made to keep the
two in sync. The kernel may not need SysBus, but as the vfio-user
protocol diverges from the kernel VFIO ioctl interface it becomes harder
to share the commands and avoid duplication.

Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.opendev.org/pipermail/rust-vmm/attachments/20201012/2e592cd3/attachment.sig>


More information about the Rust-vmm mailing list