@poddingue
I'm in agreement with all of this. I can clearly see the Intel card starting at slot 81 and ending at 84. Unfortunately, in XCP-ng 8.3, only 83 (the "gpu" itself) is visible as an assignable PCI pass-through device. When I pass through just slot 83, I get a dysfunctional result.
Again...I'm a little out of my expertise here, but my assumption here is that in order to actually get the full GPU to work, I need to get slots 81-84 passed over to the VM.
Problem...In XCP-ng 8.2, you could mask off PCI devices with the pciback.hide function:
/opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:04:01.0)(0000:00:19.0)"
Or in my case:
/opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:81:00.0)(0000:82.01.0)(0000:82:02.0)(0000:83:00.0)(0000:84:00.0)"
Then you would assign those same PCI devices to the guest VM.
In 8.3 you do this with an xe command:
xe pci-list
and
xe pci-disable-dom0-access uuid=<pci uuid>
The bridge devices for the Intel card aren't being included in the pci-list of XCP-ng and are therefore not assignable to guests. For example, running "xe pci-list" on a host shows me this single entry relevant to the Intel card:
uuid ( RO) : f3e6842b-ad1b-9e93-dbea-214dde28618a
vendor-name ( RO): Intel Corporation
device-name ( RO): Device e212
pci-id ( RO): 0000:83:00.0
With the new 8.3 method of assigning PCI resources to guest VM's, I don't see how I can fully pass-through the Intel GPU to a guest. I won't necessarily call this a "bug" but it is an unexpected and perhaps edge case behavior that Vates didn't expect.