]> xenbits.xensource.com Git - xen.git/commitdiff
Tools: libxc side for setting up the mem sharing ring
authorTim Deegan <tim@xen.org>
Thu, 8 Mar 2012 16:40:05 +0000 (16:40 +0000)
committerTim Deegan <tim@xen.org>
Thu, 8 Mar 2012 16:40:05 +0000 (16:40 +0000)
This ring is used to report failed allocations in the unshare path.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Tim Deegan <tim@xen.org>
tools/libxc/xc_memshr.c
tools/libxc/xenctrl.h

index 992b9144e549ec8743679bb4a9dde79d911ce737..ae60571deef66e597a79c7b4694d135a61121cdb 100644 (file)
@@ -42,6 +42,31 @@ int xc_memshr_control(xc_interface *xch,
     return do_domctl(xch, &domctl);
 }
 
+int xc_memshr_ring_enable(xc_interface *xch, 
+                          domid_t domid, 
+                          uint32_t *port)
+{
+    if ( !port )
+    {
+        errno = EINVAL;
+        return -1;
+    }
+        
+    return xc_mem_event_control(xch, domid,
+                                XEN_DOMCTL_MEM_EVENT_OP_SHARING_ENABLE,
+                                XEN_DOMCTL_MEM_EVENT_OP_SHARING,
+                                port);
+}
+
+int xc_memshr_ring_disable(xc_interface *xch, 
+                           domid_t domid)
+{
+    return xc_mem_event_control(xch, domid,
+                                XEN_DOMCTL_MEM_EVENT_OP_SHARING_DISABLE,
+                                XEN_DOMCTL_MEM_EVENT_OP_SHARING,
+                                NULL);
+}
+
 static int xc_memshr_memop(xc_interface *xch, domid_t domid, 
                             xen_mem_sharing_op_t *mso)
 {
index b4dd9e80e0e918e84c5782680b658a49f0c47bd8..812e72331d4a6dc41bafa7adc1c1c14eaa49d4e9 100644 (file)
@@ -1917,6 +1917,11 @@ int xc_mem_access_resume(xc_interface *xch, domid_t domain_id,
 int xc_memshr_control(xc_interface *xch,
                       domid_t domid,
                       int enable);
+int xc_memshr_ring_enable(xc_interface *xch, 
+                          domid_t domid, 
+                          uint32_t *port);
+int xc_memshr_ring_disable(xc_interface *xch, 
+                           domid_t domid);
 int xc_memshr_nominate_gfn(xc_interface *xch,
                            domid_t domid,
                            unsigned long gfn,