CA-245332: Clear PCI.dependencies for virtual functions
CA-245332: Clear PCI.dependencies for virtual functions

PCI dependencies link PCI devices (or PCI functions, to be precise) that need
to be passed through to a VM together. The original use case for this was a GPU
card that had a video as well as an audio component, which belong together.
These two would always show up as two separate functions of the same device
on the PCI bus: xxxx:xx:xx.0 and xxxx.xx.xx.1. For this reason, the heuristic
that xapi uses to find dependent devices is based on their common
domain+bus+device parts (the xxxx:xx:xx portion of the bus address).

For SR-IOV devices, however, several virtual functions tend to have a common
domain+bus+device, which leads to all of those being marked as dependent on
each other, and all passed-through to the same VM. This patch fixes it by
extending the heuristic by marking all MxGPU VFs as independent.

Signed-off-by: Rob Hoes <8783b3376fb07d39edffc8d7da68a6de3874a7e6@citrix.com>

euanh/xen-api,Frezzle/xen-api,srowe/xen-api,euanh/xen-api,Frezzle/xen-api,euanh/xen-api,euanh/xen-api,Frezzle/xen-api,euanh/xen-api,srowe/xen-api,Frezzle/xen-api,euanh/xen-api,srowe/xen-api,srowe/xen-api,srowe/xen-api,Frezzle/xen-api