From: Julien Grall <julien.grall@linaro.org>
To: xen-devel@lists.xenproject.org
Cc: stefano.stabellini@citrix.com,
Julien Grall <julien.grall@linaro.org>,
tim@xen.org, ian.campbell@citrix.com
Subject: [PATCH v3 00/13] IOMMU support for ARM
Date: Tue, 11 Mar 2014 15:49:46 +0000 [thread overview]
Message-ID: <1394552999-14171-1-git-send-email-julien.grall@linaro.org> (raw)
Hello,
This is the third version of the patch series to add support for IOMMU on
ARM. It also add 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: Remove domain_id in hvm_iommu
- #3-#4: Adding new device tree functions
- #5-#7: Prepare IOMMU code to add support for ARM
- #8: Adding basic device tree assignment support
- #9-#12: Add IOMMU architecture for ARM
- #13: 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.
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
A working tree can be found here:
git://xenbits.xen.org/people/julieng/xen-unstable.git branch smmu-v3
Any comments, questions are welcomed.
Sincerely yours,
Julien Grall (13):
xen/common: grant-table: only call IOMMU if paging mode translate is
disabled
xen/passthrough: amd: Remove domain_id from hvm_iommu
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: Split generic IOMMU code
xen/passthrough: iommu: Introduce arch specific code
xen/passthrough: iommu: Basic support of device tree assignment
xen/passthrough: Introduce IOMMU ARM architecture
MAINTAINERS: Add drivers/passthrough/arm
xen/arm: Don't give IOMMU devices to dom0 when iommu is disabled
xen/arm: Add the property "protected-devices" in the hypervisor node
drivers/passthrough: arm: Add support for SMMU drivers
MAINTAINERS | 1 +
xen/arch/arm/Rules.mk | 1 +
xen/arch/arm/device.c | 15 +
xen/arch/arm/domain.c | 7 +
xen/arch/arm/domain_build.c | 78 +-
xen/arch/arm/kernel.h | 3 +
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 | 161 ++-
xen/common/grant_table.c | 7 +-
xen/drivers/passthrough/Makefile | 6 +-
xen/drivers/passthrough/amd/iommu_cmd.c | 3 +-
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 | 70 ++
xen/drivers/passthrough/arm/smmu.c | 1736 +++++++++++++++++++++++++++
xen/drivers/passthrough/device_tree.c | 106 ++
xen/drivers/passthrough/iommu.c | 524 +-------
xen/drivers/passthrough/pci.c | 452 +++++++
xen/drivers/passthrough/vtd/iommu.c | 80 +-
xen/drivers/passthrough/x86/Makefile | 1 +
xen/drivers/passthrough/x86/iommu.c | 91 ++
xen/include/asm-arm/device.h | 13 +-
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 | 28 +
xen/include/asm-x86/iommu.h | 44 +
xen/include/xen/device_tree.h | 89 ++
xen/include/xen/hvm/iommu.h | 33 +-
xen/include/xen/iommu.h | 70 +-
36 files changed, 3132 insertions(+), 671 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/device_tree.c
create mode 100644 xen/drivers/passthrough/x86/iommu.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
--
1.7.10.4
next reply other threads:[~2014-03-11 15:50 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-11 15:49 Julien Grall [this message]
2014-03-11 15:49 ` [PATCH v3 01/13] xen/common: grant-table: only call IOMMU if paging mode translate is disabled Julien Grall
2014-03-11 15:49 ` [PATCH v3 02/13] xen/passthrough: amd: Remove domain_id from hvm_iommu Julien Grall
2014-03-18 16:19 ` Ian Campbell
2014-03-18 16:32 ` Jan Beulich
2014-03-11 15:49 ` [PATCH v3 03/13] xen/dts: Add dt_property_read_bool Julien Grall
2014-03-11 15:49 ` [PATCH v3 04/13] xen/dts: Add dt_parse_phandle_with_args and dt_parse_phandle Julien Grall
2014-03-18 16:20 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 05/13] xen/passthrough: rework dom0_pvh_reqs to use it also on ARM Julien Grall
2014-03-18 16:22 ` Ian Campbell
2014-03-18 17:28 ` Julien Grall
2014-03-18 17:50 ` Ian Campbell
2014-03-18 18:19 ` Julien Grall
2014-03-19 10:01 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 06/13] xen/passthrough: iommu: Split generic IOMMU code Julien Grall
2014-03-11 16:50 ` Jan Beulich
2014-03-11 17:09 ` Julien Grall
2014-03-12 7:15 ` Jan Beulich
2014-03-18 16:24 ` Ian Campbell
2014-03-18 17:36 ` Julien Grall
2014-03-18 17:50 ` Ian Campbell
2014-03-18 18:21 ` Julien Grall
2014-03-19 10:02 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 07/13] xen/passthrough: iommu: Introduce arch specific code Julien Grall
2014-03-11 16:15 ` Julien Grall
2014-03-11 16:53 ` Jan Beulich
2014-03-18 16:27 ` Ian Campbell
2014-03-18 19:40 ` Julien Grall
2014-03-11 15:49 ` [PATCH v3 08/13] xen/passthrough: iommu: Basic support of device tree assignment Julien Grall
2014-03-11 16:55 ` Jan Beulich
2014-03-18 16:33 ` Ian Campbell
2014-03-18 19:46 ` Julien Grall
2014-03-19 10:12 ` Ian Campbell
2014-03-19 10:42 ` Julien Grall
2014-03-19 10:54 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 09/13] xen/passthrough: Introduce IOMMU ARM architecture Julien Grall
2014-03-18 16:40 ` Ian Campbell
2014-03-18 19:58 ` Julien Grall
2014-03-19 10:29 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 10/13] MAINTAINERS: Add drivers/passthrough/arm Julien Grall
2014-03-11 15:49 ` [PATCH v3 11/13] xen/arm: Don't give IOMMU devices to dom0 when iommu is disabled Julien Grall
2014-03-18 16:41 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 12/13] xen/arm: Add the property "protected-devices" in the hypervisor node Julien Grall
2014-03-18 16:48 ` Ian Campbell
2014-03-18 20:09 ` Julien Grall
2014-03-19 10:33 ` Ian Campbell
2014-04-03 21:51 ` Julien Grall
2014-04-04 9:40 ` Ian Campbell
2014-04-04 10:25 ` Julien Grall
2014-04-04 10:28 ` Ian Campbell
2014-04-04 10:39 ` Julien Grall
2014-04-04 10:48 ` Ian Campbell
2014-04-04 11:01 ` Julien Grall
2014-04-04 11:13 ` Ian Campbell
2014-04-04 11:23 ` Julien Grall
2014-04-04 12:45 ` Ian Campbell
2014-04-04 13:10 ` Julien Grall
2014-04-04 13:18 ` Ian Campbell
2014-03-11 15:49 ` [PATCH v3 13/13] drivers/passthrough: arm: Add support for SMMU drivers Julien Grall
2014-03-18 16:54 ` Ian Campbell
2014-03-18 20:25 ` Julien Grall
2014-03-19 10:35 ` Ian Campbell
2014-03-19 10:44 ` Julien Grall
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=1394552999-14171-1-git-send-email-julien.grall@linaro.org \
--to=julien.grall@linaro.org \
--cc=ian.campbell@citrix.com \
--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 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).