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

Re: [Xen-devel] passthroughed msix device



>>> 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.

Jan


_______________________________________________
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®.