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