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.

Reply via email to