diff options
author | Joe Epstein <jepstein98@gmail.com> | 2011-01-07 11:54:42 +0000 |
---|---|---|
committer | Joe Epstein <jepstein98@gmail.com> | 2011-01-07 11:54:42 +0000 |
commit | b405792883f6e2f3001328865af6960968441ad6 (patch) | |
tree | efeb8442b605df3abc03ce2e5daa6fee912c1b46 /xen/include/public/domctl.h | |
parent | fbbedcae8c0c5374f8c0a869f49784b37baf04bb (diff) | |
download | xen-b405792883f6e2f3001328865af6960968441ad6.tar.gz xen-b405792883f6e2f3001328865af6960968441ad6.tar.bz2 xen-b405792883f6e2f3001328865af6960968441ad6.zip |
mem_access: access listener can be required
* Adds the ability to set that a domain that an access listener;
that is, it pauses the VCPU if there is no memory event listener.
Signed-off-by: Joe Epstein <jepstein98@gmail.com>
Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/public/domctl.h')
-rw-r--r-- | xen/include/public/domctl.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h index 06507bfaab..f5c661b5ab 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -820,6 +820,16 @@ typedef struct xen_domctl_vcpuextstate xen_domctl_vcpuextstate_t; DEFINE_XEN_GUEST_HANDLE(xen_domctl_vcpuextstate_t); #endif +/* XEN_DOMCTL_set_access_required: sets whether a memory event listener + * must be present to handle page access events: if false, the page + * access will revert to full permissions if no one is listening; + * */ +struct xen_domctl_set_access_required { + uint8_t access_required; +}; +typedef struct xen_domctl_set_access_required xen_domctl_set_access_required_t; +DEFINE_XEN_GUEST_HANDLE(xen_domctl_set_access_required_t); + struct xen_domctl { uint32_t cmd; #define XEN_DOMCTL_createdomain 1 @@ -882,6 +892,7 @@ struct xen_domctl { #define XEN_DOMCTL_getpageframeinfo3 61 #define XEN_DOMCTL_setvcpuextstate 62 #define XEN_DOMCTL_getvcpuextstate 63 +#define XEN_DOMCTL_set_access_required 64 #define XEN_DOMCTL_gdbsx_guestmemio 1000 #define XEN_DOMCTL_gdbsx_pausevcpu 1001 #define XEN_DOMCTL_gdbsx_unpausevcpu 1002 @@ -934,6 +945,7 @@ struct xen_domctl { struct xen_domctl_cpuid cpuid; struct xen_domctl_vcpuextstate vcpuextstate; #endif + struct xen_domctl_set_access_required access_required; struct xen_domctl_gdbsx_memio gdbsx_guest_memio; struct xen_domctl_gdbsx_pauseunp_vcpu gdbsx_pauseunp_vcpu; struct xen_domctl_gdbsx_domstatus gdbsx_domstatus; |