aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/public/domctl.h
diff options
context:
space:
mode:
authorJoe Epstein <jepstein98@gmail.com>2011-01-07 11:54:42 +0000
committerJoe Epstein <jepstein98@gmail.com>2011-01-07 11:54:42 +0000
commitb405792883f6e2f3001328865af6960968441ad6 (patch)
treeefeb8442b605df3abc03ce2e5daa6fee912c1b46 /xen/include/public/domctl.h
parentfbbedcae8c0c5374f8c0a869f49784b37baf04bb (diff)
downloadxen-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.h12
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;