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
next 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.