WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] libxc: add xc_domain_add_to_physmap to wr

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] libxc: add xc_domain_add_to_physmap to wrap XENMEM_add_to_physmap
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 20 Oct 2010 06:50:23 -0700
Delivery-date: Wed, 20 Oct 2010 06:53:16 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1287418526 -3600
# Node ID 90a64629f7c0c2cd6d244b4a00cc20e1e277d349
# Parent  835b06768104fbd54c5e1ab4fbd06c690fa7a39a
libxc: add xc_domain_add_to_physmap to wrap XENMEM_add_to_physmap

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/libxc/xc_dom_x86.c |   21 ++++++++-------------
 tools/libxc/xc_domain.c  |   15 +++++++++++++++
 tools/libxc/xenctrl.h    |    6 ++++++
 3 files changed, 29 insertions(+), 13 deletions(-)

diff -r 835b06768104 -r 90a64629f7c0 tools/libxc/xc_dom_x86.c
--- a/tools/libxc/xc_dom_x86.c  Mon Oct 18 17:14:07 2010 +0100
+++ b/tools/libxc/xc_dom_x86.c  Mon Oct 18 17:15:26 2010 +0100
@@ -815,31 +815,26 @@ int arch_setup_bootlate(struct xc_dom_im
     else
     {
         /* paravirtualized guest with auto-translation */
-        struct xen_add_to_physmap xatp;
         int i;
 
         /* Map shared info frame into guest physmap. */
-        xatp.domid = dom->guest_domid;
-        xatp.space = XENMAPSPACE_shared_info;
-        xatp.idx = 0;
-        xatp.gpfn = dom->shared_info_pfn;
-        rc = xc_memory_op(dom->xch, XENMEM_add_to_physmap, &xatp);
+        rc = xc_domain_add_to_physmap(dom->xch, dom->guest_domid,
+                                      XENMAPSPACE_shared_info,
+                                      0, dom->shared_info_pfn);
         if ( rc != 0 )
         {
             xc_dom_panic(dom->xch, XC_INTERNAL_ERROR, "%s: mapping"
                          " shared_info failed (pfn=0x%" PRIpfn ", rc=%d)",
-                         __FUNCTION__, xatp.gpfn, rc);
+                         __FUNCTION__, dom->shared_info_pfn, rc);
             return rc;
         }
 
         /* Map grant table frames into guest physmap. */
         for ( i = 0; ; i++ )
         {
-            xatp.domid = dom->guest_domid;
-            xatp.space = XENMAPSPACE_grant_table;
-            xatp.idx = i;
-            xatp.gpfn = dom->total_pages + i;
-            rc = xc_memory_op(dom->xch, XENMEM_add_to_physmap, &xatp);
+            rc = xc_domain_add_to_physmap(dom->xch, dom->guest_domid,
+                                          XENMAPSPACE_grant_table,
+                                          i, dom->total_pages + i);
             if ( rc != 0 )
             {
                 if ( (i > 0) && (errno == EINVAL) )
@@ -849,7 +844,7 @@ int arch_setup_bootlate(struct xc_dom_im
                 }
                 xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
                              "%s: mapping grant tables failed " "(pfn=0x%"
-                             PRIpfn ", rc=%d)", __FUNCTION__, xatp.gpfn, rc);
+                             PRIpfn ", rc=%d)", __FUNCTION__, dom->total_pages 
+ i, rc);
                 return rc;
             }
         }
diff -r 835b06768104 -r 90a64629f7c0 tools/libxc/xc_domain.c
--- a/tools/libxc/xc_domain.c   Mon Oct 18 17:14:07 2010 +0100
+++ b/tools/libxc/xc_domain.c   Mon Oct 18 17:15:26 2010 +0100
@@ -682,6 +682,21 @@ int xc_domain_decrease_reservation_exact
     return err;
 }
 
+int xc_domain_add_to_physmap(xc_interface *xch,
+                             uint32_t domid,
+                             unsigned int space,
+                             unsigned long idx,
+                             xen_pfn_t gpfn)
+{
+    struct xen_add_to_physmap xatp = {
+        .domid = domid,
+        .space = space,
+        .idx = idx,
+        .gpfn = gpfn,
+    };
+    return xc_memory_op(xch, XENMEM_add_to_physmap, &xatp);
+}
+
 int xc_domain_populate_physmap(xc_interface *xch,
                                uint32_t domid,
                                unsigned long nr_extents,
diff -r 835b06768104 -r 90a64629f7c0 tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h     Mon Oct 18 17:14:07 2010 +0100
+++ b/tools/libxc/xenctrl.h     Mon Oct 18 17:15:26 2010 +0100
@@ -810,6 +810,12 @@ int xc_domain_decrease_reservation_exact
                                          unsigned long nr_extents,
                                          unsigned int extent_order,
                                          xen_pfn_t *extent_start);
+
+int xc_domain_add_to_physmap(xc_interface *xch,
+                             uint32_t domid,
+                             unsigned int space,
+                             unsigned long idx,
+                             xen_pfn_t gpfn);
 
 int xc_domain_populate_physmap(xc_interface *xch,
                                uint32_t domid,

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] libxc: add xc_domain_add_to_physmap to wrap XENMEM_add_to_physmap, Xen patchbot-unstable <=