[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [PATCH] fix maximum_gpfn hypercall



HVM livemigation fails without this patch.

according to x86 side:
http://xenbits.xensource.com/xen-unstable.hg?rev/55d0a5c70986

Signed-off-by: Kouya Shimura <kouya@xxxxxxxxxxxxxx>

diff -r c98276a51ff8 tools/libxc/ia64/xc_ia64_linux_save.c
--- a/tools/libxc/ia64/xc_ia64_linux_save.c     Mon Feb 04 08:38:35 2008 -0700
+++ b/tools/libxc/ia64/xc_ia64_linux_save.c     Tue Feb 05 17:56:01 2008 +0900
@@ -485,7 +485,7 @@ xc_domain_save(int xc_handle, int io_fd,
         goto out;
     }
 
-    p2m_size = xc_memory_op(xc_handle, XENMEM_maximum_gpfn, &dom);
+    p2m_size = xc_memory_op(xc_handle, XENMEM_maximum_gpfn, &dom) + 1;
 
     /* This is expected by xm restore.  */
     if (write_exact(io_fd, &p2m_size, sizeof(unsigned long))) {
diff -r c98276a51ff8 xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c        Mon Feb 04 08:38:35 2008 -0700
+++ b/xen/arch/ia64/xen/domain.c        Tue Feb 05 17:56:01 2008 +0900
@@ -1772,8 +1772,8 @@ int shadow_mode_control(struct domain *d
                atomic64_set(&d->arch.shadow_dirty_count, 0);
 
                d->arch.shadow_bitmap_size =
-                       ((d->arch.convmem_end >> PAGE_SHIFT) +
-                        BITS_PER_LONG - 1) & ~(BITS_PER_LONG - 1);
+                       (domain_get_maximum_gpfn(d) + BITS_PER_LONG) &
+                       ~(BITS_PER_LONG - 1);
                d->arch.shadow_bitmap = xmalloc_array(unsigned long,
                                   d->arch.shadow_bitmap_size / BITS_PER_LONG);
                if (d->arch.shadow_bitmap == NULL) {
diff -r c98276a51ff8 xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c    Mon Feb 04 08:38:35 2008 -0700
+++ b/xen/arch/ia64/xen/mm.c    Tue Feb 05 17:56:01 2008 +0900
@@ -430,7 +430,7 @@ unsigned long
 unsigned long
 domain_get_maximum_gpfn(struct domain *d)
 {
-    return (d->arch.convmem_end + PAGE_SIZE - 1) >> PAGE_SHIFT;
+    return (d->arch.convmem_end - 1) >> PAGE_SHIFT;
 }
 
 // stolen from share_xen_page_with_guest() in xen/arch/x86/mm.c
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.