[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC for-4.5 00/12] IOMMU support for ARM



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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.