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

[Xen-changelog] [xen-unstable] [tools] Set guest address size to be the same as dom0 address size on restore.



# HG changeset patch
# User Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
# Date 1172770111 0
# Node ID 33d733c3649df6e6713de5852892d7ffd74f3170
# Parent  5dac445200e31d26b2616f3feb7c499dff8ed6d7
[tools] Set guest address size to be the same as dom0 address size on restore.

Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxxx>
---
 tools/libxc/xc_linux_restore.c |   13 +++++++++++++
 1 files changed, 13 insertions(+)

diff -r 5dac445200e3 -r 33d733c3649d tools/libxc/xc_linux_restore.c
--- a/tools/libxc/xc_linux_restore.c    Thu Mar 01 17:27:31 2007 +0000
+++ b/tools/libxc/xc_linux_restore.c    Thu Mar 01 17:28:31 2007 +0000
@@ -192,6 +192,19 @@ int xc_linux_restore(int xc_handle, int 
 
     DPRINTF("xc_linux_restore start: max_pfn = %lx\n", max_pfn);
 
+    /*
+     * XXX For now, 32bit dom0's can only save/restore 32bit domUs
+     * on 64bit hypervisors.
+     */
+    memset(&domctl, 0, sizeof(domctl));
+    domctl.domain = dom;
+    domctl.cmd    = XEN_DOMCTL_set_address_size;
+    domctl.u.address_size.size = sizeof(unsigned long) * 8;
+    rc = do_domctl(xc_handle, &domctl);
+    if ( rc != 0 ) {
+       ERROR("Unable to set guest address size.");
+       goto out;
+    }
 
     if(!get_platform_info(xc_handle, dom,
                           &max_mfn, &hvirt_start, &pt_levels)) {

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


 


Rackspace

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