drivers/passthrough: arm: Add support for SMMU drivers
authorJulien Grall <julien.grall@linaro.org>
Tue, 27 May 2014 11:11:40 +0000 (12:11 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Mon, 2 Jun 2014 15:46:00 +0000 (16:46 +0100)
commitd9e61eb2d2c83356f51939f2be034064e13afc8a
treee990e6df46d7c29d524cc150c8f12ac73496cad6
parent79e0f772a9857ac101b4608e05951964d928a02c
drivers/passthrough: arm: Add support for SMMU drivers

This patch add support for ARM architected SMMU driver. It's based on the
linux drivers (drivers/iommu/arm-smmu) commit 89ac23cd.

The major differences with the Linux driver are:
    - Fault by default if the SMMU is enabled to translate an
    address (Linux is bypassing the SMMU)
    - Using P2M page table instead of creating new one
    - Dropped stage-1 support
    - Dropped chained SMMUs support for now
    - Reworking device assignment and the different structures

Xen is programming each IOMMU by:
    - Using stage-2 mode translation
    - Sharing the page table with the processor
    - Injecting a fault if the device has made a wrong translation

Signed-off-by: Julien Grall<julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/drivers/passthrough/arm/Makefile
xen/drivers/passthrough/arm/smmu.c [new file with mode: 0644]