xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Sameer Goel <sgoel@codeaurora.org>
To: xen-devel@lists.xenproject.org, julien.grall@arm.com,
	mjaggi@caviumnetworks.com
Cc: sstabellini@kernel.org, wei.liu2@citrix.com,
	george.dunlap@eu.citrix.com, Andrew.Cooper3@citrix.com,
	jbeulich@suse.com, Sameer Goel <sgoel@codeaurora.org>,
	Ian.Jackson@citrix.com, nd@arm.com, robin.murphy@arm.com,
	shankerd@codeaurora.org
Subject: [RFC v2 0/7] SMMUv3 driver and the supporting framework
Date: Wed, 20 Sep 2017 18:37:03 -0600	[thread overview]
Message-ID: <1505954230-18892-1-git-send-email-sgoel@codeaurora.org> (raw)

This change incoporates most of the review comments from [1] and adds the
proposed SMMUv3 driver.

List of changes:
- Introduce the iommu_fwspec implementation - No change from the last RFC
- IORT port from linux. The differences are as under:
	* Modified the code for creating the SMMU devices. This code also
	  initializes the discoverd SMMU devices.
	* MSI code is left as is, but this code is untested.
	* IORT node data parsing is delegated to the driver. Looking for comments
      on enabling the code in IORT driver. This will need a standard resource
      object. (Direct port from Linux or a new define for Xen?)
    * Assumptions on PCI IORT SMMU interaction. PCI assign device will call
      iort_iommu_configure to setup the streamids.Then it will call SMMU
      assign device with the right struct device argument.
- SMMUv3 port from Linux. The list of changes are as under:
	* The Xen iommu_ops list is at parity with SMMUv2.
	* There is generally no need for an IOMMU group, but have kept a dummy
	  define for now.
	* Have commented out the S1 translation code.
	* MSI code is commented out.
	* Page table ops are commented out as the driver shares the page tables
	  with the cpu.
	* The list of SMMU devices is maintained from the driver code.

Open questions:
- IORT regeneration for DOM0. I was hoping to get some update on [2].
- We also need a notification framework to get the Named node information from DSDT.
- Should we port over code for non-hsared page tables from the kernel or leverage [3].


[1] "[RFC 0/6] IORT support and introduce fwspec"
[2] "[Xen-devel] [RFC] [PATCH] arm-acpi: Hide SMMU from IORT for hardware domain"
[3] "Non-shared" IOMMU support on ARM"

Sameer Goel (7):
  passthrough/arm: Modify SMMU driver to use generic device definition
  arm64: Add definitions for fwnode_handle
  xen/passthrough/arm: Introduce iommu_fwspec
  ACPI: arm: Support for IORT
  acpi:arm64: Add support for parsing IORT table
  Add verbatim copy of arm-smmu-v3.c from Linux
  xen/iommu: smmu-v3: Add Xen specific code to enable the ported driver

 xen/arch/arm/setup.c                  |    3 +
 xen/drivers/acpi/Makefile             |    1 +
 xen/drivers/acpi/arm/Makefile         |    1 +
 xen/drivers/acpi/arm/iort.c           |  986 ++++++++++
 xen/drivers/passthrough/arm/Makefile  |    1 +
 xen/drivers/passthrough/arm/iommu.c   |   66 +
 xen/drivers/passthrough/arm/smmu-v3.c | 3412 +++++++++++++++++++++++++++++++++
 xen/drivers/passthrough/arm/smmu.c    |   13 +-
 xen/include/acpi/acpi_iort.h          |   61 +
 xen/include/asm-arm/device.h          |    5 +
 xen/include/xen/acpi.h                |   21 +
 xen/include/xen/fwnode.h              |   33 +
 xen/include/xen/iommu.h               |   29 +
 xen/include/xen/pci.h                 |    8 +
 14 files changed, 4634 insertions(+), 6 deletions(-)
 create mode 100644 xen/drivers/acpi/arm/Makefile
 create mode 100644 xen/drivers/acpi/arm/iort.c
 create mode 100644 xen/drivers/passthrough/arm/smmu-v3.c
 create mode 100644 xen/include/acpi/acpi_iort.h
 create mode 100644 xen/include/xen/fwnode.h

-- 
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.


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

             reply	other threads:[~2017-09-21  0:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-21  0:37 Sameer Goel [this message]
2017-09-21  0:37 ` [RFC v2 1/7] passthrough/arm: Modify SMMU driver to use generic device definition Sameer Goel
2017-09-21  0:37 ` [RFC v2 2/7] arm64: Add definitions for fwnode_handle Sameer Goel
2017-10-12 12:45   ` Julien Grall
2017-10-19 14:53     ` Goel, Sameer
2017-10-24 14:08       ` Julien Grall
2017-11-09  0:56         ` Goel, Sameer
2017-09-21  0:37 ` [RFC v2 3/7] xen/passthrough/arm: Introduce iommu_fwspec Sameer Goel
2017-10-12 13:05   ` Julien Grall
2017-10-12 13:36     ` Julien Grall
2017-10-19 14:58     ` Goel, Sameer
2017-09-21  0:37 ` [RFC v2 4/7] ACPI: arm: Support for IORT Sameer Goel
2017-09-21  0:37 ` [RFC v2 5/7] acpi:arm64: Add support for parsing IORT table Sameer Goel
2017-10-10 12:36   ` Manish Jaggi
2017-10-19 15:00     ` Goel, Sameer
2017-10-20  6:25       ` Manish Jaggi
2017-10-12 14:06   ` Julien Grall
2017-10-19 15:21     ` Goel, Sameer
2017-10-24 14:26       ` Julien Grall
2017-10-12 14:23   ` Julien Grall
2017-11-08 14:41   ` Manish Jaggi
2017-11-15  1:27     ` Goel, Sameer
2017-11-15  8:58       ` Julien Grall
2017-09-21  0:37 ` [RFC v2 6/7] Add verbatim copy of arm-smmu-v3.c from Linux Sameer Goel
2017-09-21  0:37 ` [RFC v2 7/7] xen/iommu: smmu-v3: Add Xen specific code to enable the ported driver Sameer Goel
2017-09-26  0:03   ` Goel, Sameer
2017-10-12 16:36   ` Julien Grall
2017-11-19  7:45     ` Goel, Sameer
2017-11-20 14:25       ` Julien Grall
2017-11-20 15:19         ` Robin Murphy
2017-11-20 15:24           ` Julien Grall
2017-11-22  2:17         ` Goel, Sameer
2017-11-27 12:28           ` Julien Grall
2017-09-21  5:43 ` [RFC v2 0/7] SMMUv3 driver and the supporting framework Manish Jaggi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1505954230-18892-1-git-send-email-sgoel@codeaurora.org \
    --to=sgoel@codeaurora.org \
    --cc=Andrew.Cooper3@citrix.com \
    --cc=Ian.Jackson@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=mjaggi@caviumnetworks.com \
    --cc=nd@arm.com \
    --cc=robin.murphy@arm.com \
    --cc=shankerd@codeaurora.org \
    --cc=sstabellini@kernel.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).