|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 00/14] IOMMU support for ARM
Hello,
This is the fifth version of this patch series to add support for IOMMU on ARM.
It also adds driver to support ARM SMMU which is used for instance on Midway.
The ARM IOMMU architecture assumes that the page table is shared between the
processor and each IOMMU.
Major changes in v5:
- A bunch of patch from the previous version has been pushed upstream
- Drop protected-devices patch [1] as it's not needed
- Add flush_tlb_domain helper
- Rework "Clean cache PT ..." to only flush by small item
For all the other changes see in each patch.
This series also depends on the interrupt reworking serie [2].
A working tree can be found here:
git://xenbits.xen.org/people/julieng/xen-unstable.git branch ssmu-v5
Sincerely yours,
[1] https://patches.linaro.org/28811/
[2] http://lists.xen.org/archives/html/xen-devel/2014-05/msg01523.html
Julien Grall (14):
xen/arm: Introduce flush_tlb_domain
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/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
MAINTAINERS | 2 +
xen/arch/arm/Rules.mk | 1 +
xen/arch/arm/device.c | 15 +
xen/arch/arm/domain.c | 7 +
xen/arch/arm/domain_build.c | 30 +-
xen/arch/arm/mm.c | 33 +-
xen/arch/arm/p2m.c | 71 +-
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 | 4 +
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 | 70 +
xen/drivers/passthrough/arm/smmu.c | 1751 +++++++++++++++++++++++++
xen/drivers/passthrough/device_tree.c | 108 ++
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/flushtlb.h | 3 +
xen/include/asm-arm/hvm/iommu.h | 10 +
xen/include/asm-arm/iommu.h | 36 +
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 | 14 +
xen/include/xen/hvm/iommu.h | 27 +-
xen/include/xen/iommu.h | 87 +-
41 files changed, 2961 insertions(+), 678 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 |