diff options
author | Ian Jackson <Ian.Jackson@eu.citrix.com> | 2011-03-03 18:52:09 +0000 |
---|---|---|
committer | Ian Jackson <Ian.Jackson@eu.citrix.com> | 2011-03-03 18:52:09 +0000 |
commit | 1153faff43737e78be21d05cd1da3228caa113f0 (patch) | |
tree | e945d1390a85770e77c081fe1ff28318a6b8ff99 | |
parent | b99358eeb35d8228c66543e07a07cc526a25bdf0 (diff) | |
parent | c7f3f82a650f3c749b50e6923cfaf26d9e4719c5 (diff) | |
download | xen-1153faff43737e78be21d05cd1da3228caa113f0.tar.gz xen-1153faff43737e78be21d05cd1da3228caa113f0.tar.bz2 xen-1153faff43737e78be21d05cd1da3228caa113f0.zip |
Merge4.1.0-branched
-rw-r--r-- | tools/include/xen-foreign/structs.py | 1 | ||||
-rw-r--r-- | tools/libxc/xc_pagetab.c | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/tools/include/xen-foreign/structs.py b/tools/include/xen-foreign/structs.py index a1bc055a19..964829c534 100644 --- a/tools/include/xen-foreign/structs.py +++ b/tools/include/xen-foreign/structs.py @@ -53,6 +53,7 @@ defines = [ "__i386__", # all archs "xen_pfn_to_cr3", + "xen_cr3_to_pfn", "XEN_LEGACY_MAX_VCPUS", "MAX_GUEST_CMDLINE" ]; diff --git a/tools/libxc/xc_pagetab.c b/tools/libxc/xc_pagetab.c index 428c7fee97..b19a42c8af 100644 --- a/tools/libxc/xc_pagetab.c +++ b/tools/libxc/xc_pagetab.c @@ -61,11 +61,12 @@ unsigned long xc_translate_foreign_address(xc_interface *xch, uint32_t dom, 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; } } |