summaryrefslogtreecommitdiffstats
path: root/hw/pci
diff options
context:
space:
mode:
authorŁukasz Gieryk2022-02-17 18:44:52 +0100
committerMichael S. Tsirkin2022-03-06 11:08:23 +0100
commit69387f4915afe4abe61c028cef30f56562d802a4 (patch)
treeeb62f290d592645f193d3524535bafbb5f8ac3d1 /hw/pci
parentpcie: Add some SR/IOV API documentation in docs/pcie_sriov.txt (diff)
downloadqemu-69387f4915afe4abe61c028cef30f56562d802a4.tar.gz
qemu-69387f4915afe4abe61c028cef30f56562d802a4.tar.xz
qemu-69387f4915afe4abe61c028cef30f56562d802a4.zip
pcie: Add a helper to the SR/IOV API
Convenience function for retrieving the PCIDevice object of the N-th VF. Signed-off-by: Łukasz Gieryk <lukasz.gieryk@linux.intel.com> Reviewed-by: Knut Omang <knuto@ifi.uio.no> Message-Id: <20220217174504.1051716-4-lukasz.maniak@linux.intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw/pci')
-rw-r--r--hw/pci/pcie_sriov.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
index 3f256d483f..87abad6ac8 100644
--- a/hw/pci/pcie_sriov.c
+++ b/hw/pci/pcie_sriov.c
@@ -287,8 +287,16 @@ uint16_t pcie_sriov_vf_number(PCIDevice *dev)
return dev->exp.sriov_vf.vf_number;
}
-
PCIDevice *pcie_sriov_get_pf(PCIDevice *dev)
{
return dev->exp.sriov_vf.pf;
}
+
+PCIDevice *pcie_sriov_get_vf_at_index(PCIDevice *dev, int n)
+{
+ assert(!pci_is_vf(dev));
+ if (n < dev->exp.sriov_pf.num_vfs) {
+ return dev->exp.sriov_pf.vf[n];
+ }
+ return NULL;
+}