On Thu, 30 Jun 2011, Alexander Graf wrote: > On 06/30/2011 04:11 PM, Stefano Stabellini wrote: > > On Thu, 30 Jun 2011, Alexander Graf wrote: > >> On 06/30/2011 12:21 PM, Stefano Stabellini wrote: > >>> On Thu, 30 Jun 2011, Wei Liu wrote: > >>>> On Thu, Jun 30, 2011 at 4:31 PM, Alexander Graf<ag...@suse.de> wrote: > >>>>> On 29.06.2011, at 15:59, Wei Liu<l...@liuw.name> wrote: > >>>>> > >>>>>> Hi, QEMU folks > >>>>>> > >>>>>> I know that I might have a bad title for this post, but I just don't > >>>>>> have better idea for the title. > >>>>>> > >>>>>> I'm developing virtio support for Xen pv guest, hoping to reuse the > >>>>>> virtio infrastructure in qemu, i.e. I'm planning to use qemu as > >>>>>> "virtio backend" for Xen pv. And qemu can be run as pv backend if > >>>>>> proper "machine" option is given. > >>>>>> > >>>>>> Maybe you've known that Xen pv guest utilizes Xenbus/Xenstore to > >>>>>> configure its paravirt devices. So I'm to configure virtio devices > >>>>>> with Xenbus/Xenstore as well. But in nowdays XenDevice in qemu does > >>>>>> not include a DeviceState. To my understanding, it is not connected to > >>>>>> qemu's internal buses or whatever (correct me if I'm wrong, I'm > >>>>>> relatively new to qemu). > >>>>> I'm not a huge fan of adding multiple different transports for virtio > >>>>> if we don't have to. IIRC Xen PV guests can do PCI device assignment, > >>>>> right? That means there is a PCI bus for them which we could reuse to > >>>>> run virtio-pci on. > >>>>> > >>>>> By then, you'd get all the virtio code for free and don't have to worry > >>>>> about maintaining yet another transport (which _is_ cumbersome) > >>>>> > >>>> Good point, I will check this. > >>>> > >>>> I thought that Xen pv pci assignment is only used for pci passthrough. > >>>> But I will check the possibility to assign pv backend to guest. > >>>> > >>>> Stefano, how would you say about this? > >>> Yes, the PCI bus is an empty PCI bus created by xen-pcifront and it is > >>> only used for PCI passthrough. It couldn't be used as is for virtio-pci. > >> What's keeping us from doing so? Doesn't MMIO emulation work with Xen PV? > > No, it does not. > > The only realistic way that I can see to make virtio work with PV guests > > is to write "virtio-xenstore". > > > Hrm. What's technically keeping you from doing MMIO with PV guests?
All the infrastructure to catch MMIO reads/writes in Xen and forward them to Qemu is not enabled; Qemu MMIO emulation is not running. At that point is just better to run a PV on HVM guest.