On 05/06/2017 05:07, Peter Xu wrote: > I don't sure whether it'll be a good interface for IOTLB. AFAIU at > least for VT-d, the IOMMU translation is page aligned which is defined > by spec, so it makes sense that (again at least for VT-d) here we'd > better just use page_mask/addr_mask. > > That's also how I know about IOMMU in general - I assume it do the > translations always with page masks (never arbitary length), though > page size can differ from platfrom to platform, that's why here the > IOTLB interface used addr_mask, then it works for all platforms. I > don't know whether I'm 100% correct here though. > > Maybe David/Paolo/... would comment as well?
I would ask David. There are PowerPC MMUs that allow fast lookup of arbitrarily-sized windows (not necessarily power of two), so maybe the IOMMUs can do the same. Paolo