From: Manish Jaggi <mja...@caviumnetworks.com>

This patch aims to add the support of IORT in Xen. Below is the list
of major components which this patchset provides.
a. Add support for parsing the IORT 
b. Provides API to populate/query requesterid - streamID mappings and
   reuqesterid - deviceid mappings
c. The requesterid - deviceid mappings is used to create the IORT for
   hardware domain (which hides smmu nodes from IORT)
d. iort.c fwnode.h fwspec code is imported from linux and modified.

Changes since RFC
- Added more documentation
- Moved code to arch/arm/acpi/ folder
- Lot of fixes for review comments

This patch works with [1] but few modifiations were made
(a) path of acpi_iort.h has changed so fixed to asm/acpi/acpi_iort.h
(b) Macro #define alloc_io_pgtable_ops(f, c, o) in Patch 5 of [1] results in
 -ENOMEM and need to be fixed. 

-[1] https://lists.xenproject.org/archives/html/xen-devel/2018-02/msg00713.html

Manish Jaggi (13):
  acpi: arm: API: Populate/query rid-devid rid-sid map.
  acpi: arm: query estimated size of hardware domain's IORT.
  acpi: arm: Code to generate Hardware Domains IORT
  acpi: arm: Copy fwnode / iommu_fwspec code from Linux 4.14
  acpi: arm: Import acpi_iort.h verbatim from linux 4.14
  acpi: arm: Update acpi_iort.h with xen specific changes
  arm: Adding ACPI_IORT in arm Kconfig
  asm: arm: pci: Fix the #include label in asm-arm/pci.h
  asm: arm: to_pci_dev
  asm: arm: add dev_is_pci
  asm: arm: add pci_domain_nr
  acpi: arm: Provide support for iort iommu configuration hooks
  acpi: arm: Add code to parse IORT and prepare rid maps.

 xen/arch/arm/Kconfig                 |   4 +
 xen/arch/arm/acpi/Makefile           |   3 +
 xen/arch/arm/acpi/gen-iort.c         | 400 +++++++++++++++++++++++
 xen/arch/arm/acpi/iort.c             | 608 +++++++++++++++++++++++++++++++++++
 xen/arch/arm/acpi/ridmap.c           | 126 ++++++++
 xen/arch/arm/domain_build.c          |  51 ++-
 xen/drivers/passthrough/arm/iommu.c  |  85 +++++
 xen/drivers/passthrough/arm/smmu.c   |   3 +-
 xen/include/asm-arm/acpi.h           |   1 +
 xen/include/asm-arm/acpi/acpi_iort.h |  51 +++
 xen/include/asm-arm/acpi/gen-iort.h  |  44 +++
 xen/include/asm-arm/acpi/ridmap.h    | 112 +++++++
 xen/include/asm-arm/device.h         |  17 +-
 xen/include/asm-arm/fwnode.h         | 128 ++++++++
 xen/include/asm-arm/fwspec.h         |  38 +++
 xen/include/asm-arm/pci.h            |  12 +-
 xen/include/xen/pci.h                |   2 +
 17 files changed, 1675 insertions(+), 10 deletions(-)
 create mode 100644 xen/arch/arm/acpi/gen-iort.c
 create mode 100644 xen/arch/arm/acpi/iort.c
 create mode 100644 xen/arch/arm/acpi/ridmap.c
 create mode 100644 xen/include/asm-arm/acpi/acpi_iort.h
 create mode 100644 xen/include/asm-arm/acpi/gen-iort.h
 create mode 100644 xen/include/asm-arm/acpi/ridmap.h
 create mode 100644 xen/include/asm-arm/fwnode.h
 create mode 100644 xen/include/asm-arm/fwspec.h

-- 
2.14.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to