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] [IA64] Remove obsolete bug work around co

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Remove obsolete bug work around code in xc_ia64_stubs.c.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 04 Jun 2007 03:14:53 -0700
Delivery-date: Mon, 04 Jun 2007 03:31:08 -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 Alex Williamson <alex.williamson@xxxxxx>
# Date 1178565877 21600
# Node ID d1ce60b8070f640408c702f1fbbef0f6ffda8586
# Parent  4b4db1f10147ec58468c06b56e8ecf6319bd516a
[IA64] Remove obsolete bug work around code in xc_ia64_stubs.c.

Now xencomm solved the issue.

Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
 tools/libxc/ia64/xc_ia64_stubs.c |   56 ++++++++++-----------------------------
 1 files changed, 15 insertions(+), 41 deletions(-)

diff -r 4b4db1f10147 -r d1ce60b8070f tools/libxc/ia64/xc_ia64_stubs.c
--- a/tools/libxc/ia64/xc_ia64_stubs.c  Mon May 07 13:14:27 2007 -0600
+++ b/tools/libxc/ia64/xc_ia64_stubs.c  Mon May 07 13:24:37 2007 -0600
@@ -23,54 +23,28 @@ xc_ia64_fpsr_default(void)
     return FPSR_DEFAULT;
 }
 
-/*  
-    VMM uses put_user to copy pfn_list to guest buffer, this maybe fail,
-    VMM doesn't handle this now.
-    This method will touch guest buffer to make sure the buffer's mapping
-    is tracked by VMM,
- */
 int
 xc_ia64_get_pfn_list(int xc_handle, uint32_t domid, xen_pfn_t *pfn_buf,
                      unsigned int start_page, unsigned int nr_pages)
 {
-    struct xen_domctl domctl;
-    int num_pfns,ret;
-    unsigned int __start_page, __nr_pages;
-    xen_pfn_t *__pfn_buf;
+    DECLARE_DOMCTL;
+    int ret;
 
-    __start_page = start_page;
-    __nr_pages = nr_pages;
-    __pfn_buf = pfn_buf;
-  
-    while (__nr_pages) {
-        domctl.cmd = XEN_DOMCTL_getmemlist;
-        domctl.domain = (domid_t)domid;
-        domctl.u.getmemlist.max_pfns = __nr_pages;
-        domctl.u.getmemlist.start_pfn =__start_page;
-        domctl.u.getmemlist.num_pfns = 0;
-        set_xen_guest_handle(domctl.u.getmemlist.buffer, __pfn_buf);
+    domctl.cmd = XEN_DOMCTL_getmemlist;
+    domctl.domain = (domid_t)domid;
+    domctl.u.getmemlist.max_pfns = nr_pages;
+    domctl.u.getmemlist.start_pfn = start_page;
+    domctl.u.getmemlist.num_pfns = 0;
+    set_xen_guest_handle(domctl.u.getmemlist.buffer, pfn_buf);
 
-        if (mlock(__pfn_buf, __nr_pages * sizeof(xen_pfn_t)) != 0) {
-            PERROR("Could not lock pfn list buffer");
-            return -1;
-        }
+    if (lock_pages(pfn_buf, nr_pages * sizeof(xen_pfn_t)) != 0) {
+        PERROR("Could not lock pfn list buffer");
+        return -1;
+    }
+    ret = do_domctl(xc_handle, &domctl);
+    unlock_pages(pfn_buf, nr_pages * sizeof(xen_pfn_t));
 
-        ret = do_domctl(xc_handle, &domctl);
-
-        (void)munlock(__pfn_buf, __nr_pages * sizeof(xen_pfn_t));
-
-        num_pfns = domctl.u.getmemlist.num_pfns;
-        __start_page += num_pfns;
-        __nr_pages -= num_pfns;
-        __pfn_buf += num_pfns;
-
-        if (ret < 0)
-            // dummy write to make sure this tlb mapping is tracked by VMM
-            *__pfn_buf = 0;
-        else
-            return nr_pages;
-    }
-    return nr_pages;
+    return ret < 0 ? -1 : nr_pages;
 }
 
 int

_______________________________________________
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] [IA64] Remove obsolete bug work around code in xc_ia64_stubs.c., Xen patchbot-unstable <=