[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 08/11] xen/arm: Handle remove foreign mapping
On Mon, 2013-12-16 at 15:34 +0000, Julien Grall wrote: > > On 12/16/2013 11:51 AM, Tim Deegan wrote: > > At 19:37 +0000 on 13 Dec (1386959858), Julien Grall wrote: > >> @@ -693,12 +694,21 @@ long do_memory_op(unsigned long cmd, > >> XEN_GUEST_HANDLE_PARAM(void) arg) > >> return rc; > >> } > >> > >> - page = get_page_from_gfn(d, xrfp.gpfn, NULL, P2M_ALLOC); > >> + /* > >> + * If autotranslate guest, (eg pvh), the gfn could be mapped to a > >> mfn > >> + * from foreign domain by the user space tool during domain > >> creation. > >> + * We need to check for that, free it up from the p2m, and release > >> + * refcnt on it. In such a case, page would be NULL and the > >> following > >> + * call would not have refcnt'd the page. > >> + */ > >> + page = get_page_from_gfn(d, xrfp.gpfn, &p2mt, P2M_ALLOC); > >> if ( page ) > >> { > >> guest_physmap_remove_page(d, xrfp.gpfn, page_to_mfn(page), > >> 0); > >> put_page(page); > >> } > >> + else if ( p2m_is_foreign(p2mt) ) > >> + rc = p2m_remove_foreign(d, xrfp.gpfn); > > > > This doesn't seem like the right interface -- having special cases > > like this in the callers is something we slipped into in x86 for a lot > > of the paging/sharing code and it's not nice. I think maybe we can > > just have get_page_from_gfn() DTRT for foreign (and grant) entries. > > > > Also, the comment will have been out of data by the time the x86 > > version of this code is finished, as we won't be handling the refcount > > at this level. :) > > I will remove the comment and modify get_page_from_gfn to handle foreign > mapping. You'll want to coordinate with Mukesh on that latter I think. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |