On Fri, Sep 23, 2022 at 03:42:39AM +0300, Kirill A. Shutemov wrote: > On Wed, Sep 21, 2022 at 03:11:34PM -0300, Jason Gunthorpe wrote: > > On Wed, Sep 21, 2022 at 10:11:46AM -0700, Dave Hansen wrote: > > > > > Are you saying that any device compatibility with an mm is solely > > > determined by the IOMMU in play, so the IOMMU code should host the mm > > > compatibility checks? > > > > Yes, exactly. Only the HW entity that walks the page tables needs to > > understand their parsing rules and in this case that is only the IOMMU > > block. > > But device has to know what bits of the virtual address are significant to > handle device TLB lookup/store correctly, no? For a device that also cares about tagging, yes. But in the current world we don't have such devices. IOMMU only knows about the shared cr3 we placed in the PASID table entries to walk page-tables. I hope the page-tables don't factor the meta-data bits correct? So I would assume an untagged pointer should just be fine for the IOMMU to walk. IOMMU currently wants canonical addresses for VA.