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=550933
[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 | 38 ++++++++----
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 | 10 ++++
xen/arch/arm/traps.c | 13 +++++
xen/arch/arm/vpci.c | 33 +++++++++++
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 | 3 +
xen/include/asm-arm/device.h | 6 +-
xen/include/asm-arm/pci.h | 24 ++++++++
xen/include/asm-arm/setup.h | 13 +++++
xen/include/xen/device_tree.h | 2 +
19 files changed, 275 insertions(+), 28 deletions(-)
--
2.25.1