# HG changeset patch
# User Steven Hand <steven@xxxxxxxxxxxxx>
# Date 1172586787 0
# Node ID dd8c887444330c8ea89bcb8ca1a91df9d74b024a
# Parent 8e3899a4f62d15290751ed8c23cc759eb82dad71
Fix save/restore (and non-live migrate) on PAE.
Plus add some more debug output to help us spot similar issues in the future.
Signed-off-by: Steven Hand <steven@xxxxxxxxxxxxx>
---
tools/libxc/xc_linux_save.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff -r 8e3899a4f62d -r dd8c88744433 tools/libxc/xc_linux_save.c
--- a/tools/libxc/xc_linux_save.c Tue Feb 27 13:58:40 2007 +0000
+++ b/tools/libxc/xc_linux_save.c Tue Feb 27 14:33:07 2007 +0000
@@ -513,7 +513,7 @@ static int canonicalize_pagetable(unsign
*/
if (pt_levels == 3 && type == XEN_DOMCTL_PFINFO_L2TAB) {
int hstart;
- unsigned long he;
+ uint64_t he;
hstart = (hvirt_start >> L2_PAGETABLE_SHIFT_PAE) & 0x1ff;
he = ((const uint64_t *) spage)[hstart];
@@ -1101,8 +1101,11 @@ int xc_linux_save(int xc_handle, int io_
race =
canonicalize_pagetable(pagetype, pfn, spage, page);
- if(race && !live)
- goto out;
+ if(race && !live) {
+ ERROR("Fatal PT race (pfn %lx, type %08lx)", pfn,
+ pagetype);
+ goto out;
+ }
if (ratewrite(io_fd, live, page, PAGE_SIZE) != PAGE_SIZE) {
ERROR("Error when writing to state file (4)"
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|