All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/5] Implement SR-IOV support for PVH
@ 2026-10-15 14:08 Mykyta Poturai
  2026-10-15 14:08 ` [PATCH v4 1/5] vpci: Export functions required for SR-IOV support Mykyta Poturai
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Mykyta Poturai @ 2026-10-15 14:08 UTC (permalink / raw)
  To: xen-devel@lists.xenproject.org
  Cc: Mykyta Poturai, Roger Pau Monné, Stewart Hildebrand,
	Andrew Cooper, Anthony PERARD, Michal Orzel, Jan Beulich,
	Julien Grall, Stefano Stabellini, Oleksii Kurochko,
	Community Manager, Roger Pau Monné, Daniel P. Smith

This series enables support for PCI SR-IOV capability for PVH domains.
It allows Dom0 to enable and use SR-IOV virtual functions and for these
functions to be passed to guests.

To achieve this, add handlers for SRIOV_CONTROL registers and simplified
handlers for VF headers. Dom0 enables SR-IOV; Xen then discovers the VFs
itself, terminating config space accesses to them for 100ms as the spec
permits, and adding each VF on the first access past that window. No
hypercall from dom0 is involved.

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/

v3->v4:
* rework the series for VF discovery in Xen
* squash export patches
* drop "vpci: Use pervcpu ranges for BAR mapping"; rangesets are now
  allocated per mapping task
* split the non-functional churn into "vpci: use a local variable for
  the BAR rangeset"
* fold the documentation patch into "add SR-IOV support for PVH Dom0"
* see individual patches


v2->v3:
* rework the series for VF discovery by Dom0
* drop pci/iommu: Check that IOMMU supports removing devices, see [2]
* drop vpci: add a wait operation to the vpci vcpu pending actions
* add vpci: allow queueing of mapping operations
* minor changes in individual patches

[2]: https://patchew.org/Xen/a59c2da0d4c72deb42950e9a8e3982fbdee60668.1775555766.git.mykyta._5Fpoturai@epam.com/
v1->v2:
* rework the series for VF discovery in Xen
* separate doc changes into the last patch

Mykyta Poturai (1):
  vpci: use a local variable for the BAR rangeset

Stewart Hildebrand (4):
  vpci: Export functions required for SR-IOV support
  vpci: allow queueing of mapping operations
  vpci: add SR-IOV support for PVH Dom0
  vpci: add SR-IOV support for DomUs

 CHANGELOG.md                  |   1 +
 SUPPORT.md                    |   2 -
 tools/tests/vpci/emul.h       |   4 +
 xen/common/domain.c           |   2 +
 xen/drivers/passthrough/pci.c |  44 +++
 xen/drivers/pci/physdev.c     |  16 +-
 xen/drivers/vpci/Makefile     |   1 +
 xen/drivers/vpci/header.c     | 309 +++++++++++-------
 xen/drivers/vpci/private.h    |  24 ++
 xen/drivers/vpci/sriov.c      | 568 ++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c       |  24 +-
 xen/include/xen/pci.h         |   3 +
 xen/include/xen/vpci.h        |  45 ++-
 13 files changed, 909 insertions(+), 134 deletions(-)
 create mode 100644 xen/drivers/vpci/sriov.c

-- 
2.55.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-10-15 14:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-15 14:08 [PATCH v4 0/5] Implement SR-IOV support for PVH Mykyta Poturai
2026-10-15 14:08 ` [PATCH v4 1/5] vpci: Export functions required for SR-IOV support Mykyta Poturai
2026-10-15 14:08 ` [PATCH v4 2/5] vpci: use a local variable for the BAR rangeset Mykyta Poturai
2026-10-15 14:08 ` [PATCH v4 4/5] vpci: add SR-IOV support for PVH Dom0 Mykyta Poturai
2026-10-15 14:08 ` [PATCH v4 5/5] vpci: add SR-IOV support for DomUs Mykyta Poturai
2026-10-15 14:08 ` [PATCH v4 3/5] vpci: allow queueing of mapping operations Mykyta Poturai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.