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

[Xen-changelog] [xen-4.0-testing] x86, libxc: Fix xc_translate_foreign_address() for PV guests of



# HG changeset patch
# User Keir Fraser <keir@xxxxxxx>
# Date 1299601399 0
# Node ID 92f9e492da44e6c0df9b423ccd35d3991cba7851
# Parent  3a1a7e071bb0a940bfbd38d9eddd067505b7a970
x86, libxc: Fix xc_translate_foreign_address() for PV guests of
different bitness than dom0 (32-bit vs 64-bit).

Original patch by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Signed-off-by: Keir Fraser <keir@xxxxxxx>
xen-unstable changeset:   22966:de49500f344a
xen-unstable date:        Thu Mar 03 17:46:44 2011 +0000
---


diff -r 3a1a7e071bb0 -r 92f9e492da44 tools/include/xen-foreign/structs.py
--- a/tools/include/xen-foreign/structs.py      Thu Feb 24 09:36:23 2011 +0000
+++ b/tools/include/xen-foreign/structs.py      Tue Mar 08 16:23:19 2011 +0000
@@ -53,6 +53,7 @@
 
             # all archs
             "xen_pfn_to_cr3",
+            "xen_cr3_to_pfn",
             "XEN_LEGACY_MAX_VCPUS",
             "MAX_GUEST_CMDLINE" ];
 
diff -r 3a1a7e071bb0 -r 92f9e492da44 tools/libxc/xc_pagetab.c
--- a/tools/libxc/xc_pagetab.c  Thu Feb 24 09:36:23 2011 +0000
+++ b/tools/libxc/xc_pagetab.c  Tue Mar 08 16:23:19 2011 +0000
@@ -46,11 +46,12 @@
             return 0;
         if (domctl.u.address_size.size == 64) {
             pt_levels = 4;
-            paddr = ctx.x64.ctrlreg[3] & ~0xfffull;
+            paddr = (uint64_t)xen_cr3_to_pfn_x86_64(ctx.x64.ctrlreg[3])
+                << PAGE_SHIFT;
         } else {
             pt_levels = 3;
-            paddr = (((uint64_t) xen_cr3_to_pfn(ctx.x32.ctrlreg[3])) 
-                     << PAGE_SHIFT);
+            paddr = (uint64_t)xen_cr3_to_pfn_x86_32(ctx.x32.ctrlreg[3])
+                << PAGE_SHIFT;
         }
     }
 

_______________________________________________
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®.