aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/public/domctl.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-12-17 06:27:55 +0000
committerKeir Fraser <keir.fraser@citrix.com>2009-12-17 06:27:55 +0000
commitbd8fd8c198f6a1acc9ac86775977136fdb1ff5a7 (patch)
treef697a8be40898de2fab276c08a96485efe36c203 /xen/include/public/domctl.h
parent7fed9658c301952c96cc03ab92e95d6b0c2e7e0e (diff)
downloadxen-bd8fd8c198f6a1acc9ac86775977136fdb1ff5a7.tar.gz
xen-bd8fd8c198f6a1acc9ac86775977136fdb1ff5a7.tar.bz2
xen-bd8fd8c198f6a1acc9ac86775977136fdb1ff5a7.zip
domctl support for generic memory event handling.
Signed-off-by: Patrick Colp <Patrick.Colp@citrix.com>
Diffstat (limited to 'xen/include/public/domctl.h')
-rw-r--r--xen/include/public/domctl.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 88b19a4ffe..7a378a3519 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -691,6 +691,31 @@ struct xen_domctl_gdbsx_domstatus {
};
+/*
+ * Memory event operations
+ */
+
+#define XEN_DOMCTL_mem_event_op 56
+
+/* Add and remove memory handlers */
+#define XEN_DOMCTL_MEM_EVENT_OP_ENABLE 0
+#define XEN_DOMCTL_MEM_EVENT_OP_DISABLE 1
+
+struct xen_domctl_mem_event_op {
+ uint32_t op; /* XEN_DOMCTL_MEM_EVENT_OP_* */
+ uint32_t mode; /* XEN_DOMCTL_MEM_EVENT_ENABLE_* */
+
+ /* OP_ENABLE */
+ unsigned long shared_addr; /* IN: Virtual address of shared page */
+ unsigned long ring_addr; /* IN: Virtual address of ring page */
+
+ /* Other OPs */
+ unsigned long gfn; /* IN: gfn of page being operated on */
+};
+typedef struct xen_domctl_mem_event_op xen_domctl_mem_event_op_t;
+DEFINE_XEN_GUEST_HANDLE(xen_domctl_mem_event_op_t);
+
+
struct xen_domctl {
uint32_t cmd;
uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
@@ -734,6 +759,7 @@ struct xen_domctl {
struct xen_domctl_set_target set_target;
struct xen_domctl_subscribe subscribe;
struct xen_domctl_debug_op debug_op;
+ struct xen_domctl_mem_event_op mem_event_op;
#if defined(__i386__) || defined(__x86_64__)
struct xen_domctl_cpuid cpuid;
#endif