• Will Deacon's avatar
    iommu/arm-smmu: Add initial driver support for ARM SMMUv3 devices · 48ec83bc
    Will Deacon authored
    Version three of the ARM SMMU architecture introduces significant
    changes and improvements over previous versions of the specification,
    necessitating a new driver in the Linux kernel.
    
    The main change to the programming interface is that the majority of the
    configuration data has been moved from MMIO registers to in-memory data
    structures, with communication between the CPU and the SMMU being
    mediated via in-memory circular queues.
    
    This patch adds an initial driver for SMMUv3 to Linux. We currently
    support pinned stage-1 (DMA) and stage-2 (KVM VFIO) mappings using the
    generic IO-pgtable code.
    
    Cc: Robin Murphy <robin.murphy@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    48ec83bc
arm-smmu-v3.c 68 KB