ia64/xen-unstable

changeset 14160:dd8c88744433

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@xensource.com>
author Steven Hand <steven@xensource.com>
date Tue Feb 27 14:33:07 2007 +0000 (2007-02-27)
parents 8e3899a4f62d
children b0f663e668d9 2cc8c117b7b8
files tools/libxc/xc_linux_save.c
line diff
     1.1 --- a/tools/libxc/xc_linux_save.c	Tue Feb 27 13:58:40 2007 +0000
     1.2 +++ b/tools/libxc/xc_linux_save.c	Tue Feb 27 14:33:07 2007 +0000
     1.3 @@ -513,7 +513,7 @@ static int canonicalize_pagetable(unsign
     1.4      */
     1.5      if (pt_levels == 3 && type == XEN_DOMCTL_PFINFO_L2TAB) {
     1.6          int hstart;
     1.7 -        unsigned long he;
     1.8 +        uint64_t he;
     1.9  
    1.10          hstart = (hvirt_start >> L2_PAGETABLE_SHIFT_PAE) & 0x1ff;
    1.11          he = ((const uint64_t *) spage)[hstart];
    1.12 @@ -1101,8 +1101,11 @@ int xc_linux_save(int xc_handle, int io_
    1.13                      race = 
    1.14                          canonicalize_pagetable(pagetype, pfn, spage, page); 
    1.15  
    1.16 -                    if(race && !live) 
    1.17 -                        goto out; 
    1.18 +                    if(race && !live) {
    1.19 +                        ERROR("Fatal PT race (pfn %lx, type %08lx)", pfn,
    1.20 +                              pagetype);
    1.21 +                        goto out;
    1.22 +                    }
    1.23  
    1.24                      if (ratewrite(io_fd, live, page, PAGE_SIZE) != PAGE_SIZE) {
    1.25                          ERROR("Error when writing to state file (4)"