mbox series

[v2,0/8] xen/arm: Add support for SMMUv3 driver

Message ID cover.1606406359.git.rahul.singh@arm.com (mailing list archive)
Headers show
Series xen/arm: Add support for SMMUv3 driver | expand

Message

Rahul Singh Nov. 26, 2020, 5:01 p.m. UTC
This patch series is v2 of the work to add support for the SMMUv3 driver.

Approach taken is to first merge the Linux copy of the SMMUv3 driver
(tag v5.9.8) and then modify the driver to build on XEN.

Linux SMMUv3 code implements the commands-queue insertion based on atomic
operations implemented in Linux. Atomic functions used by the commands-queue
insertion is not implemented in XEN therefore we decided to revert the code
that implemented the commands-queue insertion based on atomic operations.
Once the proper atomic operations will be available in XEN the driver can be
updated to include the patch.

Remove the support for MSI and PCI ATS functionality as there is no support
available in XEN on ARM to test the functionality.

As of now only Stage-2 translation support has been tested. Stage-1
translation support is removed. Once Stage-1 translation support is tested code
can be added.

Code specific to Linux is removed from the driver to avoid dead code.

Rahul Singh (8):
  xen/arm: Import the SMMUv3 driver from Linux
  xen/arm: revert atomic operation related command-queue insertion patch
  xen/arm: revert patch related to XArray
  xen/arm: Remove support for MSI on SMMUv3
  xen/arm: Remove support for PCI ATS on SMMUv3
  xen/arm: Remove support for Stage-1 translation on SMMUv3.
  xen/arm: Remove Linux specific code that is not usable in XEN
  xen/arm: Add support for SMMUv3 driver

 MAINTAINERS                           |    6 +
 SUPPORT.md                            |    1 +
 xen/drivers/passthrough/Kconfig       |   10 +
 xen/drivers/passthrough/arm/Makefile  |    1 +
 xen/drivers/passthrough/arm/smmu-v3.c | 2954 +++++++++++++++++++++++++
 5 files changed, 2972 insertions(+)
 create mode 100644 xen/drivers/passthrough/arm/smmu-v3.c