aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_memshr.c
diff options
context:
space:
mode:
authorTim Deegan <tim@xen.org>2012-03-08 16:40:05 +0000
committerTim Deegan <tim@xen.org>2012-03-08 16:40:05 +0000
commitf9f9daee79a5711c7cd880a10dbff02ed5cd749b (patch)
tree685171ba0771f4a6bc92809669a41db0f2a37162 /tools/libxc/xc_memshr.c
parentcc0b0b4487dd1df3fd5e15050a2fb05bb88b3539 (diff)
downloadxen-f9f9daee79a5711c7cd880a10dbff02ed5cd749b.tar.gz
xen-f9f9daee79a5711c7cd880a10dbff02ed5cd749b.tar.bz2
xen-f9f9daee79a5711c7cd880a10dbff02ed5cd749b.zip
Tools: libxc side for setting up the mem sharing ring
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>
Diffstat (limited to 'tools/libxc/xc_memshr.c')
-rw-r--r--tools/libxc/xc_memshr.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/tools/libxc/xc_memshr.c b/tools/libxc/xc_memshr.c
index 992b9144e5..ae60571dee 100644
--- a/tools/libxc/xc_memshr.c
+++ b/tools/libxc/xc_memshr.c
@@ -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)
{