• David Woodhouse's avatar
    iommu/vt-d: Clean up size handling for intel_iommu_unmap() · 5cf0a76f
    David Woodhouse authored
    We have this horrid API where iommu_unmap() can unmap more than it's asked
    to, if the IOVA in question happens to be mapped with a large page.
    
    Instead of propagating this nonsense to the point where we end up returning
    the page order from dma_pte_clear_range(), let's just do it once and adjust
    the 'size' parameter accordingly.
    
    Augment pfn_to_dma_pte() to return the level at which the PTE was found,
    which will also be useful later if we end up changing the API for
    iommu_iova_to_phys() to behave the same way as is being discussed upstream.
    Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
    5cf0a76f
intel-iommu.c 111 KB