WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] imported patch mem_event_tools_domctls.pa

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] imported patch mem_event_tools_domctls.patch
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 16 Dec 2009 22:40:23 -0800
Delivery-date: Wed, 16 Dec 2009 22:41:40 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1261031275 0
# Node ID c9fb3c514f65ab5f2c348215fa3affa462e94556
# Parent  66e29f42247a2f5342d6b748c1e026ebf5dba74e
imported patch mem_event_tools_domctls.patch
---
 tools/libxc/Makefile       |    1 
 tools/libxc/xc_mem_event.c |   59 +++++++++++++++++++++++++++++++++++++++++++++
 tools/libxc/xenctrl.h      |   13 +++++++++
 3 files changed, 73 insertions(+)

diff -r 66e29f42247a -r c9fb3c514f65 tools/libxc/Makefile
--- a/tools/libxc/Makefile      Thu Dec 17 06:27:55 2009 +0000
+++ b/tools/libxc/Makefile      Thu Dec 17 06:27:55 2009 +0000
@@ -22,6 +22,7 @@ CTRL_SRCS-y       += xc_cpu_hotplug.c
 CTRL_SRCS-y       += xc_cpu_hotplug.c
 CTRL_SRCS-y       += xc_resume.c
 CTRL_SRCS-y       += xc_tmem.c
+CTRL_SRCS-y       += xc_mem_event.c
 CTRL_SRCS-$(CONFIG_X86) += xc_pagetab.c
 CTRL_SRCS-$(CONFIG_Linux) += xc_linux.c
 CTRL_SRCS-$(CONFIG_SunOS) += xc_solaris.c
diff -r 66e29f42247a -r c9fb3c514f65 tools/libxc/xc_mem_event.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/libxc/xc_mem_event.c        Thu Dec 17 06:27:55 2009 +0000
@@ -0,0 +1,59 @@
+/******************************************************************************
+ *
+ * xc_mem_event.c
+ *
+ * Interface to low-level memory event functionality.
+ *
+ * Copyright (c) 2009 Citrix (R&D) Ltd. (Patrick Colp)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include "xc_private.h"
+
+int xc_mem_event_control(int xc_handle, domid_t domain_id, unsigned int op,
+                         unsigned int mode, void *shared_page,
+                         void *ring_page, unsigned long gfn)
+{
+    DECLARE_DOMCTL;
+
+    domctl.cmd = XEN_DOMCTL_mem_event_op;
+    domctl.domain = domain_id;
+    domctl.u.mem_event_op.op = op;
+    domctl.u.mem_event_op.mode = mode;
+
+    domctl.u.mem_event_op.shared_addr = (unsigned long)shared_page;
+    domctl.u.mem_event_op.ring_addr = (unsigned long)ring_page;
+
+    domctl.u.mem_event_op.gfn = gfn;
+    
+    return do_domctl(xc_handle, &domctl);
+}
+
+int xc_mem_event_enable(int xc_handle, domid_t domain_id,
+                        void *shared_page, void *ring_page)
+{
+    return xc_mem_event_control(xc_handle, domain_id,
+                                XEN_DOMCTL_MEM_EVENT_OP_ENABLE, 0,
+                                shared_page, ring_page, INVALID_MFN);
+}
+
+int xc_mem_event_disable(int xc_handle, domid_t domain_id)
+{
+    return xc_mem_event_control(xc_handle, domain_id,
+                                XEN_DOMCTL_MEM_EVENT_OP_DISABLE, 0,
+                                NULL, NULL, INVALID_MFN);
+}
+
diff -r 66e29f42247a -r c9fb3c514f65 tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h     Thu Dec 17 06:27:55 2009 +0000
+++ b/tools/libxc/xenctrl.h     Thu Dec 17 06:27:55 2009 +0000
@@ -47,6 +47,8 @@
 #define XC_PAGE_SIZE            (1UL << XC_PAGE_SHIFT)
 #define XC_PAGE_MASK            (~(XC_PAGE_SIZE-1))
 
+#define INVALID_MFN  (~0UL)
+
 /*
  *  DEFINITIONS FOR CPU BARRIERS
  */
@@ -1312,4 +1314,15 @@ int xc_tmem_restore(int xc_handle, int d
 int xc_tmem_restore(int xc_handle, int dom, int fd);
 int xc_tmem_restore_extra(int xc_handle, int dom, int fd);
 
+/**
+ * mem_event operations
+ */
+int xc_mem_event_control(int xc_handle, domid_t domain_id, unsigned int op,
+                         unsigned int mode, void *shared_page,
+                          void *ring_page, unsigned long gfn);
+
+int xc_mem_event_enable(int xc_handle, domid_t domain_id,
+                        void *shared_page, void *ring_page);
+int xc_mem_event_disable(int xc_handle, domid_t domain_id);
+
 #endif /* XENCTRL_H */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] imported patch mem_event_tools_domctls.patch, Xen patchbot-unstable <=