Hello all,
This is next version of vPCI rework. Aim of this series is to prepare
ground for introducing PCI support on ARM platform.
This vesion 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".
Changes from previous versions are described in each separate patch.
Oleksandr Andrushchenko (12):
vpci: use per-domain PCI lock to protect vpci structure
vpci: restrict unhandled read/write operations for guests
vpci: add hooks for PCI device assign/de-assign
vpci/header: implement guest BAR register handlers
rangeset: add RANGESETF_no_print flag
vpci/header: handle p2m range sets per BAR
vpci/header: program p2m with guest BAR view
vpci/header: emulate PCI_COMMAND register for guests
vpci/header: reset the command register when adding devices
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
Stewart Hildebrand (2):
xen/arm: vpci: check guest range
xen/arm: vpci: permit access to guest vpci space
Volodymyr Babchuk (2):
pci: introduce per-domain PCI rwlock
vpci/header: rework exit path in init_bars
xen/arch/arm/vpci.c | 71 ++-
xen/arch/x86/hvm/vmsi.c | 24 +-
xen/arch/x86/hvm/vmx/vmx.c | 2 -
xen/arch/x86/irq.c | 15 +-
xen/arch/x86/msi.c | 8 +-
xen/common/domain.c | 5 +-
xen/common/rangeset.c | 5 +-
xen/drivers/Kconfig | 4 +
xen/drivers/passthrough/amd/pci_amd_iommu.c | 9 +-
xen/drivers/passthrough/pci.c | 103 +++-
xen/drivers/passthrough/vtd/iommu.c | 9 +-
xen/drivers/vpci/header.c | 497 ++++++++++++++++----
xen/drivers/vpci/msi.c | 32 +-
xen/drivers/vpci/msix.c | 56 ++-
xen/drivers/vpci/vpci.c | 158 ++++++-
xen/include/xen/rangeset.h | 5 +-
xen/include/xen/sched.h | 9 +
xen/include/xen/vpci.h | 39 +-
18 files changed, 868 insertions(+), 183 deletions(-)
--
2.41.0