[PATCH v4 00/11] PCI devices passthrough on Arm, part 2

Oleksandr Andrushchenko posted 11 patches 2 weeks, 3 days ago
tools/libs/light/Makefile          |  4 ++
tools/libs/light/libxl_pci.c       | 15 ++++-
xen/arch/arm/domain.c              | 11 +++-
xen/arch/arm/domain_build.c        | 50 ++++++++--------
xen/arch/arm/pci/ecam.c            | 14 +++++
xen/arch/arm/pci/pci-host-common.c | 93 ++++++++++++++++++++++++++++++
xen/arch/arm/pci/pci-host-zynqmp.c |  1 +
xen/arch/arm/pci/pci.c             | 12 ++++
xen/arch/arm/traps.c               | 13 +++++
xen/arch/arm/vpci.c                | 34 +++++++++++
xen/arch/arm/vpci.h                |  6 ++
xen/arch/x86/hvm/hvm.c             |  6 ++
xen/common/device_tree.c           |  2 +-
xen/common/ioreq.c                 |  9 ---
xen/drivers/passthrough/pci.c      |  2 +
xen/include/asm-arm/device.h       |  6 +-
xen/include/asm-arm/pci.h          | 30 ++++++++++
xen/include/asm-arm/setup.h        | 13 +++++
xen/include/asm-x86/pci.h          |  2 +
xen/include/xen/device_tree.h      |  2 +
20 files changed, 286 insertions(+), 39 deletions(-)

[PATCH v4 00/11] PCI devices passthrough on Arm, part 2

Posted by Oleksandr Andrushchenko 2 weeks, 3 days ago
From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Hi, all!

This is an assorted series of patches which aim is to make some further
basis for PCI passthrough on Arm support. The series continues the work
published earlier by Arm [1] and adds new helpers and clears the way for
vPCI changes which will follow.

RFC is at [2], [3]. Design presentation can be found at [4].

Thank you,
Oleksandr

[1] https://patchwork.kernel.org/project/xen-devel/list/?series=557111
[2] https://lists.xenproject.org/archives/html/xen-devel/2020-07/msg01184.html
[3] https://lists.xenproject.org/archives/html/xen-devel/2020-07/threads.html#01184
[4] https://static.sched.com/hosted_files/xen2021/e4/PCI_Device_Passthrough_On_Arm.pdf

Oleksandr Andrushchenko (10):
  xen/arm: Fix dev_is_dt macro definition
  xen/arm: Add new device type for PCI
  xen/arm: Introduce pci_find_host_bridge_node helper
  xen/device-tree: Make dt_find_node_by_phandle global
  xen/arm: Mark device as PCI while creating one
  libxl: Allow removing PCI devices for all types of domains
  libxl: Only map legacy PCI IRQs if they are supported
  xen/arm: Setup MMIO range trap handlers for hardware domain
  xen/arm: Do not map PCI ECAM and MMIO space to Domain-0's p2m
  xen/arm: Process pending vPCI map/unmap operations

Oleksandr Tyshchenko (1):
  xen/domain: Call pci_release_devices() when releasing domain resources

 tools/libs/light/Makefile          |  4 ++
 tools/libs/light/libxl_pci.c       | 15 ++++-
 xen/arch/arm/domain.c              | 11 +++-
 xen/arch/arm/domain_build.c        | 50 ++++++++--------
 xen/arch/arm/pci/ecam.c            | 14 +++++
 xen/arch/arm/pci/pci-host-common.c | 93 ++++++++++++++++++++++++++++++
 xen/arch/arm/pci/pci-host-zynqmp.c |  1 +
 xen/arch/arm/pci/pci.c             | 12 ++++
 xen/arch/arm/traps.c               | 13 +++++
 xen/arch/arm/vpci.c                | 34 +++++++++++
 xen/arch/arm/vpci.h                |  6 ++
 xen/arch/x86/hvm/hvm.c             |  6 ++
 xen/common/device_tree.c           |  2 +-
 xen/common/ioreq.c                 |  9 ---
 xen/drivers/passthrough/pci.c      |  2 +
 xen/include/asm-arm/device.h       |  6 +-
 xen/include/asm-arm/pci.h          | 30 ++++++++++
 xen/include/asm-arm/setup.h        | 13 +++++
 xen/include/asm-x86/pci.h          |  2 +
 xen/include/xen/device_tree.h      |  2 +
 20 files changed, 286 insertions(+), 39 deletions(-)

-- 
2.25.1