On Fri, Mar 02, 2018 at 09:12:29AM -0500, Sinan Kaya wrote: > On 3/2/2018 5:30 AM, Will Deacon wrote: > >> Do you really have to reset the IOMMU? Can you just give it new page > >> tables that start out with all IOVAs from all devices being invalid, > >> then add valid mappings as drivers need them (presumably after the > >> driver has done whatever it needs to so the device stops using the old > >> DMA addresses)? > > We already have the option to do that via the command line using the > > disable_bypass option, so it just sounds like we need to take this into > > account when resetting the SMMU to take care that GBPA is configured so > > that transactions are terminated when SMMUEN=0. > > How about the points that Baoquan highlighted in his email regarding the > solution from AMD and X86? Which specific points do you think this proposal doesn't address? > I have not read the entire thread but, is this just a matter of following > what Bjorn recommended or there is more to it? I'm trying to say how I think Bjorn's idea can be implemented for SMMUv3. I basically want to avoid a situation where the SMMU driver tries to walk the in-memory data structures left by a previous kernel and infer the setup from that. Will