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: Clarify xc_mmu interface and make

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] libxc: Clarify xc_mmu interface and make it private.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 09 Apr 2007 12:30:34 -0700
Delivery-date: Mon, 09 Apr 2007 12:30:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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 kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1175896105 -3600
# Node ID b0aaa113a60f236639f8b7f353459fcd9977d3be
# Parent  aeb9a84e46d9ddcbd155a6b28f825588473f8eb0
libxc: Clarify xc_mmu interface and make it private.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 tools/libxc/xc_domain_restore.c |   14 ++++++++------
 tools/libxc/xc_private.c        |   12 ++++++------
 tools/libxc/xc_private.h        |   12 ++++++++++++
 tools/libxc/xenctrl.h           |   15 ---------------
 4 files changed, 26 insertions(+), 27 deletions(-)

diff -r aeb9a84e46d9 -r b0aaa113a60f tools/libxc/xc_domain_restore.c
--- a/tools/libxc/xc_domain_restore.c   Fri Apr 06 22:32:57 2007 +0100
+++ b/tools/libxc/xc_domain_restore.c   Fri Apr 06 22:48:25 2007 +0100
@@ -284,7 +284,7 @@ int xc_domain_restore(int xc_handle, int
     /* Our mapping of the current region (batch) */
     char *region_base;
 
-    xc_mmu_t *mmu = NULL;
+    struct xc_mmu *mmu = NULL;
 
     /* used by debug verify code */
     unsigned long buf[PAGE_SIZE/sizeof(unsigned long)];
@@ -386,7 +386,9 @@ int xc_domain_restore(int xc_handle, int
     for ( pfn = 0; pfn < p2m_size; pfn++ )
         p2m[pfn] = INVALID_P2M_ENTRY;
 
-    if(!(mmu = xc_init_mmu_updates(xc_handle, dom))) {
+    mmu = xc_alloc_mmu_updates(xc_handle, dom);
+    if ( mmu == NULL )
+    {
         ERROR("Could not initialise for MMU updates");
         goto out;
     }
@@ -629,8 +631,8 @@ int xc_domain_restore(int xc_handle, int
      * Ensure we flush all machphys updates before potential PAE-specific
      * reallocations below.
      */
-    if (!hvm && xc_finish_mmu_updates(xc_handle, mmu)) {
-        ERROR("Error doing finish_mmu_updates()");
+    if (!hvm && xc_flush_mmu_updates(xc_handle, mmu)) {
+        ERROR("Error doing flush_mmu_updates()");
         goto out;
     }
 
@@ -810,8 +812,8 @@ int xc_domain_restore(int xc_handle, int
             }
         }
 
-        if (xc_finish_mmu_updates(xc_handle, mmu)) {
-            ERROR("Error doing finish_mmu_updates()");
+        if (xc_flush_mmu_updates(xc_handle, mmu)) {
+            ERROR("Error doing xc_flush_mmu_updates()");
             goto out;
         }
     }
diff -r aeb9a84e46d9 -r b0aaa113a60f tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c  Fri Apr 06 22:32:57 2007 +0100
+++ b/tools/libxc/xc_private.c  Fri Apr 06 22:48:25 2007 +0100
@@ -145,7 +145,7 @@ int xc_mmuext_op(
     return ret;
 }
 
-static int flush_mmu_updates(int xc_handle, xc_mmu_t *mmu)
+static int flush_mmu_updates(int xc_handle, struct xc_mmu *mmu)
 {
     int err = 0;
     DECLARE_HYPERCALL;
@@ -180,9 +180,9 @@ static int flush_mmu_updates(int xc_hand
     return err;
 }
 
-xc_mmu_t *xc_init_mmu_updates(int xc_handle, domid_t dom)
-{
-    xc_mmu_t *mmu = malloc(sizeof(xc_mmu_t));
+struct xc_mmu *xc_alloc_mmu_updates(int xc_handle, domid_t dom)
+{
+    struct xc_mmu *mmu = malloc(sizeof(*mmu));
     if ( mmu == NULL )
         return mmu;
     mmu->idx     = 0;
@@ -190,7 +190,7 @@ xc_mmu_t *xc_init_mmu_updates(int xc_han
     return mmu;
 }
 
-int xc_add_mmu_update(int xc_handle, xc_mmu_t *mmu,
+int xc_add_mmu_update(int xc_handle, struct xc_mmu *mmu,
                       unsigned long long ptr, unsigned long long val)
 {
     mmu->updates[mmu->idx].ptr = ptr;
@@ -202,7 +202,7 @@ int xc_add_mmu_update(int xc_handle, xc_
     return 0;
 }
 
-int xc_finish_mmu_updates(int xc_handle, xc_mmu_t *mmu)
+int xc_flush_mmu_updates(int xc_handle, struct xc_mmu *mmu)
 {
     return flush_mmu_updates(xc_handle, mmu);
 }
diff -r aeb9a84e46d9 -r b0aaa113a60f tools/libxc/xc_private.h
--- a/tools/libxc/xc_private.h  Fri Apr 06 22:32:57 2007 +0100
+++ b/tools/libxc/xc_private.h  Fri Apr 06 22:48:25 2007 +0100
@@ -168,4 +168,16 @@ void bitmap_byte_to_64(uint64_t *lp, con
 /* Optionally flush file to disk and discard page cache */
 void discard_file_cache(int fd, int flush);
 
+#define MAX_MMU_UPDATES 1024
+struct xc_mmu {
+    mmu_update_t updates[MAX_MMU_UPDATES];
+    int          idx;
+    domid_t      subject;
+};
+/* Structure returned by xc_alloc_mmu_updates must be free()'ed by caller. */
+struct xc_mmu *xc_alloc_mmu_updates(int xc_handle, domid_t dom);
+int xc_add_mmu_update(int xc_handle, struct xc_mmu *mmu,
+                   unsigned long long ptr, unsigned long long val);
+int xc_flush_mmu_updates(int xc_handle, struct xc_mmu *mmu);
+
 #endif /* __XC_PRIVATE_H__ */
diff -r aeb9a84e46d9 -r b0aaa113a60f tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h     Fri Apr 06 22:32:57 2007 +0100
+++ b/tools/libxc/xenctrl.h     Fri Apr 06 22:48:25 2007 +0100
@@ -666,21 +666,6 @@ int xc_sysctl(int xc_handle, struct xen_
 
 int xc_version(int xc_handle, int cmd, void *arg);
 
-/*
- * MMU updates.
- */
-#define MAX_MMU_UPDATES 1024
-struct xc_mmu {
-    mmu_update_t updates[MAX_MMU_UPDATES];
-    int          idx;
-    domid_t      subject;
-};
-typedef struct xc_mmu xc_mmu_t;
-xc_mmu_t *xc_init_mmu_updates(int xc_handle, domid_t dom);
-int xc_add_mmu_update(int xc_handle, xc_mmu_t *mmu,
-                   unsigned long long ptr, unsigned long long val);
-int xc_finish_mmu_updates(int xc_handle, xc_mmu_t *mmu);
-
 int xc_acm_op(int xc_handle, int cmd, void *arg, unsigned long arg_size);
 
 /*

_______________________________________________
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: Clarify xc_mmu interface and make it private., Xen patchbot-unstable <=