• W
    iommu/arm-smmu: don't bother truncating the s1 output size to VA_BITS · 28d6007b
    Will Deacon 提交于
    In order for nested translation to work correctly, we need to ensure
    that the maximum output address size from stage-1 is <= the maximum
    supported input address size to stage-2. The latter is currently defined
    by VA_BITS, since we make use of the CPU page table functions for
    allocating out tables and so the driver currently enforces this
    restriction by truncating the stage-1 output size during probe.
    
    In reality, this doesn't make a lot of sense; the guest OS is responsible
    for managing the stage-1 page tables, so we actually just need to ensure
    that the ID registers of the virtual SMMU interface only advertise the
    supported stage-2 input size.
    
    This patch fixes the problem by treating the stage-1 and stage-2 input
    address sizes separately.
    Reported-by: NTirumalesh Chalamarla <tchalamarla@cavium.com>
    Signed-off-by: NWill Deacon <will.deacon@arm.com>
    28d6007b
arm-smmu.c 53.4 KB