|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v16 0/5] PCI devices passthrough on Arm, part 3
On 2/28/25 09:40, Mykyta Poturai wrote:
> 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?
("xen/arm: account IO handlers for emulated PCI MSI-X") was sort of a
presumptive change related to future work, and I think it should wait
until the IO handlers are present on Arm, if they are even needed at
all.
There was some additional dialogue following ("xen/arm: translate
virtual PCI bus topology for guests") that may need to be investigated.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |