File tools-libxc-add-interface-for-GNTTABOP_query_size.patch of Package xen.10217

From: Dongli Zhang <dongli.zhang@oracle.com>
Date: Mon, 3 Jul 2017 07:34:12 +0800
Subject: tools/libxc: add interface for GNTTABOP_query_size
Patch-mainline: 4.10.0-rc1
Git-commit: 04e0457e1e786a3a33d1854275fd6cd7ba6306f7

This patch adds new interface for GNTTABOP_query_size in libxc to help
query the current grant table frames and maximum grant table frames for a
specific domain.

Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
---
 tools/libxc/include/xenctrl.h |  1 +
 tools/libxc/xc_gnttab.c       | 12 ++++++++++++
 2 files changed, 13 insertions(+)

Index: xen-4.9.4-testing/tools/libxc/include/xenctrl.h
===================================================================
--- xen-4.9.4-testing.orig/tools/libxc/include/xenctrl.h
+++ xen-4.9.4-testing/tools/libxc/include/xenctrl.h
@@ -1597,6 +1597,7 @@ int xc_gnttab_op(xc_interface *xch, int
                  void * op, int op_size, int count);
 /* Logs iff hypercall bounce fails, otherwise doesn't. */
 
+int xc_gnttab_query_size(xc_interface *xch, struct gnttab_query_size *query);
 int xc_gnttab_get_version(xc_interface *xch, int domid); /* Never logs */
 grant_entry_v1_t *xc_gnttab_map_table_v1(xc_interface *xch, int domid, int *gnt_num);
 grant_entry_v2_t *xc_gnttab_map_table_v2(xc_interface *xch, int domid, int *gnt_num);
Index: xen-4.9.4-testing/tools/libxc/xc_gnttab.c
===================================================================
--- xen-4.9.4-testing.orig/tools/libxc/xc_gnttab.c
+++ xen-4.9.4-testing/tools/libxc/xc_gnttab.c
@@ -38,6 +38,18 @@ int xc_gnttab_op(xc_interface *xch, int
     return ret;
 }
 
+int xc_gnttab_query_size(xc_interface *xch, struct gnttab_query_size *query)
+{
+    int rc;
+
+    rc = xc_gnttab_op(xch, GNTTABOP_query_size, query, sizeof(*query), 1);
+
+    if ( rc || (query->status != GNTST_okay) )
+        ERROR("Could not query dom %u's grant size\n", query->dom);
+
+    return rc;
+}
+
 int xc_gnttab_get_version(xc_interface *xch, int domid)
 {
     struct gnttab_get_version query;
openSUSE Build Service is sponsored by