[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.