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.