[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
|