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

Re: [Xen-users] The saga of Heterodyne's PCI Passthrough

On Fri, Sep 23, 2011 at 12:25:32AM -0500, Drake Wilson wrote:
> [...]
> Hmm.  Loopiness follows.
> So I finally chased down somewhere on the Web saying that MSI delivery modes
> are similar to IPI delivery modes, and then I found the IPI types in the AMD64
> architecture manual.  Apparently mode 3 is a remote read from a separate local
> APIC.  This sounds totally bogus for an interrupt coming from a graphics card,
> but I don't know for sure.
> But after poring over the dmesg a bit more I realized a bunch of lower
> interrupts were being eaten by PnP devices.  I suppose these are attached to
> things like the emulated PS/2 keyboard.  Since I don't need those (I use the
> serial device as emergency maintenance port), pnpacpi=off pnpbios=off in the
> domU kernel, and magically there's enough interrupts to pass through both the
> Radeon and the USB controller, or so it seems.
> So that may be a good enough workaround for now.  But I still want to know why
> those MSIs are apparently not being passed through.
> Also apparently the interrupt limit is an architectural one, which I should
> have known since it was hardcoded, but somewhere in there I made a logic error
> I suppose (keeping in mind that I really don't know what I'm doing here).
> Some primitive attempts to trace back where in the world mode 3 is coming from
> yielded not much except for a twisty maze that points either into the guest OS
> or maybe into some sort of structure corruption in the device model, maybe;
> the only places that I could find where a Linux write_msi happens that would
> alter the MSI Message Data register that way (as opposed to setting it to
> hardcoded elements) are related to IOMMU stuff, such as io_apic.c:3051, and
> some further primitive attempts to probe this yielded nothing useful.
> I do notice that Linux xen_hvm_setup_msi_irqs doesn't seem to get called
> anywhere, or at least its printk lines don't show up in dmesg, but whether
> this is relevant I cannot say.
> Kyaieee!

Wow, lots of detailed info.. you might want to discuss this stuff on xen-devel 
mailinglist :)

-- Pasi

Xen-users mailing list



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