On Wed, Feb 18, 2015 at 05:04:21PM +0000, Baptiste Reynal wrote: > We are currently working on the ARM SMMU 2-stage support in order to > expose SMMU capabilities to a guest OS. > By doing some research, we noticed some work has already be done by Will > Deacon on exposing virtual IOMMU interface to KVM guest. After going > through slides and code (on > git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git<http://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git>, > branch: iommu/vsmmu), we have some questions : > > - What is the status of this work ? Is Alex still working on it ?
I got a reasonable way through implementing something, but ran into a wall for a few reasons: (1) I don't have anything where I can test this (yet) (2) Nobody's actually asking for it... > - Are there any test case about the current vsmmu implementation ? No. > - What is exposed to the guest in the current implementation ? An emulation of a stage-1 only SMMU. > - How do the guest program the stage-1 translation ? Just like it would for a physical SMMU. It's probably easiest if you look at the (incomplete, WIP) code: https://git.kernel.org/cgit/linux/kernel/git/will/linux.git/commit/?h=iommu/vsmmu&id=539dbcb964e5c730791a6a31a4f58ceff4b945c2 Anyway, until somebody actually wants this feature I've put it on ice as it adds a whole bunch of complication to the ARM SMMU driver, as well as new user ABI extensions that I don't really want to maintain for fun. The only murmurs I've heard about IOMMU usage from a guest relate to a paravirtualised interface, which abstracts the details of the host IOMMU altogether and allows the translation to be collapsed (which can be better for TLB utilisation). Will _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu