On Mon, Jun 04, 2018 at 04:29:28PM +0100, Peter Maydell wrote: > Hi; this is v2 of my iommu patchset, which does: > * support IOMMUs that are aware of memory transaction attributes and > may generate different translations for different attributes > * support TCG execution out of memory which is behind an IOMMU > * implement the Arm TrustZone Memory Protection Controller > (which needs both the above features in the IOMMU core code) > * use the MPC in the mps2-an505 board > > Patches 1-3 add the support for memory-transaction-aware > IOMMUs. The general approach is that we have the concept of an > IOMMU index (similar to the TCG MMU index), which selects which of > multiple possible translation tables in the IOMMU we're trying to use. > Most IOMMUs will support just a single index. When you register an > IOMMU notifier and when you call the translate method you have to > specify which IOMMU index you want. There's a method for getting the > index that applies for a particular set of transaction attributes. > All the current IOMMU implementations have just one iommu index, and > all the current users of the notify API assume that.
Hi, Peter, It seems that this series is still using the IOMMU index way. In case I missed anything... Could you elaborate a bit on why this IOMMU index solution is preferred comparing to the way to pass in MemTxAttrs? Or was there any further discussion I missed on the topic? My last post to previous series is here: https://lists.gnu.org/archive/html/qemu-devel/2018-05/msg05702.html In that, I was still confused on why we couldn't use the existing MemTxAttrs directly instead of the new IOMMU index (and I explained on why that was prefered at least to me). I didn't see replies afterwards. Frankly speaking I fully trust the expertise of you and all the reviewers. I am just afraid I missed any context along the way. Thanks, -- Peter Xu