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

Re: [Xen-devel] [PATCH RESEND] fix MSI injection on Xen

On Wed, 27 Jan 2016, Konrad Rzeszutek Wilk wrote:
> On Wed, Jan 13, 2016 at 02:59:09PM +0000, Stefano Stabellini wrote:
> > On Xen MSIs can be remapped into pirqs, which are a type of event
> > channels. It's mostly for the benefit of PCI passthrough devices, to
> > avoid the overhead of interacting with the emulated lapic.
> > 
> > However remapping interrupts and MSIs is also supported for emulated
> > devices, such as the e1000 and virtio-net.
> > 
> > When an interrupt or an MSI is remapped into a pirq, masking and
> > unmasking is done by masking and unmasking the event channel. The
> > masking bit on the PCI config space or MSI-X table should be ignored,
> > but it isn't at the moment.
> > 
> > As a consequence emulated devices which use MSI or MSI-X, such as
> > virtio-net, don't work properly (the guest doesn't receive any
> > notifications). The mechanism was working properly when xen_apic was
> By xen_apic I presume the Linux Xen APIC code?

Nope, I mean hw/i386/xen/xen_apic.c in QEMU.

> > introduced, but I haven't narrowed down which commit in particular is
> > causing the regression.
> It sounds like the issue was due to the Xen APIC code? Or am I misreading it?

When xen_apic was introduced in QEMU, MSIs did work correctly. After all
xen_apic was created to make emulated MSIs work on Xen, it wouldn't have
been possible to test it otherwise.

Xen-devel mailing list



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