[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [HYBRID]: status update...
On Thu, 5 Jul 2012, Mukesh Rathor wrote: > > xenstored is going to try to open the grant table interface > > (xc_gnttab_open, implemented via gntdev), if that fails it should fall > > back to xc_map_foreign_range. That should work out of the box, or at > > least it does for my "hybrid" ARM dom0. > > For hybrid, I'd like it to just use map foreign range for now. I am > looking for a way to enforce that. I can't pass flag to the API. Maybe the best thing to do would be modifying xenstored map_interface to fall back to the old method if gnttab doesn't work. The basic idea is the following (untested): diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c index bf83d58..14f5cdf 100644 --- a/tools/xenstore/xenstored_domain.c +++ b/tools/xenstore/xenstored_domain.c @@ -167,14 +167,16 @@ static int readchn(struct connection *conn, void *data, unsigned int len) static void *map_interface(domid_t domid, unsigned long mfn) { + void *addr; if (*xcg_handle != NULL) { /* this is the preferred method */ - return xc_gnttab_map_grant_ref(*xcg_handle, domid, + addr = xc_gnttab_map_grant_ref(*xcg_handle, domid, GNTTAB_RESERVED_XENSTORE, PROT_READ|PROT_WRITE); - } else { - return xc_map_foreign_range(*xc_handle, domid, - getpagesize(), PROT_READ|PROT_WRITE, mfn); + if (addr) + return addr; } + return xc_map_foreign_range(*xc_handle, domid, + getpagesize(), PROT_READ|PROT_WRITE, mfn); } static void unmap_interface(void *interface) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |