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

[PATCH v7 00/12] PCI devices passthrough on Arm, part 3


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Date: Tue, 13 Jun 2023 10:32:26 +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=WiG9vC34t2GxGzLSOhrsfH8tHrKU/OCY0N5867nXnSg=; b=HCCBdJhKYOJqyFbwX2RWIh7o0fpA71UDiPRzRsn1glyyB7SDXdrAcSRh+JEJncUxqbaYj5B1kZyV8i+3DPUwmIEjbKG32JryYYVzswoPQcKrtaVBI1Xv2pl9G2Rt8xF6LXxRo3CtbYK/zeSFLxQw5auuXrqKioRhifRUs9jdiYYKMmNH4dx6KDj/m9TUl0oFzYTkVI6ctjNN34GLbkBLZi6JVLciWG5SvY30l2gBheu4sjFD3dgRAmjFQdDC0IJDrK/WkQNwBil0u+jakkEgvYXM5OOM21+w6R2QAFCD0MtOGePNWsc2iGy8tLZ1INkojGyuXuvJ8s499xSvcY7SxA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HFo7Sa8zm/Ht66kAc4Xn6T+u7b5NHw8DTsD5ymKb6G+HVLVtu4JExg5+KdMKUBf7D2ljXxXhgGCKFizly18kJhngo6BaDC1uap98ChsL+qxiRWC3eb2jivFSm8mIt2YWQYnTK+VVcJC5x+ADUyceHjInyP575OFpZvfgwIpzedtwT7G8KNqc5kxkAXnCph+dw1//fxF4dNKfeqCc5uBl+DcC7pe7323385bJOmTXoqcX0bQOFAN8oCG+umRm61IHrJdMf9K7Bib99gt3QQ9i6nuYo82M/AjCMlgnA2bQ7Hl/lxyhpiIcjSWV6HIKIegku4Mrpo9M9ha6YkQRh8QTVw==
  • Cc: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Tue, 13 Jun 2023 10:33:04 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHZneJYJeyWMREaaUSf/027X0QuCg==
  • Thread-topic: [PATCH v7 00/12] PCI devices passthrough on Arm, part 3

Hello,

This is another another version of vPCI rework (previous one can be
found at [1]). The biggest change is how vPCI locking is done. This
series uses per-domain vPCI rwlock.

Note that this series does not include my work on reference counting
for PCI devices because this counting does not resolve isses we are
having for vPCI. While it is (maybe) nice to have PCI refcounting, it
does not moves us towards PCI on ARM.


[1] https://lore.kernel.org/all/20220204063459.680961-1-andr2000@xxxxxxxxx/

Oleksandr Andrushchenko (12):
  vpci: introduce per-domain 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

 xen/arch/arm/vpci.c           |  31 ++-
 xen/arch/x86/hvm/vmsi.c       |   7 +
 xen/common/domain.c           |   3 +
 xen/common/rangeset.c         |   5 +-
 xen/drivers/Kconfig           |   4 +
 xen/drivers/passthrough/pci.c |  16 ++
 xen/drivers/vpci/header.c     | 485 ++++++++++++++++++++++++++++------
 xen/drivers/vpci/msi.c        |  29 +-
 xen/drivers/vpci/msix.c       |  55 +++-
 xen/drivers/vpci/vpci.c       | 257 ++++++++++++++++--
 xen/include/xen/pci.h         |   1 +
 xen/include/xen/rangeset.h    |   5 +-
 xen/include/xen/sched.h       |  11 +
 xen/include/xen/vpci.h        |  47 +++-
 14 files changed, 826 insertions(+), 130 deletions(-)

-- 
2.40.1

 


Rackspace

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