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

Re: [Xen-devel] Nvidia GPU passthrough and Device IDs

On Thu, 28 Nov 2013 11:27:09 +0000, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
On 28/11/13 11:21, Gordan Bobic wrote:
This has recently come to my attention:


along with this snippet of information:

- Physical Function PCIid: 10ed:11bf - GK104GL [GRID K2]
- Virtual Function selectable from
PCIid: 10ed:118b - GK104 [GeForce K2 USM]
PCIid: 10ed:118c - GK104 [NVS K2 USM]
PCIid: 10ed: 11b0 - GK104GL [Quadro K2 USM]
PCIid: 10ed:11b1 - GK104GL [Tesla K2 USM]

The way this reads to me is that it means that a different
device ID is exposed to domU than what runs on the host.

Therefore, it must be possible to change the device ID
visible to domU to something other than what is visible
on the host.

So, as per a question that has recently been asked, is
there a way to apply a software shim to expose a different
device ID to the domU when doing PCI passthrough? This
might completely avoid the need to modify the GeForce
cards in ways discussed here recently to make them
work in PCI passthrough mode by simply faking the
device ID exposed.


All config space accesses get vetted by Qemu or pcifront.

We have had one bug for a particular graphics card with PCI passthrough which was fixed by faking up the wrong class code. (There was a windows
XPDM/WDDM stack issue with the affected card, and the cirrus emulated
graphics card was detected as "better" than the passed-through one)

I'll take that to be a resounding "yes" in answer to my
question. :)

Could you please point me in the rough direction of the code
and process flow that handles this?


Xen-devel mailing list



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