xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Goel, Sameer" <sgoel@qti.qualcomm.com>
Subject: Re: [RFC PATCH v1 0/7] IPMMU-VMSA support on ARM
Date: Tue, 1 Aug 2017 13:27:10 +0100	[thread overview]
Message-ID: <a10abe2e-f18e-1e32-bd49-e9e83dea70c6@arm.com> (raw)
In-Reply-To: <1501081804-4882-1-git-send-email-olekstysh@gmail.com>

On 26/07/17 16:09, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>
> Hi, all.

Hi,

Please CC maintainers and any relevant person on the cover letter. This 
is quite useful to have in the inbox.

> The purpose of this patch series is to add IPMMU-VMSA support to Xen on ARM.
> It is VMSA-compatible IOMMU that integrated in the newest Renesas R-Car Gen3 SoCs (ARM).
> And this IOMMU can't share the page table with the CPU since it doesn't use the same page-table format
> as the CPU on ARM therefore I name it "Non-shared" IOMMU.
> This all means that current patch series must be based on "Non-shared" IOMMU support [1]
> for the IPMMU-VMSA to be functional inside Xen.
>
> The IPMMU-VMSA driver as well as the ARM LPAE allocator were directly ported from BSP for Linux the vendor provides:
> git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas-bsp.git rcar-3.5.3

I think this is probably a good starting point to discuss about IOMMU 
support in Xen. I skimmed through the patches and saw the words "rfc" 
and "ported from BSP".

At the moment for IOMMU we rely on the Linux community to do the review, 
but this is not the case here as it is an RFC.  I can definitely help to 
check if it comply for Xen, but I don't have the competence to tell 
whether it is valid for the hardware.

We may want to find a compromise to get it merged in Xen, but surely we 
don't want to build it by default at least until we had feedback from 
the community about the validity of the code here.

As I mentioned above, we are currently borrowing drivers from Linux and 
adapting for Xen. Today we support SMMUv{1,2} (we need to resync it) and 
there are plan to add IPMMU-VMSA (this series) and SMMUv3.

I am aware that Linux IOMMU subsystem has growing quite a lot making 
more tricky to get support in Xen. I wanted to get feedback how complex 
from you and Sameer how complex it was and whether we should consider 
doing our own.

> Patch series was rebased on Xen 4.9.0 release and tested on Renesas R-Car Gen3 H3 ES2.0/M3 based boards
> with devices assigned to different domains.
>
> You can find patch series here:
> repo: https://github.com/otyshchenko1/xen.git branch: ipmmu_v2
>
> P.S. There is one more patch which needs to be brought back to life [2]
> Any reasons why this patch hasn't been upstremed yet?

The series didn't make it upstream. Feel free to resend it separately.

>
> Thank you.
>
> [1] [Xen-devel] [PATCH v2 00/13] "Non-shared" IOMMU support on ARM
> https://www.mail-archive.com/xen-devel@lists.xen.org/msg115901.html
>
> [2] [Xen-devel] [PATCH v8 02/28] xen: Add log2 functionality
> https://lists.xenproject.org/archives/html/xen-devel/2016-02/msg00031.html
>
> Oleksandr Tyshchenko (7):
>   iommu/arm: ipmmu-vmsa: Add IPMMU-VMSA support
>   iommu/arm: ipmmu-vmsa: Add Xen changes for main driver
>   iommu/arm: ipmmu-vmsa: Add io-pgtables support
>   iommu/arm: ipmmu-vmsa: Add Xen changes for io-pgtables
>   iommu/arm: Build IPMMU-VMSA related stuff
>   iommu/arm: ipmmu-vmsa: Deallocate page table asynchronously
>   iommu/arm: ipmmu-vmsa: Enable VMSAv8-64 mode if IPMMU HW supports it
>
>  xen/drivers/passthrough/arm/Makefile         |    3 +
>  xen/drivers/passthrough/arm/io-pgtable-arm.c | 1331 +++++++++++++
>  xen/drivers/passthrough/arm/io-pgtable.c     |   91 +
>  xen/drivers/passthrough/arm/io-pgtable.h     |  220 +++
>  xen/drivers/passthrough/arm/ipmmu-vmsa.c     | 2611 ++++++++++++++++++++++++++
>  5 files changed, 4256 insertions(+)
>  create mode 100644 xen/drivers/passthrough/arm/io-pgtable-arm.c
>  create mode 100644 xen/drivers/passthrough/arm/io-pgtable.c
>  create mode 100644 xen/drivers/passthrough/arm/io-pgtable.h
>  create mode 100644 xen/drivers/passthrough/arm/ipmmu-vmsa.c
>

Cheers,

-- 
Julien Grall

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

  parent reply	other threads:[~2017-08-01 12:27 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-26 15:09 [RFC PATCH v1 0/7] IPMMU-VMSA support on ARM Oleksandr Tyshchenko
2017-07-26 15:09 ` [RFC PATCH v1 1/7] iommu/arm: ipmmu-vmsa: Add IPMMU-VMSA support Oleksandr Tyshchenko
2017-07-26 15:09 ` [RFC PATCH v1 2/7] iommu/arm: ipmmu-vmsa: Add Xen changes for main driver Oleksandr Tyshchenko
2017-08-08 11:34   ` Julien Grall
2017-08-10 14:27     ` Oleksandr Tyshchenko
2017-08-10 15:13       ` Julien Grall
2017-08-21 15:53         ` Oleksandr Tyshchenko
2017-08-23 11:41           ` Julien Grall
2017-08-25 20:06             ` Stefano Stabellini
2017-08-28 17:29               ` Oleksandr Tyshchenko
2017-07-26 15:10 ` [RFC PATCH v1 3/7] iommu/arm: ipmmu-vmsa: Add io-pgtables support Oleksandr Tyshchenko
2017-07-26 15:10 ` [RFC PATCH v1 4/7] iommu/arm: ipmmu-vmsa: Add Xen changes for io-pgtables Oleksandr Tyshchenko
2017-07-26 15:10 ` [RFC PATCH v1 5/7] iommu/arm: Build IPMMU-VMSA related stuff Oleksandr Tyshchenko
2017-07-26 15:10 ` [RFC PATCH v1 6/7] iommu/arm: ipmmu-vmsa: Deallocate page table asynchronously Oleksandr Tyshchenko
2017-08-08 11:36   ` Julien Grall
2017-07-26 15:10 ` [RFC PATCH v1 7/7] iommu/arm: ipmmu-vmsa: Enable VMSAv8-64 mode if IPMMU HW supports it Oleksandr Tyshchenko
2017-08-01 12:27 ` Julien Grall [this message]
2017-08-01 17:13   ` [RFC PATCH v1 0/7] IPMMU-VMSA support on ARM Oleksandr Tyshchenko
2017-08-08 11:21     ` Julien Grall
2017-08-08 16:52       ` Stefano Stabellini

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=a10abe2e-f18e-1e32-bd49-e9e83dea70c6@arm.com \
    --to=julien.grall@arm.com \
    --cc=oleksandr_tyshchenko@epam.com \
    --cc=olekstysh@gmail.com \
    --cc=sgoel@qti.qualcomm.com \
    --cc=sstabellini@kernel.org \
    --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).