[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC PATCH 0/3] AMD IOMMU: Share p2m table with iommu
> Hi, > > At 13:08 +0100 on 23 May (1306156129), Wei Wang2 wrote: > > > Unfortunately this change seems to be necessary for AMD IOMMU to share > > > pagetables with the p2m. I'd rather we didn't have it, because it > > > means empty ptes look like RAM mappings of frame 0. :( > > > > > > Wei, is there any way we can reorganise the AMD IOMMU pagetables so we > > > can store the p2m type somewhere that's not required to be zero? If > > > not, I'm inclined to revert the p2m-sharing for AMD IOMMUs, since at > > > the very least we'd like to be able to handle types other than ram_rw > > > (e.g. ram_ro). > > > > Theoretically, we just need to keep bit 52 - bit 58 all zero for valid > > dma translation entry. Probably we could define ram_rw as 11000000000b, > > which is the valid r/w permission for iommu and leaves bit 52 - 58 zero? > > Ugh; no, that will break EPT as well, and restricts us to only one > accessible type. It looks like there are no bits that are available in > both normal pagetable and IOMMU pagetables. How inconvenient. OK, understand. Indeed there are no bits available to use. I am not strictly against reversing this patch, if this causes too much changes for vtd. > So our only options are to harden the rest of the p2m code against > blank entries looking like RAM, or to avoid sharing pagetables between > p2m and AMD IOMMU. :( I guess that depends on how much of a PITA it'll > be to track down the rest of the places where EPT code trips over > itself. Maybe we should replace the clear_page() in allocating p2m > pages with a loop that explicitly makes everything p2m_invalid. It's > not a terribly hot path, after all. > But even if we do that, don't you want read-only and grant-mapped memory > to work with the IOMMU? Ture, we lose grant mapping and RO here. But what is the use case of iommu using RO and grant-mapping in hvm? For hvm, since we could not know which parts of memory are actually used by dma transaction, should it be more safe that only r/w pages are accessed by iommu through p2m? Thanks, Wei > Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |