This series enables support for PCI SR-IOV capabilty for PVH domains. It allows Dom0 to enable and use SR-IOV virtual functions and for this functions to be passed to guests.
To achieve this, handlers for SRIOV_CONTROL registes, simplified handlers for VFs header, and scanning for added VFs were implemented in Xen. Core functionality is based on previous work[1]. Tested on R-Car Spider board with Samsung NVMe SSD Controller 980 and Intel X550T ethernet card. [1]: https://lore.kernel.org/xen-devel/[email protected]/ v1->v2: * rework the series for VF discovery in Xen * separate doc changes into the last patch Mykyta Poturai (4): vpci: Use pervcpu ranges for BAR mapping vpci: add a wait operation to the vpci vcpu pending actions pci/iommu: Check that IOMMU supports removing devices docs: Update SR-IOV support status Stewart Hildebrand (4): vpci: rename and export vpci_modify_bars vpci: rename and export vpci_guest_mem_bar_{read,write} vpci: add SR-IOV support for PVH Dom0 vpci: add SR-IOV support for DomUs SUPPORT.md | 2 - xen/common/domain.c | 24 ++ xen/drivers/passthrough/pci.c | 6 + xen/drivers/vpci/Makefile | 2 +- xen/drivers/vpci/header.c | 226 +++++++++--------- xen/drivers/vpci/sriov.c | 420 ++++++++++++++++++++++++++++++++++ xen/drivers/vpci/vpci.c | 3 - xen/include/xen/vpci.h | 42 +++- 8 files changed, 608 insertions(+), 117 deletions(-) create mode 100644 xen/drivers/vpci/sriov.c -- 2.51.2
