[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v9 00/16] PCI devices passthrough on Arm, part 3


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Date: Tue, 29 Aug 2023 23:19:41 +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=arcselector9901; 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=uPcQXPgI5mctGtrdP3jDDvVvUOnHDqkbfoeVa86vr+I=; b=Kl2MIyHpnRqJOu65xDcql0WPcuKvh/OQw4uB72qc6Nj64CKoZ/0wkrVessRuWh3RyCR1m6VivtrmdRKQVreWMcciySZ+BLgbMl+BxLm9ef+nGD/U8Sg5C1pljkvPNJnSa9ZFF2ghwYqXLw80BBXsFMFsn7FC1CSV69XkYNkDN0MuO3M+qnAUm+XT/XaXjKZGg7SHm4JXHa1fvA5xlB632+8Ty64kilXjp5umCZj5dMirLXH4KBR+J1LUEmNsNonwIaMo99jdajo9NWJIBjxHaVUoFmaN6cpUlitvmF6KRabtHw0x2oqni6qDzuuIbHIVBQupcAFC3D4llMLE74Bgkw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nwRFIKQxV/4EBeCnkN+k9tbYlODgl03wOQ507M0uDlnZN9MLrGeTRSY3JYW5n/SXOKSUuwpEZ2IiNO5430mJc6YyAVYiQVm+/RjC0CzNDRlKBG+oy1G8MQRB7JNSKboCpF6RXKaQhX+pMVRcTn0TIabLtXxD0w2KvoF1VicF75z5BWry3QQKRiNuiJJeBHJXh/Zf4NNRYzShPnr573zK3kLgQ73tggDQFH5gZLbt7dLre26zZ8nBw/Na3uxb4+gM2D+zLBvu1a94Au54eAeoocW6YkRwSa7roNwDfUa6ePzNYui/jmsPBYG/HxJ8Biiqm+Bx+bEOl1wszmgOlC3isw==
  • Cc: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Paul Durrant <paul@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Kevin Tian <kevin.tian@xxxxxxxxx>, Jun Nakajima <jun.nakajima@xxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Tue, 29 Aug 2023 23:20:13 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHZ2s9JMemQqeQYOU6/+Cr/izf61Q==
  • Thread-topic: [PATCH v9 00/16] PCI devices passthrough on Arm, part 3

Hello all,

This is next version of vPCI rework. Aim of this series is to prepare
ground for introducing PCI support on ARM platform.

This vesion includes addressed commentes from a previous one. Also it
introduces a couple patches from Stewart. This patches are related to
vPCI use on ARM. Patch "vpci/header: rework exit path in init_bars"
was factored-out from "vpci/header: handle p2m range sets per BAR".

Changes from previous versions are described in each separate patch.

Oleksandr Andrushchenko (12):
  vpci: use per-domain PCI lock to protect vpci structure
  vpci: restrict unhandled read/write operations for guests
  vpci: add hooks for PCI device assign/de-assign
  vpci/header: implement guest BAR register handlers
  rangeset: add RANGESETF_no_print flag
  vpci/header: handle p2m range sets per BAR
  vpci/header: program p2m with guest BAR view
  vpci/header: emulate PCI_COMMAND register for guests
  vpci/header: reset the command register when adding devices
  vpci: add initial support for virtual PCI bus topology
  xen/arm: translate virtual PCI bus topology for guests
  xen/arm: account IO handlers for emulated PCI MSI-X

Stewart Hildebrand (2):
  xen/arm: vpci: check guest range
  xen/arm: vpci: permit access to guest vpci space

Volodymyr Babchuk (2):
  pci: introduce per-domain PCI rwlock
  vpci/header: rework exit path in init_bars

 xen/arch/arm/vpci.c                         |  71 ++-
 xen/arch/x86/hvm/vmsi.c                     |  24 +-
 xen/arch/x86/hvm/vmx/vmx.c                  |   2 -
 xen/arch/x86/irq.c                          |  15 +-
 xen/arch/x86/msi.c                          |   8 +-
 xen/common/domain.c                         |   5 +-
 xen/common/rangeset.c                       |   5 +-
 xen/drivers/Kconfig                         |   4 +
 xen/drivers/passthrough/amd/pci_amd_iommu.c |   9 +-
 xen/drivers/passthrough/pci.c               | 103 +++-
 xen/drivers/passthrough/vtd/iommu.c         |   9 +-
 xen/drivers/vpci/header.c                   | 497 ++++++++++++++++----
 xen/drivers/vpci/msi.c                      |  32 +-
 xen/drivers/vpci/msix.c                     |  56 ++-
 xen/drivers/vpci/vpci.c                     | 158 ++++++-
 xen/include/xen/rangeset.h                  |   5 +-
 xen/include/xen/sched.h                     |   9 +
 xen/include/xen/vpci.h                      |  39 +-
 18 files changed, 868 insertions(+), 183 deletions(-)

-- 
2.41.0

 


Rackspace

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