[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20161114153149.GY2078@8bytes.org>
Date: Mon, 14 Nov 2016 16:31:50 +0100
From: Joerg Roedel <joro@...tes.org>
To: Auger Eric <eric.auger@...hat.com>
Cc: drjones@...hat.com, jason@...edaemon.net, kvm@...r.kernel.org,
marc.zyngier@....com, punit.agrawal@....com, will.deacon@....com,
linux-kernel@...r.kernel.org, iommu@...ts.linux-foundation.org,
diana.craciun@....com, alex.williamson@...hat.com,
pranav.sawargaonkar@...il.com,
linux-arm-kernel@...ts.infradead.org, tglx@...utronix.de,
robin.murphy@....com, christoffer.dall@...aro.org,
eric.auger.pro@...il.com
Subject: Re: [RFC v2 8/8] iommu/arm-smmu: implement add_reserved_regions
callback
Hi Eric,
On Fri, Nov 11, 2016 at 05:45:19PM +0100, Auger Eric wrote:
> On 11/11/2016 17:22, Joerg Roedel wrote:
> > So I think we need a way to tell userspace about the reserved regions
> > (per iommu-group) so that userspace knows where it can not map anything,
> Current plan is to expose that info through an iommu-group sysfs
> attribute, as you and Robin advised.
Great.
> > and VFIO can enforce that. But the right struct here is not an
> > iova-allocator rb-tree, a ordered linked list should be sufficient.
> I plan a linked list to store the reserved regions (P2P regions, MSI
> region, ...). get_dma_regions is called with a list local to a function
> for that. Might be needed to move that list head in the iommu_group to
> avoid calling the get_dm_regions again in the attribute show function?
You can re-use the get_dm_regions() call-back available in the iommu-ops
already. Just rename it and add a flag to it which tells the iommu-core
whether that region needs to be mapped or not.
> But to allocate the IOVAs within the MSI reserved region, I understand
> you don't want us to use the iova.c allocator, is that correct? We need
> an allocator though, even a very basic one based on bitmap or whatever.
> There potentially have several different physical MSI frame pages to map.
I don't get this, what do you need and address-allocator for?
Joerg
Powered by blists - more mailing lists