[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 00/13] IOMMU support for ARM
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 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |