[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 0/7] Implement SR-IOV support for PVH
- To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
- Date: Thu, 9 Apr 2026 14:01:32 +0000
- Accept-language: en-US
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KNhpqQV4Elddv8NpcHEijEkuM22dMa82qo23nZdgrfk=; b=f6MlDiIQiZ6n9jfuAogBQdgBUFR1tn8iLTSNUaAVhpZr2/EIe3LNsAirLJ0FUwFY7XU53e5Zqu1P4mRdPXJyIHke3qw1mL7JKan+poHYOie2e+KytEp6mBl3+2RISPXALQX2DOAHkGHl8t2GyQjjgV+io76ct60SLRkyRQmTAa1zCAKKJF84lWWtzmW8ukqjyA4aB7VuoEbdpofZAmIA7QsP4xbjRPCvoLh8GlxBHHCy6dFpz3Sty0tOHLgFIdzxcP18FGxT8qpnc9rwDc8wGp74eVS9JCS7DXtaS8M2Eym337cMR7dGLoXZxB3kLstwe/CjlGMA/QWdsZJ1Gi0x1w==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=FNTXwFEwd1sibsZV9q0cfArb7KsR+MNa57Q4OlYE3eYUKK0okCnJwn8xwXBGk6ZOYVg4i6qPDdOsJAeQrTRFhsJ/FQVyB8MiTxGUlJT9CxtM38wC0vpYntwPnEk06YwNEI660UjSg0bmqYgNiGmAFPj5RZO6Tfm/ictW8ay09Qjeuaf6NFYrwC/VlxSybALCTuURmnX4G02c04ikMg3OQBQyOYB+loo951ai/1TG0zFQvhuGFijxIaDqtqkC8bsOvUlknnFjxNFCE5gD/KCFdTKGJXw45OGWbmXvq4eWKXLwjHp/oqwKlsKOkuDI9szMUqqxl4kYqLIogGioS1Uqlw==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:x-ms-exchange-senderadcheck"
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
- Cc: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
- Delivery-date: Thu, 09 Apr 2026 14:01:41 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Thread-index: AQHcyCleot7eiSMfSk+JzvPQ8+rmCA==
- Thread-topic: [PATCH v3 0/7] Implement SR-IOV support for PVH
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, simplified handlers
for VFs headers. Xen relies on dom0 to enable SR-IOV and call
PHYSDEVOP_pci_device_* to inform about addition/removal of VFs.
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@xxxxxxxxxx/
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@xxxxxxxx/
v1->v2:
* rework the series for VF discovery in Xen
* separate doc changes into the last patch
Mykyta Poturai (2):
vpci: Use pervcpu ranges for BAR mapping
docs: Update SR-IOV support status
Stewart Hildebrand (5):
vpci: rename and export vpci_modify_bars
vpci: rename and export vpci_guest_mem_bar_{read,write}
vpci: allow queueing of mapping operations
vpci: add SR-IOV support for PVH Dom0
vpci: add SR-IOV support for DomUs
SUPPORT.md | 2 -
xen/common/domain.c | 2 +
xen/drivers/vpci/Makefile | 1 +
xen/drivers/vpci/header.c | 314 +++++++++++++++++++------------
xen/drivers/vpci/private.h | 10 +
xen/drivers/vpci/sriov.c | 366 +++++++++++++++++++++++++++++++++++++
xen/drivers/vpci/vpci.c | 10 +-
xen/include/xen/vpci.h | 28 ++-
8 files changed, 607 insertions(+), 126 deletions(-)
create mode 100644 xen/drivers/vpci/sriov.c
--
2.51.2
|