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/20180717094830.54806-1-roger.pau@citrix.com/
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