[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 03/15] pcie: Add a helper to the SR/IOV API
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH v5 03/15] pcie: Add a helper to the SR/IOV API |
Date: |
Fri, 18 Feb 2022 03:25:06 -0500 |
On Thu, Feb 17, 2022 at 06:44:52PM +0100, Lukasz Maniak wrote:
> From: Łukasz Gieryk <lukasz.gieryk@linux.intel.com>
>
> 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>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> hw/pci/pcie_sriov.c | 10 +++++++++-
> include/hw/pci/pcie_sriov.h | 6 ++++++
> 2 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/hw/pci/pcie_sriov.c b/hw/pci/pcie_sriov.c
> index 3f256d483fa..87abad6ac86 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;
> +}
> diff --git a/include/hw/pci/pcie_sriov.h b/include/hw/pci/pcie_sriov.h
> index 990cff0a1c6..80f5c84e75c 100644
> --- a/include/hw/pci/pcie_sriov.h
> +++ b/include/hw/pci/pcie_sriov.h
> @@ -68,4 +68,10 @@ uint16_t pcie_sriov_vf_number(PCIDevice *dev);
> */
> PCIDevice *pcie_sriov_get_pf(PCIDevice *dev);
>
> +/*
> + * Get the n-th VF of this physical function - only valid for PF.
> + * Returns NULL if index is invalid
> + */
> +PCIDevice *pcie_sriov_get_vf_at_index(PCIDevice *dev, int n);
> +
> #endif /* QEMU_PCIE_SRIOV_H */
> --
> 2.25.1
- [PATCH v5 00/15] hw/nvme: SR-IOV with Virtualization Enhancements, Lukasz Maniak, 2022/02/17
- [PATCH v5 01/15] pcie: Add support for Single Root I/O Virtualization (SR/IOV), Lukasz Maniak, 2022/02/17
- [PATCH v5 02/15] pcie: Add some SR/IOV API documentation in docs/pcie_sriov.txt, Lukasz Maniak, 2022/02/17
- [PATCH v5 03/15] pcie: Add a helper to the SR/IOV API, Lukasz Maniak, 2022/02/17
- Re: [PATCH v5 03/15] pcie: Add a helper to the SR/IOV API,
Michael S. Tsirkin <=
- [PATCH v5 06/15] hw/nvme: Add support for Primary Controller Capabilities, Lukasz Maniak, 2022/02/17
- [PATCH v5 04/15] pcie: Add 1.2 version token for the Power Management Capability, Lukasz Maniak, 2022/02/17
- [PATCH v5 07/15] hw/nvme: Add support for Secondary Controller List, Lukasz Maniak, 2022/02/17
- [PATCH v5 05/15] hw/nvme: Add support for SR-IOV, Lukasz Maniak, 2022/02/17
- [PATCH v5 08/15] hw/nvme: Implement the Function Level Reset, Lukasz Maniak, 2022/02/17
- [PATCH v5 09/15] hw/nvme: Make max_ioqpairs and msix_qsize configurable in runtime, Lukasz Maniak, 2022/02/17
- [PATCH v5 10/15] hw/nvme: Remove reg_size variable and update BAR0 size calculation, Lukasz Maniak, 2022/02/17
- [PATCH v5 11/15] hw/nvme: Calculate BAR attributes in a function, Lukasz Maniak, 2022/02/17