All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "Mykyta Poturai" <Mykyta_Poturai@epam.com>,
	"Roger Pau Monné" <roger@xenproject.org>,
	"Stewart Hildebrand" <stewart.hildebrand@amd.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Anthony PERARD" <anthony.perard@vates.tech>,
	"Michal Orzel" <michal.orzel@amd.com>,
	"Jan Beulich" <jbeulich@suse.com>,
	"Julien Grall" <julien@xen.org>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Oleksii Kurochko" <oleksii.kurochko@gmail.com>,
	"Community Manager" <community.manager@xenproject.org>,
	"Roger Pau Monné" <roger@xenproject.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v4 0/5] Implement SR-IOV support for PVH
Date: Thu, 15 Oct 2026 14:08:36 +0000	[thread overview]
Message-ID: <cover.1792072426.git.mykyta_poturai@epam.com> (raw)

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

             reply	other threads:[~2026-10-15 14:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-15 14:08 Mykyta Poturai [this message]
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 1/5] vpci: Export functions required for SR-IOV support 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1792072426.git.mykyta_poturai@epam.com \
    --to=mykyta_poturai@epam.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=anthony.perard@vates.tech \
    --cc=community.manager@xenproject.org \
    --cc=dpsmith@apertussolutions.com \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=michal.orzel@amd.com \
    --cc=oleksii.kurochko@gmail.com \
    --cc=roger@xenproject.com \
    --cc=roger@xenproject.org \
    --cc=sstabellini@kernel.org \
    --cc=stewart.hildebrand@amd.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.