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

Re: [PATCH v16 0/5] PCI devices passthrough on Arm, part 3


  • To: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Mykyta Poturai <Mykyta_Poturai@xxxxxxxx>
  • Date: Fri, 28 Feb 2025 14:40:28 +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=2BG7ZV2KxvzaYhSGnlIKY6PasTLDjRnsspTXgVhkq3c=; b=KlcPYNwJ+5zS4aAjF0LrB7hdFIcbZBLjkRH5pY1hb/er9ptEYTUf+sGYrGfLOAoMf69puQKARimel14aUiREEvg2RwgoZ+qWAK7dwZwUUmEVPIPC50WIkj3TeqO+Fru9V6+ENcEVjlWWUGIy6I37NJtV/zZqAGmfu/Yjqqffek9iYjESa3Fz+ETVDkBBb/D8ftmhuiKOxiMETGfg2OYzalQvsWDw7hAWj8fwBxH9ZTPgjS7jDKPwvOMFnNo9Je1lFMEBc4XGoWVqareTV4sAMx1u3nl7jmNKQFKyIlHkIvqvkTX1kHVZpPSEyZzeQXZ8r+ilstDW7Lx6qz9O2cDWZQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AT5N/xrVRCvxe57curiO0taWEDI1AVqu1Bo3V9BisNL/oAtFg64iXPqir/mFpODNEoCSJq1BuG5TiajS0oZz8cmjgMpC1GrbSUrgr2QokWG/GawImp+pujGQov3/AsvJSEvkP9nFF7S1bF0PsznTb+6pVgTCyshZjkKdWUfAsMZ57HhIBSN90Zh7oVdjbZtyX8NmgyyfM6farpGnNerFjoDRcExlUOQtdT5elpBa3V5NP3BaRM6WEi6IEQmqx4qFYRuw9iyI8cFPeALfWp+p00XtIedAKUSRCULnu+DD0ZRE+cZMz9XiBwWzWJcjxVckOAG8HUKUiK52gwdF+OxmDQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>
  • Delivery-date: Fri, 28 Feb 2025 14:40:41 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHarJvJwdjYrmiobk+ttSutSUp5prNehDMA
  • Thread-topic: [PATCH v16 0/5] PCI devices passthrough on Arm, part 3

On 23.05.24 01:59, Stewart Hildebrand wrote:
> This is next version of vPCI rework. Aim of this series is to prepare
> ground for introducing PCI support on ARM platform.
> 
> in v16:
>   - minor updates - see individual patches
> 
> in v15:
>   - reorder so ("arm/vpci: honor access size when returning an error")
>     comes first
> 
> in v14:
>   - drop first 9 patches as they were committed
>   - updated ("vpci/header: emulate PCI_COMMAND register for guests")
> 
> in v13:
>   - drop ("xen/arm: vpci: permit access to guest vpci space") as it was
>     unnecessary
> 
> in v12:
>   - I (Stewart) coordinated with Volodomyr to send this whole series. So,
>     add my (Stewart) Signed-off-by to all patches.
>   - The biggest change is to re-work the PCI_COMMAND register patch.
>     Additional feedback has also been addressed - see individual patches.
>   - Drop ("pci: msi: pass pdev to pci_enable_msi() function") and
>     ("pci: introduce per-domain PCI rwlock") as they were committed
>   - Rename ("rangeset: add rangeset_empty() function")
>         to ("rangeset: add rangeset_purge() function")
>   - Rename ("vpci/header: rework exit path in init_bars")
>         to ("vpci/header: rework exit path in init_header()")
> 
> in v11:
>   - Added my (Volodymyr) Signed-off-by tag to all patches
>   - Patch "vpci/header: emulate PCI_COMMAND register for guests" is in
>     intermediate state, because it was agreed to rework it once Stewart's
>     series on register handling are in.
>   - Addressed comments, please see patch descriptions for details.
> 
> in v10:
> 
>   - Removed patch ("xen/arm: vpci: check guest range"), proper fix
>     for the issue is part of ("vpci/header: emulate PCI_COMMAND
>     register for guests")
>   - Removed patch ("pci/header: reset the command register when adding
>     devices")
>   - Added patch ("rangeset: add rangeset_empty() function") because
>     this function is needed in ("vpci/header: handle p2m range sets
>     per BAR")
>   - Added ("vpci/header: handle p2m range sets per BAR") which addressed
>     an issue discovered by Andrii Chepurnyi during virtio integration
>   - Added ("pci: msi: pass pdev to pci_enable_msi() function"), which is
>     prereq for ("pci: introduce per-domain PCI rwlock")
>   - Fixed "Since v9/v8/... " comments in changelogs to reduce confusion.
>     I left "Since" entries for older versions, because they were added
>     by original author of the patches.
> 
> in v9:
> 
> v9 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".
> 
> in v8:
> 
> The biggest change from previous, mistakenly named, v7 series is how
> locking is implemented. Instead of d->vpci_rwlock we introduce
> d->pci_lock which has broader scope, as it protects not only domain's
> vpci state, but domain's list of PCI devices as well.
> 
> As we discussed in IRC with Roger, it is not feasible to rework all
> the existing code to use the new lock right away. It was agreed that
> any write access to d->pdev_list will be protected by **both**
> d->pci_lock in write mode and pcidevs_lock(). Read access on other
> hand should be protected by either d->pci_lock in read mode or
> pcidevs_lock(). It is expected that existing code will use
> pcidevs_lock() and new users will use new rw lock. Of course, this
> does not mean that new users shall not use pcidevs_lock() when it is
> appropriate.
> 
> Changes from previous versions are described in each separate patch.
> 
> Oleksandr Andrushchenko (4):
>    vpci/header: emulate PCI_COMMAND register for guests
>    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
> 
> Volodymyr Babchuk (1):
>    arm/vpci: honor access size when returning an error
> 
>   xen/arch/arm/vpci.c        | 63 +++++++++++++++++++++++------
>   xen/drivers/Kconfig        |  4 ++
>   xen/drivers/vpci/header.c  | 60 +++++++++++++++++++++++++---
>   xen/drivers/vpci/msi.c     |  9 +++++
>   xen/drivers/vpci/msix.c    |  7 ++++
>   xen/drivers/vpci/vpci.c    | 81 ++++++++++++++++++++++++++++++++++++++
>   xen/include/xen/pci_regs.h |  1 +
>   xen/include/xen/sched.h    | 10 ++++-
>   xen/include/xen/vpci.h     | 28 +++++++++++++
>   9 files changed, 244 insertions(+), 19 deletions(-)
> 
> 
> base-commit: ced21fbb2842ac4655048bdee56232974ff9ff9c


Hi everyone
I see that the first three patches from this series were merged, but 
patches 4 and 5 were not, despite having acks. Is there something else 
wrong with them that needs addressing, or were they just missed by accident?

-- 
Mykyta

 


Rackspace

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