From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: RFC: Using grant table to give iomem permission Date: Fri, 18 May 2007 15:45:27 +0100 Message-ID: References: <1179497668.14376.31.camel@moonstone.uk.level5networks.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1179497668.14376.31.camel@moonstone.uk.level5networks.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Kieran Mansley Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 18/5/07 15:14, "Kieran Mansley" wrote: >>> Some questions from me: >>> - does this approach seem sane? >> >> There's no reason you shouldn't be able to use GNTMAP_host_map as usual, and >> do refcounting in the active grant entry, also as usual. > > OK. My reluctance to do that was simply that I wasn't sure if the > operations that take place when doing a GNTMAP_host_map would conflict > with those when doing an iomem_map. If you think they shouldn't, I'll > give it a go. I'm not sure what you mean. > That raises one of my other questions which is how to test for it being > a valid RAM page, as in the absence of it GNTMAP_iomem_map that's pretty > much the only indicator that it's iomem we're dealing with. As I said, > mfn_valid() doesn't seem to be sufficient. Yes, I misled you here. You want the middle bit of get_page_from_l1e(). It checks for !mfn_valid()||page_get_owner()==dom_io. Then you'd do an iomem_access_permitted check passing in a pointer to the granting domain. You should perhaps pull the core of get_page_from_l1e() into a supporting function which you can then make available for common/grant_table.c to call into. -- Keir