From mboxrd@z Thu Jan 1 00:00:00 1970 From: Will Deacon Subject: Re: SMMU 2-stage support Date: Fri, 17 Apr 2015 13:41:28 +0100 Message-ID: <20150417124128.GB29348@arm.com> References: <20150218185600.GN22017@arm.com> <20150413104122.GC2869@arm.com> <20150415161739.GD18864@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Stuart Yoder Cc: Varun Sethi , Linux IOMMU List-Id: iommu@lists.linux-foundation.org On Thu, Apr 16, 2015 at 04:46:59PM +0100, Stuart Yoder wrote: > > > > So, whilst it's great that you're looking at the code, I'm not very keen on > > > > merging anything until we have people committed to using it. Right now, the > > > > only feedback I've had has been going in the para-virt direction and I don't > > > > think we should do this "for fun". > > > Freescale would be interested in using the vSMMU implementation. We have > > > use cases for assigning devices to guest user space. Are you suggesting > > > that you are more inclined to using the para virtualized approach? > > > > I can see arguments either way; the vSMMU means that the guest can use the > > same SMMU driver as the host but a para-virtualised approach could > > theoretically be used across multiple SMMU implementations as well as > > potentially being kinder on the TLB. > > In the paravirt approach is the guest managing its own stage 1 > page tables (read directly by the hardware SMMU)? No; ideally the paravirtualised interface would abstract any details of the hardware, including page table format. So you might have a "map" hvc call that takes iova, (guest) phys, size, for example. Then the hypervisor would manually collapse that into the current page tables using iommu_map. > Is there anything written up anywhere sketching out how the paravirt > approach would work? Are there any limitations vs the vSMMU? Not yet, and that's exactly the kind of research/investigation I'd like to see happening before we commit ourselves one way or the other. Will