All- We're trying to get a PCIe card working with PCI passthrough and it's close but not yet. The card has a PLX (Avago) PEX 8624 bridge chip and multiple Texas Instruments CPU end-points, and there is a second card with PEX 8748 and same TI endpoints. Both cards are recognized, all TI devices show up as separate PCI devices and the PLX chip shows up as several separate PCI devices. Per PCI passthrough instructions, we're only attempting to pass through endpoints and not PLX (bridge) devices. The card drivers load ok, endpoint config space reads look ok, but endpoint writes are not correct, for example we cannot reliably write values to endpoint config space.
My question is about how to debug this. Neither Avago nor card vendor tech guys think this is their problem; in fact, they're not even clear on what is PCI passthrough and they don't have VMs set up to reproduce the problem. My first thought is to get a reference card from Avago that has the PEX device and a couple PCIe slots for arbitrary endpoint cards, and test with a simple single-endpoint card that we already have working with passthrough, with the objective being to rule out the PEX bridge devices as causing problems. If that passes, then go the other way, and find a card with the TI endpoint but no PEX device. Maybe there are other approaches? Could there be timing issues? Some parameters known to cause variations in host vs. passthrough operation that we might try adjusting? Any advice welcome, thanks. -Jeff