[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 00/21] IOMMU support for ARM
Hello This is the fourth version of this serie to add support for IOMMU on ARM. It also adds ARM SMMU driver which is used for instance on Midway. The ARM IOMMU architecture assumes that page table is shared between the processor and each IOMMU. Major changes in v4: - Support upstream Linux DOM0 without any change (see patch #18) - Support 40bits address space in the SMMU drivers - Rebase on the latest Xen (some patches clashed with the hwdom series) The patch series is divided following: - #1-#4: Small fixes on ARM code - #5: Fix grant-table with IOMMU. Will be necessary for ARM later - #6-#8: Small changes in amd and vtd IOMMU drivers - #10-#11: Add new device tree helpers - #12-#14: Prepare IOMMU code to add support for ARM - #15-#19: Add IOMMU architecture for ARM - #20: Add SMMU driver - #21: Add new bindings to notify Linux the device is protected by an IOMMU. This patch is not mandatory and just here for improvement. This series also dependency on the interrupt series I've sent earlier (see "xen/arm: Interrupt management reworking"). A working tree can be found here: git://xenbits.xen.org/people/julieng/xen-unstable.git branch smmu-v4 Sincerely yours, Julien Grall (21): xen/arm: map_device: Don't hardcode dom0 in print message xen/arm: Constify address pointer for cache helpers xen/arm: p2m: Move comment that was misplaced xen/arm: p2m: apply_p2m_changes: Only load domain P2M when we flush TLBs xen/common: grant-table: only call IOMMU if paging mode translate is disabled xen/passthrough: amd: Remove domain_id from hvm_iommu xen/passthrough: amd: rename iommu_has_feature into amd_iommu_has_feature xen/passthrough: vtd: iommu_set_hwdom_mapping is VTD specific xen/dts: Add dt_property_read_bool xen/dts: Add dt_parse_phandle_with_args and dt_parse_phandle xen/passthrough: rework hwdom_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: p2m: Clean cache PT when the IOMMU doesn't support coherent walk xen/arm: grant: Add another entry to map MFN 1:1 in dom0 p2m drivers/passthrough: arm: Add support for SMMU drivers xen/arm: Add the property "protected-devices" in the hypervisor node 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 | 86 +- xen/arch/arm/kernel.h | 3 + xen/arch/arm/mm.c | 33 +- xen/arch/arm/p2m.c | 49 +- 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_detect.c | 2 +- xen/drivers/passthrough/amd/iommu_guest.c | 8 +- xen/drivers/passthrough/amd/iommu_init.c | 16 +- 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 | 72 + xen/drivers/passthrough/arm/smmu.c | 1750 +++++++++++++++++++++++++ xen/drivers/passthrough/device_tree.c | 111 ++ xen/drivers/passthrough/iommu.c | 516 +------- xen/drivers/passthrough/pci.c | 387 ++++++ xen/drivers/passthrough/vtd/extern.h | 2 + xen/drivers/passthrough/vtd/iommu.c | 76 +- xen/drivers/passthrough/vtd/x86/vtd.c | 2 +- xen/drivers/passthrough/x86/Makefile | 1 + xen/drivers/passthrough/x86/iommu.c | 145 ++ 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-arm/page.h | 8 +- xen/include/asm-x86/hvm/iommu.h | 22 + xen/include/asm-x86/hvm/svm/amd-iommu-proto.h | 2 +- xen/include/asm-x86/iommu.h | 43 + xen/include/xen/device_tree.h | 89 ++ xen/include/xen/hvm/iommu.h | 27 +- xen/include/xen/iommu.h | 83 +- 43 files changed, 3225 insertions(+), 694 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 |