• Will Deacon's avatar
    iommu/arm-smmu: fix corner cases in address size calculations · 4d09d99d
    Will Deacon authored
    Working out the usable address sizes for the SMMU is surprisingly tricky.
    We must take into account both the limitations of the hardware for VA,
    IPA and PA sizes but also any restrictions imposed by the Linux page
    table code, particularly when dealing with nested translation (where the
    IPA size is limited by the input address size at stage-2).
    
    This patch fixes a few corner cases in our address size handling so that
    we correctly deal with 40-bit addresses in TTBCR2 and restrict the IPA
    size differently depending on whether or not we have support for nested
    translation.
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    4d09d99d
arm-smmu.c 52.2 KB