From: Julien Grall <julien.grall@linaro.org>
To: Julien Grall <julien.grall@linaro.org>
Cc: xen-devel@lists.xenproject.org, tim@xen.org,
ian.campbell@citrix.com, stefano.stabellini@citrix.com,
patches@linaro.org
Subject: Re: [RFC for-4.5 00/12] IOMMU support for ARM
Date: Fri, 07 Feb 2014 17:51:40 +0000 [thread overview]
Message-ID: <52F51D2C.8040305@linaro.org> (raw)
In-Reply-To: <1391794991-5919-1-git-send-email-julien.grall@linaro.org>
I forgot to add a link to repository:
git://xenbits.xen.org/people/julieng/xen-unstable.git branch smmu
This series has also dependency on:
- early printk series : http://lists.xen.org/archives/html/xen-devel/2014-01/msg00288.html
- interrupt series: http://lists.xen.org/archives/html/xen-devel/2014-01/msg02139.html
- few bug fixes on the previous series
On 02/07/2014 05:42 PM, Julien Grall wrote:
> Hello,
>
> This patch series add support for IOMMU on ARM. It have also added ARM SMMU
> driver which is used for instance on Midway.
>
> The IOMMU architecture for ARM is relying on the page table is shared between
> the processor and each IOMMU.
>
> The patch series is divided following:
> - #1: fixing grant-table with IOMMU. Will be necessary for ARM later
> - #2-#3: Make static some vtd functions
> - #4-#5: Adding new device tree functions
> - #6-#9: Prepare IOMMU code to add support for ARM
> - #10-#11: Add IOMMU architecture for ARM
> - #12: Add SMMU drivers
>
> For now the 1:1 workaround is not removed because a same platform can have
> DMA-capable device which are under an IOMMU and some not. It's a problem for
> the swiotlb which needs to know if the device is procted or not when foreign
> mapping is mapped in dom0.
>
> When I talked with Stefano, 2 solutions came:
> - Having a property in each "protected" device
> - List in the hypervisor node the procted devices
>
> I didn't yet decide which solution I will use.
>
> Any comments, questions are welcomed.
>
> Sincerely yours,
>
> Julien Grall (12):
> xen/common: grant-table: only call IOMMU if paging mode translate is
> disabled
> xen/passthrough: vtd: Don't export iommu_domain_teardown
> xen/passthrough: vtd: Don't export iommu_set_pgd
> xen/dts: Add dt_property_read_bool
> xen/dts: Add dt_parse_phandle_with_args and dt_parse_phandle
> xen/passthrough: rework dom0_pvh_reqs to use it also on ARM
> xen/passthrough: iommu: Don't need to map dom0 page when the PT is
> shared
> xen/passthrough: iommu: Split generic IOMMU code
> xen/passthrough: iommu: Introduce arch specific code
> xen/passthrough: Introduce IOMMU ARM architure
> MAINTAINERS: Add drivers/passthrough/arm
> drivers/passthrough: arm: Add support for SMMU drivers
>
> MAINTAINERS | 1 +
> xen/arch/arm/Rules.mk | 1 +
> xen/arch/arm/domain.c | 7 +
> xen/arch/arm/domain_build.c | 2 +
> xen/arch/arm/p2m.c | 4 +
> xen/arch/arm/setup.c | 2 +
> xen/arch/x86/domctl.c | 6 +-
> xen/arch/x86/hvm/io.c | 2 +-
> xen/arch/x86/tboot.c | 3 +-
> xen/common/device_tree.c | 157 ++-
> xen/common/grant_table.c | 7 +-
> xen/drivers/passthrough/Makefile | 7 +-
> xen/drivers/passthrough/amd/iommu_cmd.c | 2 +-
> xen/drivers/passthrough/amd/iommu_guest.c | 8 +-
> xen/drivers/passthrough/amd/iommu_map.c | 56 +-
> xen/drivers/passthrough/amd/pci_amd_iommu.c | 53 +-
> xen/drivers/passthrough/arm/Makefile | 2 +
> xen/drivers/passthrough/arm/iommu.c | 65 +
> xen/drivers/passthrough/arm/smmu.c | 1701 +++++++++++++++++++++++++++
> xen/drivers/passthrough/iommu.c | 525 +--------
> xen/drivers/passthrough/iommu_pci.c | 468 ++++++++
> xen/drivers/passthrough/iommu_x86.c | 106 ++
> xen/drivers/passthrough/vtd/iommu.c | 124 +-
> xen/include/asm-arm/device.h | 3 +-
> xen/include/asm-arm/domain.h | 2 +
> xen/include/asm-arm/hvm/iommu.h | 10 +
> xen/include/asm-arm/iommu.h | 36 +
> xen/include/asm-x86/hvm/iommu.h | 29 +
> xen/include/asm-x86/iommu.h | 50 +
> xen/include/xen/device_tree.h | 75 ++
> xen/include/xen/hvm/iommu.h | 27 +-
> xen/include/xen/iommu.h | 51 +-
> 32 files changed, 2891 insertions(+), 701 deletions(-)
> create mode 100644 xen/drivers/passthrough/arm/Makefile
> create mode 100644 xen/drivers/passthrough/arm/iommu.c
> create mode 100644 xen/drivers/passthrough/arm/smmu.c
> create mode 100644 xen/drivers/passthrough/iommu_pci.c
> create mode 100644 xen/drivers/passthrough/iommu_x86.c
> create mode 100644 xen/include/asm-arm/hvm/iommu.h
> create mode 100644 xen/include/asm-arm/iommu.h
> create mode 100644 xen/include/asm-x86/iommu.h
>
--
Julien Grall
prev parent reply other threads:[~2014-02-07 17:51 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-07 17:42 [RFC for-4.5 00/12] IOMMU support for ARM Julien Grall
2014-02-07 17:43 ` [RFC for-4.5 01/12] xen/common: grant-table: only call IOMMU if paging mode translate is disabled Julien Grall
2014-02-10 8:02 ` Jan Beulich
2014-02-19 12:25 ` Ian Campbell
2014-02-07 17:43 ` [RFC for-4.5 02/12] xen/passthrough: vtd: Don't export iommu_domain_teardown Julien Grall
2014-02-19 12:26 ` Ian Campbell
2014-02-07 17:43 ` [RFC for-4.5 03/12] xen/passthrough: vtd: Don't export iommu_set_pgd Julien Grall
2014-02-10 8:04 ` Jan Beulich
2014-02-10 8:07 ` Zhang, Xiantao
2014-02-19 12:27 ` Ian Campbell
2014-02-07 17:43 ` [RFC for-4.5 04/12] xen/dts: Add dt_property_read_bool Julien Grall
2014-02-19 12:28 ` Ian Campbell
2014-02-19 14:57 ` Julien Grall
2014-02-07 17:43 ` [RFC for-4.5 05/12] xen/dts: Add dt_parse_phandle_with_args and dt_parse_phandle Julien Grall
2014-02-19 12:34 ` Ian Campbell
2014-02-19 16:17 ` Julien Grall
2014-02-19 16:26 ` Ian Campbell
2014-02-19 16:52 ` Julien Grall
2014-02-19 16:57 ` Ian Campbell
2014-02-07 17:43 ` [RFC for-4.5 06/12] xen/passthrough: rework dom0_pvh_reqs to use it also on ARM Julien Grall
2014-02-10 8:07 ` Jan Beulich
2014-02-10 11:42 ` Julien Grall
2014-02-10 16:10 ` Julien Grall
2014-02-10 16:35 ` Jan Beulich
2014-02-10 17:42 ` Julien Grall
2014-02-11 7:47 ` Jan Beulich
2014-02-07 17:43 ` [RFC for-4.5 07/12] xen/passthrough: iommu: Don't need to map dom0 page when the PT is shared Julien Grall
2014-02-10 8:11 ` Jan Beulich
2014-02-19 12:37 ` Ian Campbell
2014-02-07 17:43 ` [RFC for-4.5 08/12] xen/passthrough: iommu: Split generic IOMMU code Julien Grall
2014-02-10 8:22 ` Jan Beulich
2014-02-10 11:52 ` Julien Grall
2014-02-19 12:39 ` Ian Campbell
2014-02-19 16:23 ` Julien Grall
2014-02-07 17:43 ` [RFC for-4.5 09/12] xen/passthrough: iommu: Introduce arch specific code Julien Grall
2014-02-19 12:40 ` Ian Campbell
2014-02-19 16:25 ` Julien Grall
2014-02-07 17:43 ` [RFC for-4.5 10/12] xen/passthrough: Introduce IOMMU ARM architure Julien Grall
2014-02-19 12:49 ` Ian Campbell
2014-02-19 16:50 ` Julien Grall
2014-02-07 17:43 ` [RFC for-4.5 11/12] MAINTAINERS: Add drivers/passthrough/arm Julien Grall
2014-02-19 12:49 ` Ian Campbell
2014-02-07 17:43 ` [RFC for-4.5 12/12] drivers/passthrough: arm: Add support for SMMU drivers Julien Grall
2014-02-19 14:15 ` Ian Campbell
2014-02-19 17:21 ` Julien Grall
2014-02-19 17:27 ` Ian Campbell
2014-02-19 17:31 ` Julien Grall
2014-02-20 8:11 ` Jan Beulich
2014-02-20 11:05 ` Julien Grall
2014-02-19 17:23 ` Julien Grall
2014-02-07 17:51 ` Julien Grall [this message]
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=52F51D2C.8040305@linaro.org \
--to=julien.grall@linaro.org \
--cc=ian.campbell@citrix.com \
--cc=patches@linaro.org \
--cc=stefano.stabellini@citrix.com \
--cc=tim@xen.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.