diff options
author | Tim Deegan <tim@xen.org> | 2012-03-08 16:40:05 +0000 |
---|---|---|
committer | Tim Deegan <tim@xen.org> | 2012-03-08 16:40:05 +0000 |
commit | cc0b0b4487dd1df3fd5e15050a2fb05bb88b3539 (patch) | |
tree | 4bf1f5a83b9331f2cd1ca84e5d3246e199fa39bc /xen/include/public/domctl.h | |
parent | 770d1e858de56ba8f2e0d7e45c08f48d599528e5 (diff) | |
download | xen-cc0b0b4487dd1df3fd5e15050a2fb05bb88b3539.tar.gz xen-cc0b0b4487dd1df3fd5e15050a2fb05bb88b3539.tar.bz2 xen-cc0b0b4487dd1df3fd5e15050a2fb05bb88b3539.zip |
x86/mm: wire up sharing ring
Now that we have an interface close to finalizing, do the necessary plumbing to
set up a ring for reporting failed allocations in the unshare path.
Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
Diffstat (limited to 'xen/include/public/domctl.h')
-rw-r--r-- | xen/include/public/domctl.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h index a3ed8d76be..494520743d 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -711,7 +711,7 @@ struct xen_domctl_gdbsx_domstatus { /* XEN_DOMCTL_mem_event_op */ /* -* Domain memory paging + * Domain memory paging * Page memory in and out. * Domctl interface to set up and tear down the * pager<->hypervisor interface. Use XENMEM_paging_op* @@ -741,6 +741,24 @@ struct xen_domctl_gdbsx_domstatus { #define XEN_DOMCTL_MEM_EVENT_OP_ACCESS_ENABLE 0 #define XEN_DOMCTL_MEM_EVENT_OP_ACCESS_DISABLE 1 +/* + * Sharing ENOMEM helper. + * + * As with paging, use the domctl for teardown/setup of the + * helper<->hypervisor interface. + * + * If setup, this ring is used to communicate failed allocations + * in the unshare path. XENMEM_sharing_op_resume is used to wake up + * vcpus that could not unshare. + * + * Note that shring can be turned on (as per the domctl below) + * *without* this ring being setup. + */ +#define XEN_DOMCTL_MEM_EVENT_OP_SHARING 3 + +#define XEN_DOMCTL_MEM_EVENT_OP_SHARING_ENABLE 0 +#define XEN_DOMCTL_MEM_EVENT_OP_SHARING_DISABLE 1 + /* Use for teardown/setup of helper<->hypervisor interface for paging, * access and sharing.*/ struct xen_domctl_mem_event_op { |