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] libxc interface support for memory paging

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] libxc interface support for memory paging domctls.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 16 Dec 2009 22:40:43 -0800
Delivery-date: Wed, 16 Dec 2009 22:43:24 -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 0b56bc4f3b21f37df8b3422da9078442492d9fef
# Parent  5d2f68eab8dc504b91ee5876cfaf1dca6c8d636c
libxc interface support for memory paging domctls.

Signed-off-by: Patrick Colp <Patrick.Colp@xxxxxxxxxx>
---
 tools/libxc/Makefile        |    1 
 tools/libxc/xc_mem_paging.c |   68 ++++++++++++++++++++++++++++++++++++++++++++
 tools/libxc/xenctrl.h       |    7 ++++
 3 files changed, 76 insertions(+)

diff -r 5d2f68eab8dc -r 0b56bc4f3b21 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
@@ -23,6 +23,7 @@ CTRL_SRCS-y       += xc_resume.c
 CTRL_SRCS-y       += xc_resume.c
 CTRL_SRCS-y       += xc_tmem.c
 CTRL_SRCS-y       += xc_mem_event.c
+CTRL_SRCS-y       += xc_mem_paging.c
 CTRL_SRCS-$(CONFIG_X86) += xc_pagetab.c
 CTRL_SRCS-$(CONFIG_Linux) += xc_linux.c
 CTRL_SRCS-$(CONFIG_SunOS) += xc_solaris.c
diff -r 5d2f68eab8dc -r 0b56bc4f3b21 tools/libxc/xc_mem_paging.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/libxc/xc_mem_paging.c       Thu Dec 17 06:27:55 2009 +0000
@@ -0,0 +1,68 @@
+/******************************************************************************
+ *
+ * tools/libxc/xc_mem_paging.c
+ *
+ * Interface to low-level memory paging functionality.
+ *
+ * Copyright (c) 2009 by 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_paging_nominate(int xc_handle, domid_t domain_id, unsigned long gfn)
+{
+    return xc_mem_event_control(xc_handle, domain_id,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING_NOMINATE,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING, NULL, NULL,
+                                gfn);
+}
+
+int xc_mem_paging_evict(int xc_handle, domid_t domain_id, unsigned long gfn)
+{
+    return xc_mem_event_control(xc_handle, domain_id,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING_EVICT,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING, NULL, NULL,
+                                gfn);
+}
+
+int xc_mem_paging_prep(int xc_handle, domid_t domain_id, unsigned long gfn)
+{
+    return xc_mem_event_control(xc_handle, domain_id,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING_PREP,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING, NULL, NULL,
+                                gfn);
+}
+
+int xc_mem_paging_resume(int xc_handle, domid_t domain_id, unsigned long gfn)
+{
+    return xc_mem_event_control(xc_handle, domain_id,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING_RESUME,
+                                XEN_DOMCTL_MEM_EVENT_OP_PAGING, NULL, NULL,
+                                gfn);
+}
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End: 
+ */
diff -r 5d2f68eab8dc -r 0b56bc4f3b21 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
@@ -1325,4 +1325,11 @@ int xc_mem_event_enable(int xc_handle, d
                         void *shared_page, void *ring_page);
 int xc_mem_event_disable(int xc_handle, domid_t domain_id);
 
+int xc_mem_paging_nominate(int xc_handle, domid_t domain_id,
+                           unsigned long gfn);
+int xc_mem_paging_evict(int xc_handle, domid_t domain_id, unsigned long gfn);
+int xc_mem_paging_prep(int xc_handle, domid_t domain_id, unsigned long gfn);
+int xc_mem_paging_resume(int xc_handle, domid_t domain_id,
+                         unsigned long gfn);
+
 #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] libxc interface support for memory paging domctls., Xen patchbot-unstable <=