[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] passthroughed msix device




On 2013-02-26 18:08, Jan Beulich wrote:
On 26.02.13 at 09:56, DuanZhenzhong <zhenzhong.duan@xxxxxxxxxx> wrote:
pci_msix_writel: Can't update entry 0 since MSI-X is already enabled
(fee00000 -> fee02000)
pci_msix_writel: Can't update entry 0 since MSI-X is already enabled
(00004059 -> 00004071)
If you look at the code issuing this message, the situation is
pretty clear (and I think it as described already in the past,
albeit I have no link at hand): qemu lacks proper emulation of
the mask bit. pci_msix_write() looks at the physical one, yet
when the guest sets the virtual mask bit, nothing is being
done at all to make the hypervisor also mask the physical
entry:

     if (offset == PCI_MSIX_ENTRY_VECTOR_CTRL) {
         if (msix->enabled && !(val & PCI_MSIX_ENTRY_CTRL_MASKBIT)) {
             xen_pt_msix_update_one(s, entry_nr);
         }
     }

There's probably quite a bit of code to be written to make this
work.
Is there plan of fixing it?

thanks
zduan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.