[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [V2 PATCH 4/4] PVH xen tools: xenstored changes



 Allow map_interface in xenstored to revert to the
 xc_map_foreign_range if xc_gnttab_map_grant_ref is unable
 to map the mfn because grant is not yet setup for a PVH guest.
 PVH sets it up during boot via HVM mechanism.

Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>
---
 tools/xenstore/xenstored_domain.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c 
b/tools/xenstore/xenstored_domain.c
index bf83d58..4a89831 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -168,13 +168,15 @@ static int readchn(struct connection *conn, void *data, 
unsigned int len)
 static void *map_interface(domid_t domid, unsigned long mfn)
 {
        if (*xcg_handle != NULL) {
+               void *addr;
                /* 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)
-- 
1.7.2.3


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.