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 register and simplified handlers for VFs header were implemented. Core functionality is based on previous works [1] and [2]. Xen relies on dom0 to enable SR-IOV and call PHYSDEVOP_pci_device_* to inform about addition/removal of VFs. Tested on R-Car Spider board with Samsung NVMe SSD Controller 980 and Intel X550T ethernet card. Mykyta Poturai (1): vpci: rename and export vpci_bar_add_rangeset Stewart Hildebrand (5): 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: export vpci_init_capability_list() vpci: add SR-IOV support for DomUs CHANGELOG.md | 3 +- SUPPORT.md | 2 - xen/drivers/vpci/Makefile | 2 +- xen/drivers/vpci/header.c | 49 +++--- xen/drivers/vpci/sriov.c | 352 ++++++++++++++++++++++++++++++++++++++ xen/drivers/vpci/vpci.c | 1 + xen/include/xen/vpci.h | 20 ++- 7 files changed, 402 insertions(+), 27 deletions(-) create mode 100644 xen/drivers/vpci/sriov.c -- 2.34.1