mbox series

[Xen-devel,RFC,00/11] acpi: arm: IORT Support for Xen

Message ID 20180102092809.1841-1-manish.jaggi@linaro.org
Headers show
Series acpi: arm: IORT Support for Xen | expand

Message

Manish Jaggi Jan. 2, 2018, 9:27 a.m. UTC
From: Manish Jaggi <manish.jaggi@linaro.org>

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.
e. Few kernel helper routines are also imported from linux.

This patchset compiles with [1]  [RFC v4 0/8] SMMUv3 driver.

[1] https://lists.xen.org/archives/html/xen-devel/2017-12/msg01294.html

Manish Jaggi (11):
  acpi: arm: Public API for populating and query based on requesterid
  acpi: arm: API to query estimated size of hardware domain's IORT
  acpi: arm: Code to generate Hardware Domains IORT
  acpi: arm: Import iort.c and acpi_iort.h
  acpi: arm: Import fwnode.h from linux
  acpi: arm: fwnode xen spacific changes
  Add kernel helper functions
  Add ACPI_IORT config
  acpi: arm: Xen IORT Changes
  acpi: arm: IORT parsing functions to prepare requesterId maps
  Add to_pci_dev macro

 xen/arch/arm/Kconfig            |   5 +
 xen/arch/arm/domain_build.c     |  40 ++-
 xen/arch/arm/setup.c            |   2 +
 xen/drivers/acpi/Kconfig        |   3 +
 xen/drivers/acpi/Makefile       |   1 +
 xen/drivers/acpi/arm/Makefile   |   3 +
 xen/drivers/acpi/arm/gen-iort.c | 352 +++++++++++++++++++++++++
 xen/drivers/acpi/arm/iort.c     | 569 ++++++++++++++++++++++++++++++++++++++++
 xen/drivers/acpi/arm/ridmap.c   | 124 +++++++++
 xen/drivers/passthrough/iommu.c |  75 ++++++
 xen/include/acpi/acpi_iort.h    |  57 ++++
 xen/include/acpi/gen-iort.h     |   7 +
 xen/include/acpi/ridmap.h       |  77 ++++++
 xen/include/asm-arm/acpi.h      |   1 +
 xen/include/asm-arm/device.h    |  11 +-
 xen/include/xen/fwnode.h        | 125 +++++++++
 xen/include/xen/iommu.h         |  22 ++
 xen/include/xen/kernel.h        |  10 +
 xen/include/xen/pci.h           |   3 +
 19 files changed, 1484 insertions(+), 3 deletions(-)
 create mode 100644 xen/drivers/acpi/arm/Makefile
 create mode 100644 xen/drivers/acpi/arm/gen-iort.c
 create mode 100644 xen/drivers/acpi/arm/iort.c
 create mode 100644 xen/drivers/acpi/arm/ridmap.c
 create mode 100644 xen/include/acpi/acpi_iort.h
 create mode 100644 xen/include/acpi/gen-iort.h
 create mode 100644 xen/include/acpi/ridmap.h
 create mode 100644 xen/include/xen/fwnode.h

Comments

Julien Grall Jan. 16, 2018, 5:53 p.m. UTC | #1
Hi Manish,

On 02/01/18 09:27, manish.jaggi@linaro.org wrote:
> From: Manish Jaggi <manish.jaggi@linaro.org>
> 
> 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.
> e. Few kernel helper routines are also imported from linux.

A link to the design document or a copy would have been helpful here.

Cheers,

> 
> This patchset compiles with [1]  [RFC v4 0/8] SMMUv3 driver.
> 
> [1] https://lists.xen.org/archives/html/xen-devel/2017-12/msg01294.html
> 
> Manish Jaggi (11):
>    acpi: arm: Public API for populating and query based on requesterid
>    acpi: arm: API to query estimated size of hardware domain's IORT
>    acpi: arm: Code to generate Hardware Domains IORT
>    acpi: arm: Import iort.c and acpi_iort.h
>    acpi: arm: Import fwnode.h from linux
>    acpi: arm: fwnode xen spacific changes
>    Add kernel helper functions
>    Add ACPI_IORT config
>    acpi: arm: Xen IORT Changes
>    acpi: arm: IORT parsing functions to prepare requesterId maps
>    Add to_pci_dev macro
> 
>   xen/arch/arm/Kconfig            |   5 +
>   xen/arch/arm/domain_build.c     |  40 ++-
>   xen/arch/arm/setup.c            |   2 +
>   xen/drivers/acpi/Kconfig        |   3 +
>   xen/drivers/acpi/Makefile       |   1 +
>   xen/drivers/acpi/arm/Makefile   |   3 +
>   xen/drivers/acpi/arm/gen-iort.c | 352 +++++++++++++++++++++++++
>   xen/drivers/acpi/arm/iort.c     | 569 ++++++++++++++++++++++++++++++++++++++++
>   xen/drivers/acpi/arm/ridmap.c   | 124 +++++++++
>   xen/drivers/passthrough/iommu.c |  75 ++++++
>   xen/include/acpi/acpi_iort.h    |  57 ++++
>   xen/include/acpi/gen-iort.h     |   7 +
>   xen/include/acpi/ridmap.h       |  77 ++++++
>   xen/include/asm-arm/acpi.h      |   1 +
>   xen/include/asm-arm/device.h    |  11 +-
>   xen/include/xen/fwnode.h        | 125 +++++++++
>   xen/include/xen/iommu.h         |  22 ++
>   xen/include/xen/kernel.h        |  10 +
>   xen/include/xen/pci.h           |   3 +
>   19 files changed, 1484 insertions(+), 3 deletions(-)
>   create mode 100644 xen/drivers/acpi/arm/Makefile
>   create mode 100644 xen/drivers/acpi/arm/gen-iort.c
>   create mode 100644 xen/drivers/acpi/arm/iort.c
>   create mode 100644 xen/drivers/acpi/arm/ridmap.c
>   create mode 100644 xen/include/acpi/acpi_iort.h
>   create mode 100644 xen/include/acpi/gen-iort.h
>   create mode 100644 xen/include/acpi/ridmap.h
>   create mode 100644 xen/include/xen/fwnode.h
>