From: Tim Deegan Date: Thu, 8 Mar 2012 16:40:05 +0000 (+0000) Subject: Tools: libxc side for setting up the mem sharing ring X-Git-Tag: 4.2.0-rc1~665 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f9f9daee79a5711c7cd880a10dbff02ed5cd749b;p=xen.git 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 Acked-by: Ian Campbell Committed-by: Tim Deegan --- 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) { diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h index b4dd9e80e0..812e72331d 100644 --- a/tools/libxc/xenctrl.h +++ b/tools/libxc/xenctrl.h @@ -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,