On Mon, Jun 17, 2019 at 11:15:39AM -0700, elena.ufimts...@oracle.com wrote: > From: Jagannathan Raman <jag.ra...@oracle.com> > > PCI host bridge is setup for the remote device process. It is > implemented using remote-pcihost object. It is an extension of the PCI > host bridge setup by QEMU. > Remote-pcihost configures a PCI bus which could be used by the remote > PCI device to latch on to.
Hmm, this (and at least the next two patches) look like you just fake everything the device emulation needs in the remote process. I doubt this is a good long-term plan. IIRC there was some discussion on the last kvm forum on the idea to re-use the vfio API for pci emulation in a separate process, i.e. create something like vfio-user. Have you considered this? Sure, the lsi host adapter will probably need some refactoring so the code can compiled into both qemu and a vfio-user server. But that way the chance that this can be maintained long-term without too much headache is much higher. A small, well-defined interface will also make it easier to re-write the device emulation in another language like rust or go. The current patch series feels more like a early proof-of-concept than something mergeable ... cheers, Gerd