[xen master] Revert "tools/dombuilder: Prevent failures of xc_dom_gnttab_init()"

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen master] Revert "tools/dombuilder: Prevent failures of xc_dom_gnttab_init()"

patchbot
commit e07ebab86595df29838f0960693df84f34528833
Author:     Wei Liu <[hidden email]>
AuthorDate: Fri Nov 3 14:14:46 2017 +0000
Commit:     Wei Liu <[hidden email]>
CommitDate: Fri Nov 3 14:14:46 2017 +0000

    Revert "tools/dombuilder: Prevent failures of xc_dom_gnttab_init()"
   
    This reverts commit 9ff6dbfa7576cc1c5d6f9a3c59c69a8503e36f11, which
    breaks hvm save/restore.
   
    Signed-off-by: Wei Liu <[hidden email]>
---
 tools/libxc/include/xc_dom.h |  4 ----
 tools/libxc/xc_dom_boot.c    | 16 ----------------
 tools/libxc/xc_dom_core.c    |  3 ---
 tools/libxl/libxl_dom.c      | 12 ++++++------
 4 files changed, 6 insertions(+), 29 deletions(-)

diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h
index 5292424..a1c3de2 100644
--- a/tools/libxc/include/xc_dom.h
+++ b/tools/libxc/include/xc_dom.h
@@ -116,10 +116,6 @@ struct xc_dom_image {
     uint32_t console_domid;
     uint32_t xenstore_domid;
 
-    /* Grant limit configuration; mandatory if calling xc_dom_gnttab_init(). */
-    unsigned int max_grant_frames;
-    unsigned int max_maptrack_frames;
-
     /*
      * initrd parameters as specified in start_info page
      * Depending on capabilities of the booted kernel this may be a virtual
diff --git a/tools/libxc/xc_dom_boot.c b/tools/libxc/xc_dom_boot.c
index 7c21fea..75836bd 100644
--- a/tools/libxc/xc_dom_boot.c
+++ b/tools/libxc/xc_dom_boot.c
@@ -420,22 +420,6 @@ int xc_dom_gnttab_hvm_seed(xc_interface *xch, uint32_t domid,
 
 int xc_dom_gnttab_init(struct xc_dom_image *dom)
 {
-    int rc;
-
-    if ( dom->max_grant_frames == -1 || dom->max_maptrack_frames == -1 )
-    {
-        xc_dom_panic(dom->xch, XC_INVALID_PARAM,
-                     "%s: Caller didn't set grant limit information", __func__);
-        errno = EINVAL;
-
-        return -1;
-    }
-
-    if ( (rc = xc_domain_set_gnttab_limits(dom->xch, dom->guest_domid,
-                                           dom->max_grant_frames,
-                                           dom->max_maptrack_frames)) != 0 )
-        return rc;
-
     if ( xc_dom_translated(dom) ) {
         return xc_dom_gnttab_hvm_seed(dom->xch, dom->guest_domid,
                                       dom->console_gfn, dom->xenstore_gfn,
diff --git a/tools/libxc/xc_dom_core.c b/tools/libxc/xc_dom_core.c
index d660651..7087c50 100644
--- a/tools/libxc/xc_dom_core.c
+++ b/tools/libxc/xc_dom_core.c
@@ -784,9 +784,6 @@ struct xc_dom_image *xc_dom_allocate(xc_interface *xch,
     dom->console_domid = INVALID_DOMID;
     dom->xenstore_domid = INVALID_DOMID;
 
-    dom->max_grant_frames = -1;
-    dom->max_maptrack_frames = -1;
-
     dom->flags = SIF_VIRT_P2M_4TOOLS;
 
     dom->alloc_malloc += sizeof(*dom);
diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index fa5319d..fcdeef0 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -358,6 +358,12 @@ int libxl__build_pre(libxl__gc *gc, uint32_t domid,
         return ERROR_FAIL;
     }
 
+    if (xc_domain_set_gnttab_limits(ctx->xch, domid, info->max_grant_frames,
+                                    info->max_maptrack_frames) != 0) {
+        LOG(ERROR, "Couldn't set grant table limits");
+        return ERROR_FAIL;
+    }
+
     /*
      * Check if the domain has any CPU or node affinity already. If not, try
      * to build up the latter via automatic NUMA placement. In fact, in case
@@ -809,9 +815,6 @@ int libxl__build_pv(libxl__gc *gc, uint32_t domid,
     dom->xenstore_domid = state->store_domid;
     dom->claim_enabled = libxl_defbool_val(info->claim_mode);
 
-    dom->max_grant_frames    = info->max_grant_frames;
-    dom->max_maptrack_frames = info->max_maptrack_frames;
-
     if (info->num_vnuma_nodes != 0) {
         unsigned int i;
 
@@ -1148,9 +1151,6 @@ int libxl__build_hvm(libxl__gc *gc, uint32_t domid,
     dom->xenstore_evtchn = state->store_port;
     dom->xenstore_domid = state->store_domid;
 
-    dom->max_grant_frames    = info->max_grant_frames;
-    dom->max_maptrack_frames = info->max_maptrack_frames;
-
     /* The params from the configuration file are in Mb, which are then
      * multiplied by 1 Kb. This was then divided off when calling
      * the old xc_hvm_build_target_mem() which then turned them to bytes.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog