mbox series

[v7,0/7] PCI devices passthrough on Arm, part 2

Message ID 20211124075942.2645445-1-andr2000@gmail.com (mailing list archive)
Headers show
Series PCI devices passthrough on Arm, part 2 | expand

Message

Oleksandr Andrushchenko Nov. 24, 2021, 7:59 a.m. UTC
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].

I have removed patch
[PATCH v6 5/7] xen/arm: do not map IRQs and memory for disabled devices
as it seems that this needs more time for decision on how to achive
that.

I have also added a new patch
[PATCH v7 4/7] xen/arm: account IO handler for emulated PCI host bridge
with a tiny latent bug fix.

Thank you,
Oleksandr

[1] https://patchwork.kernel.org/project/xen-devel/list/?series=558681
[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 (7):
  xen/arm: rename DEVICE_PCI to DEVICE_PCI_HOSTBRIDGE
  xen/arm: add pci-domain for disabled devices
  xen/arm: setup MMIO range trap handlers for hardware domain
  xen/arm: account IO handler for emulated PCI host bridge
  xen/arm: do not map PCI ECAM and MMIO space to Domain-0's p2m
  xen/arm: process pending vPCI map/unmap operations
  xen/arm: do not use void pointer in pci_host_common_probe

 xen/arch/arm/domain.c               |   2 +
 xen/arch/arm/domain_build.c         | 132 +++++++++++++++++++---------
 xen/arch/arm/pci/ecam.c             |  18 +++-
 xen/arch/arm/pci/pci-host-common.c  |  81 +++++++++++++++--
 xen/arch/arm/pci/pci-host-generic.c |   2 +-
 xen/arch/arm/pci/pci-host-zynqmp.c  |   3 +-
 xen/arch/arm/pci/pci.c              |   2 +-
 xen/arch/arm/traps.c                |  13 +++
 xen/arch/arm/vpci.c                 |  80 +++++++++++++++--
 xen/arch/arm/vpci.h                 |   6 ++
 xen/arch/x86/hvm/hvm.c              |   6 ++
 xen/common/ioreq.c                  |   9 --
 xen/include/asm-arm/device.h        |   2 +-
 xen/include/asm-arm/pci.h           |  27 +++++-
 xen/include/asm-arm/setup.h         |  13 +++
 15 files changed, 323 insertions(+), 73 deletions(-)

Comments

Julien Grall Dec. 3, 2021, 1:01 p.m. UTC | #1
Hi Oleksandr,

On 24/11/2021 07:59, Oleksandr Andrushchenko wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 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].
> 
> I have removed patch
> [PATCH v6 5/7] xen/arm: do not map IRQs and memory for disabled devices
> as it seems that this needs more time for decision on how to achive
> that.
> 
> I have also added a new patch
> [PATCH v7 4/7] xen/arm: account IO handler for emulated PCI host bridge
> with a tiny latent bug fix.
> 
> Thank you,
> Oleksandr
> 
> [1] https://patchwork.kernel.org/project/xen-devel/list/?series=558681
> [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 (7):
>    xen/arm: rename DEVICE_PCI to DEVICE_PCI_HOSTBRIDGE

[...]

>    xen/arm: do not use void pointer in pci_host_common_probe

I have committed these two commits. I was going to also commit patch #6, 
but it looks like an ack is missing from Paul.

I still haven't reviewed the rest of the patches.

Cheers,