WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Fix whitespace in libxc. Tabs are manually fixed.

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Fix whitespace in libxc. Tabs are manually fixed.
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 15 Apr 2006 13:58:09 +0000
Delivery-date: Sat, 15 Apr 2006 06:59:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 74ee53209cca47ee228c7772176b196593a5260b
# Parent  1d8b3c85121de189882dee5e2dae54697cf52499
Fix whitespace in libxc. Tabs are manually fixed.
Trailing whitespace removed with:
 perl -p -i -e 's/\s+$/\n/g' tools/libxc/*.[ch]

Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>

diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_bvtsched.c
--- a/tools/libxc/xc_bvtsched.c Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_bvtsched.c Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_bvtsched.c
- * 
+ *
  * API for manipulating parameters of the Borrowed Virtual Time scheduler.
- * 
+ *
  * Copyright (c) 2003, K A Fraser.
  */
 
@@ -26,7 +26,7 @@
 {
     DECLARE_DOM0_OP;
     int ret;
-    
+
     op.cmd = DOM0_SCHEDCTL;
     op.u.schedctl.sched_id = SCHED_BVT;
     op.u.schedctl.direction = SCHED_INFO_GET;
@@ -71,7 +71,7 @@
                            long long *warpl,
                            long long *warpu)
 {
-    
+
     DECLARE_DOM0_OP;
     int ret;
     struct bvt_adjdom *adjptr = &op.u.adjustdom.u.bvt;
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_core.c
--- a/tools/libxc/xc_core.c     Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_core.c     Sat Apr 15 09:07:31 2006
@@ -23,7 +23,7 @@
     return 0;
 }
 
-int 
+int
 xc_domain_dumpcore_via_callback(int xc_handle,
                                 uint32_t domid,
                                 void *args,
@@ -45,13 +45,13 @@
         PERROR("Could not allocate dump_mem");
         goto error_out;
     }
- 
+
     if ( xc_domain_getinfo(xc_handle, domid, 1, &info) != 1 )
     {
         PERROR("Could not get info for domain");
         goto error_out;
     }
- 
+
     if ( domid != info.domid )
     {
         PERROR("Domain %d does not exist", domid);
@@ -61,10 +61,10 @@
     for ( i = 0; i <= info.max_vcpu_id; i++ )
         if ( xc_vcpu_getcontext(xc_handle, domid, i, &ctxt[nr_vcpus]) == 0)
             nr_vcpus++;
- 
+
     nr_pages = info.nr_pages;
 
-    header.xch_magic = XC_CORE_MAGIC; 
+    header.xch_magic = XC_CORE_MAGIC;
     header.xch_nr_vcpus = nr_vcpus;
     header.xch_nr_pages = nr_pages;
     header.xch_ctxt_offset = sizeof(struct xc_core_header);
@@ -74,7 +74,7 @@
                  (sizeof(vcpu_guest_context_t) * nr_vcpus) +
                  (nr_pages * sizeof(unsigned long)));
     header.xch_pages_offset = round_pgup(dummy_len);
-    
+
     sts = dump_rtn(args, (char *)&header, sizeof(struct xc_core_header));
     if ( sts != 0 )
         goto error_out;
@@ -150,7 +150,7 @@
     return 0;
 }
 
-int 
+int
 xc_domain_dumpcore(int xc_handle,
                    uint32_t domid,
                    const char *corename)
@@ -163,7 +163,7 @@
         PERROR("Could not open corefile %s: %s", corename, strerror(errno));
         return -errno;
     }
- 
+
     sts = xc_domain_dumpcore_via_callback(
         xc_handle, domid, &da, &local_file_dump);
 
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_domain.c
--- a/tools/libxc/xc_domain.c   Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_domain.c   Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_domain.c
- * 
+ *
  * API for manipulating and obtaining information on domains.
- * 
+ *
  * Copyright (c) 2003, K A Fraser.
  */
 
@@ -26,17 +26,17 @@
 
     *pdomid = (uint16_t)op.u.createdomain.domain;
     return 0;
-}    
-
-
-int xc_domain_pause(int xc_handle, 
+}
+
+
+int xc_domain_pause(int xc_handle,
                     uint32_t domid)
 {
     DECLARE_DOM0_OP;
     op.cmd = DOM0_PAUSEDOMAIN;
     op.u.pausedomain.domain = (domid_t)domid;
     return do_dom0_op(xc_handle, &op);
-}    
+}
 
 
 int xc_domain_unpause(int xc_handle,
@@ -46,7 +46,7 @@
     op.cmd = DOM0_UNPAUSEDOMAIN;
     op.u.unpausedomain.domain = (domid_t)domid;
     return do_dom0_op(xc_handle, &op);
-}    
+}
 
 
 int xc_domain_destroy(int xc_handle,
@@ -88,7 +88,7 @@
 
 
 int xc_vcpu_setaffinity(int xc_handle,
-                        uint32_t domid, 
+                        uint32_t domid,
                         int vcpu,
                         cpumap_t cpumap)
 {
@@ -109,7 +109,7 @@
     unsigned int nr_doms;
     uint32_t next_domid = first_domid;
     DECLARE_DOM0_OP;
-    int rc = 0; 
+    int rc = 0;
 
     memset(info, 0, max_doms*sizeof(xc_dominfo_t));
 
@@ -127,8 +127,8 @@
         info->blocked  = !!(op.u.getdomaininfo.flags & DOMFLAGS_BLOCKED);
         info->running  = !!(op.u.getdomaininfo.flags & DOMFLAGS_RUNNING);
 
-        info->shutdown_reason = 
-            (op.u.getdomaininfo.flags>>DOMFLAGS_SHUTDOWNSHIFT) & 
+        info->shutdown_reason =
+            (op.u.getdomaininfo.flags>>DOMFLAGS_SHUTDOWNSHIFT) &
             DOMFLAGS_SHUTDOWNMASK;
 
         if ( info->shutdown && (info->shutdown_reason == SHUTDOWN_crash) )
@@ -152,7 +152,7 @@
         info++;
     }
 
-    if( !nr_doms ) return rc; 
+    if( !nr_doms ) return rc;
 
     return nr_doms;
 }
@@ -167,7 +167,7 @@
 
     if ( mlock(info, max_domains*sizeof(xc_domaininfo_t)) != 0 )
         return -1;
-    
+
     op.cmd = DOM0_GETDOMAININFOLIST;
     op.u.getdomaininfolist.first_domain = first_domain;
     op.u.getdomaininfolist.max_domains  = max_domains;
@@ -177,10 +177,10 @@
         ret = -1;
     else
         ret = op.u.getdomaininfolist.num_domains;
-    
+
     if ( munlock(info, max_domains*sizeof(xc_domaininfo_t)) != 0 )
         ret = -1;
-    
+
     return ret;
 }
 
@@ -209,7 +209,7 @@
 
 
 int xc_shadow_control(int xc_handle,
-                      uint32_t domid, 
+                      uint32_t domid,
                       unsigned int sop,
                       unsigned long *dirty_bitmap,
                       unsigned long pages,
@@ -238,11 +238,11 @@
 {
     int sched_id;
     int ret;
-    
+
     /* Figure out which scheduler is currently used: */
     if ( (ret = xc_sched_id(xc_handle, &sched_id)) != 0 )
         return ret;
-    
+
     switch ( sched_id )
     {
         case SCHED_BVT:
@@ -253,20 +253,20 @@
             long long warpl;
             long long warpu;
 
-            /* Preserve all the scheduling parameters apart 
+            /* Preserve all the scheduling parameters apart
                of MCU advance. */
             if ( (ret = xc_bvtsched_domain_get(
-                xc_handle, domid, &mcuadv, 
+                xc_handle, domid, &mcuadv,
                 &warpback, &warpvalue, &warpl, &warpu)) != 0 )
                 return ret;
-            
+
             /* The MCU advance is inverse of the weight.
                Default value of the weight is 1, default mcuadv 10.
                The scaling factor is therefore 10. */
             if ( weight > 0 )
                 mcuadv = 10 / weight;
-            
-            ret = xc_bvtsched_domain_set(xc_handle, domid, mcuadv, 
+
+            ret = xc_bvtsched_domain_set(xc_handle, domid, mcuadv,
                                          warpback, warpvalue, warpl, warpu);
             break;
         }
@@ -276,7 +276,7 @@
 }
 
 int xc_domain_setmaxmem(int xc_handle,
-                        uint32_t domid, 
+                        uint32_t domid,
                         unsigned int max_memkb)
 {
     DECLARE_DOM0_OP;
@@ -287,7 +287,7 @@
 }
 
 int xc_domain_memory_increase_reservation(int xc_handle,
-                                          uint32_t domid, 
+                                          uint32_t domid,
                                           unsigned long nr_extents,
                                           unsigned int extent_order,
                                           unsigned int address_bits,
@@ -297,7 +297,7 @@
     struct xen_memory_reservation reservation = {
         .extent_start = extent_start, /* may be NULL */
         .nr_extents   = nr_extents,
-        .extent_order = extent_order,  
+        .extent_order = extent_order,
         .address_bits = address_bits,
         .domid        = domid
     };
@@ -319,16 +319,16 @@
 }
 
 int xc_domain_memory_decrease_reservation(int xc_handle,
-                                          uint32_t domid, 
+                                          uint32_t domid,
                                           unsigned long nr_extents,
                                           unsigned int extent_order,
                                           unsigned long *extent_start)
 {
     int err;
     struct xen_memory_reservation reservation = {
-        .extent_start = extent_start, 
+        .extent_start = extent_start,
         .nr_extents   = nr_extents,
-        .extent_order = extent_order,  
+        .extent_order = extent_order,
         .address_bits = 0,
         .domid        = domid
     };
@@ -411,7 +411,7 @@
     return do_dom0_op(xc_handle, &op);
 }
 
-int xc_domain_sethandle(int xc_handle, uint32_t domid, 
+int xc_domain_sethandle(int xc_handle, uint32_t domid,
                         xen_domain_handle_t handle)
 {
     DECLARE_DOM0_OP;
@@ -506,7 +506,7 @@
     op.cmd = DOM0_IOMEM_PERMISSION;
     op.u.iomem_permission.domain = domid;
     op.u.iomem_permission.first_mfn = first_mfn;
-       op.u.iomem_permission.nr_mfns = nr_mfns;
+    op.u.iomem_permission.nr_mfns = nr_mfns;
     op.u.iomem_permission.allow_access = allow_access;
 
     return do_dom0_op(xc_handle, &op);
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_elf.h
--- a/tools/libxc/xc_elf.h      Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_elf.h      Sat Apr 15 09:07:31 2006
@@ -46,7 +46,7 @@
 typedef uint16_t       Elf64_Quarter;
 
 /*
- * e_ident[] identification indexes 
+ * e_ident[] identification indexes
  * See http://www.caldera.com/developers/gabi/2000-07-17/ch4.eheader.html
  */
 #define EI_MAG0                0               /* file ID */
@@ -57,7 +57,7 @@
 #define EI_DATA                5               /* data encoding */
 #define EI_VERSION     6               /* ELF header version */
 #define EI_OSABI       7               /* OS/ABI ID */
-#define EI_ABIVERSION  8               /* ABI version */ 
+#define EI_ABIVERSION  8               /* ABI version */
 #define EI_PAD         9               /* start of pad bytes */
 #define EI_NIDENT      16              /* Size of e_ident[] */
 
@@ -119,7 +119,7 @@
        Elf32_Half      e_phnum;        /* number of program header entries */
        Elf32_Half      e_shentsize;    /* section header entry size */
        Elf32_Half      e_shnum;        /* number of section header entries */
-       Elf32_Half      e_shstrndx;     /* section header table's "section 
+       Elf32_Half      e_shstrndx;     /* section header table's "section
                                           header string table" entry offset */
 } Elf32_Ehdr;
 
@@ -160,7 +160,7 @@
 #define EM_486         6               /* Intel 80486 - unused? */
 #define EM_860         7               /* Intel 80860 */
 #define EM_MIPS                8               /* MIPS R3000 Big-Endian only */
-/* 
+/*
  * Don't know if EM_MIPS_RS4_BE,
  * EM_SPARC64, EM_PARISC,
  * or EM_PPC are ABI compliant
@@ -441,7 +441,7 @@
 #define DT_NUM         25              /* Number used. */
 #define DT_LOPROC      0x70000000      /* reserved range for processor */
 #define DT_HIPROC      0x7fffffff      /*  specific dynamic array tags */
-       
+
 /* Standard ELF hashing function */
 unsigned int elf_hash(const unsigned char *name);
 
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_evtchn.c
--- a/tools/libxc/xc_evtchn.c   Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_evtchn.c   Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_evtchn.c
- * 
+ *
  * API for manipulating and accessing inter-domain event channels.
- * 
+ *
  * Copyright (c) 2004, K A Fraser.
  */
 
@@ -44,7 +44,7 @@
 
     if ( (rc = do_evtchn_op(xc_handle, &op)) == 0 )
         rc = op.u.alloc_unbound.port;
-    
+
     return rc;
 }
 
@@ -62,6 +62,6 @@
 
     if ( (rc = do_evtchn_op(xc_handle, &op)) == 0 )
         memcpy(status, &op.u.status, sizeof(*status));
-    
+
     return rc;
 }
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_ia64_stubs.c
--- a/tools/libxc/xc_ia64_stubs.c       Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_ia64_stubs.c       Sat Apr 15 09:07:31 2006
@@ -22,7 +22,7 @@
         return FPSR_DEFAULT;
 }
 
-int xc_linux_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters, 
+int xc_linux_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters,
                   uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
                   int (*suspend)(int domid))
 {
@@ -50,8 +50,8 @@
 }
 
 int xc_ia64_get_pfn_list(int xc_handle,
-                         uint32_t domid, 
-                         unsigned long *pfn_buf, 
+                         uint32_t domid,
+                         unsigned long *pfn_buf,
                          unsigned int start_page,
                          unsigned int nr_pages)
 {
@@ -65,16 +65,16 @@
     op.u.getmemlist.buffer   = pfn_buf;
 
     if ( (max_pfns != -1UL)
-               && mlock(pfn_buf, nr_pages * sizeof(unsigned long)) != 0 )
+        && mlock(pfn_buf, nr_pages * sizeof(unsigned long)) != 0 )
     {
         PERROR("Could not lock pfn list buffer");
         return -1;
-    }    
+    }
 
     ret = do_dom0_op(xc_handle, &op);
 
     if (max_pfns != -1UL)
-       (void)munlock(pfn_buf, nr_pages * sizeof(unsigned long));
+        (void)munlock(pfn_buf, nr_pages * sizeof(unsigned long));
 
     return (ret < 0) ? -1 : op.u.getmemlist.num_pfns;
 }
@@ -84,7 +84,7 @@
     dom0_op_t op;
     op.cmd = DOM0_GETDOMAININFO;
     op.u.getdomaininfo.domain = (domid_t)domid;
-    return (do_dom0_op(xc_handle, &op) < 0) ? 
+    return (do_dom0_op(xc_handle, &op) < 0) ?
         -1 : op.u.getdomaininfo.max_pages;
 }
 
@@ -92,7 +92,7 @@
         void* src_page, unsigned long dst_pfn, int nr_pages)
 {
     // N.B. gva should be page aligned
-    
+
     unsigned long *page_array = NULL;
     int i;
 
@@ -107,13 +107,13 @@
     }
 
     for ( i=0; i< nr_pages; i++ ){
-       if (xc_copy_to_domain_page(xc_handle, domid, page_array[i],
-                       src_page + (i << PAGE_SHIFT)))
-           goto error_out;
+        if (xc_copy_to_domain_page(xc_handle, domid, page_array[i],
+                    src_page + (i << PAGE_SHIFT)))
+            goto error_out;
     }
     free(page_array);
     return 0;
-    
+
 error_out:
     free(page_array);
     return -1;
@@ -123,8 +123,8 @@
 #define HOB_SIGNATURE 0x3436474953424f48 // "HOBSIG64"
 #define GFW_HOB_START    ((4UL<<30)-(14UL<<20))    //4G -14M
 #define GFW_HOB_SIZE     (1UL<<20)              //1M
-#define MEM_G   (1UL << 30) 
-#define MEM_M   (1UL << 20) 
+#define MEM_G   (1UL << 30)
+#define MEM_M   (1UL << 20)
 
 typedef struct {
     unsigned long signature;
@@ -136,7 +136,7 @@
  * INFO HOB is the first data data in one HOB list
  * it contains the control information of the HOB list
  */
-typedef struct { 
+typedef struct {
     HOB_GENERIC_HEADER  header;
     unsigned long       length;    // current length of hob
     unsigned long       cur_pos;   // current poisiton of hob
@@ -216,7 +216,7 @@
         // buffer too small
         return -1;
     }
-    
+
     phit = (HOB_INFO*)buffer;
     phit->header.signature = HOB_SIGNATURE;
     phit->header.type = HOB_TYPE_INFO;
@@ -224,7 +224,7 @@
     phit->length = sizeof(HOB_INFO) + sizeof(HOB_GENERIC_HEADER);
     phit->cur_pos = 0;
     phit->buf_size = buf_size;
-    
+
     terminal = (HOB_GENERIC_HEADER*) (buffer + sizeof(HOB_INFO));
     terminal->signature= HOB_SIGNATURE;
     terminal->type = HOB_TYPE_TERMINAL;
@@ -235,7 +235,7 @@
 
 /*
  *  Add a new HOB to the HOB List.
- *       
+ *
  *  hob_start  -  start address of hob buffer
  *  type       -  type of the hob to be added
  *  data       -  data of the hob to be added
@@ -250,8 +250,8 @@
 )
 {
     HOB_INFO *phit;
-    HOB_GENERIC_HEADER     *newhob,*tail;   
-    
+    HOB_GENERIC_HEADER     *newhob,*tail;
+
     phit = (HOB_INFO*)hob_start;
 
     if (phit->length + data_size > phit->buf_size){
@@ -259,7 +259,7 @@
         return -1;
     }
 
-    //append new HOB 
+    //append new HOB
     newhob = (HOB_GENERIC_HEADER*)
         (hob_start + phit->length - sizeof(HOB_GENERIC_HEADER));
     newhob->signature = HOB_SIGNATURE;
@@ -267,7 +267,7 @@
     newhob->length = data_size + sizeof(HOB_GENERIC_HEADER);
     memcpy((void*)newhob + sizeof(HOB_GENERIC_HEADER), data, data_size);
 
-    // append terminal HOB  
+    // append terminal HOB
     tail = (HOB_GENERIC_HEADER*) ( hob_start + phit->length + data_size);
     tail->signature = HOB_SIGNATURE;
     tail->type = HOB_TYPE_TERMINAL;
@@ -281,9 +281,9 @@
 }
 
 int get_hob_size(void* hob_buf){
-    
+
     HOB_INFO *phit = (HOB_INFO*)hob_buf;
-    
+
     if (phit->header.signature != HOB_SIGNATURE){
         PERROR("xc_get_hob_size:Incorrect signature");
         return -1;
@@ -293,30 +293,30 @@
 
 int build_hob (void* hob_buf, unsigned long hob_buf_size,
                   unsigned long dom_mem_size)
-{   
-    //Init HOB List 
+{
+    //Init HOB List
     if (hob_init (hob_buf, hob_buf_size)<0){
         PERROR("buffer too small");
         goto err_out;
     }
-    
+
     if ( add_mem_hob( hob_buf,dom_mem_size) < 0){
         PERROR("Add memory hob failed, buffer too small");
         goto err_out;
     }
-    
+
     if ( add_pal_hob( hob_buf ) < 0 ){
         PERROR("Add PAL hob failed, buffer too small");
         goto err_out;
     }
-    
+
     return 0;
 
 err_out:
-    return -1;  
-}
-
-static int 
+    return -1;
+}
+
+static int
 load_hob(int xc_handle, uint32_t dom, void *hob_buf)
 {
     // hob_buf should be page aligned
@@ -334,22 +334,22 @@
     }
 
     nr_pages = (hob_size + PAGE_SIZE -1) >> PAGE_SHIFT;
-    
+
     return xc_ia64_copy_to_domain_pages(xc_handle, dom,
             hob_buf, GFW_HOB_START, nr_pages );
 }
 
 #define MIN(x, y) ((x) < (y)) ? (x) : (y)
-static int 
+static int
 add_mem_hob(void* hob_buf, unsigned long dom_mem_size){
     hob_mem_t memhob;
 
     // less than 3G
     memhob.start = 0;
     memhob.size = MIN(dom_mem_size, 0xC0000000);
-    
+
     if (hob_add(hob_buf, HOB_TYPE_MEM, &memhob, sizeof(memhob)) < 0){
-       return -1;
+        return -1;
     }
 
     if (dom_mem_size > 0xC0000000) {
@@ -373,29 +373,29 @@
 };
 unsigned char config_pal_cache_info[152] = {
     3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    6, 4, 6, 7, 255, 1, 0, 1, 0, 64, 0, 0, 12, 12, 
+    6, 4, 6, 7, 255, 1, 0, 1, 0, 64, 0, 0, 12, 12,
     49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 7, 0, 1,
-    0, 1, 0, 64, 0, 0, 12, 12, 49, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 6, 8, 7, 7, 255, 7, 0, 11, 0, 0, 16, 0, 
-    12, 17, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 7, 
+    0, 1, 0, 64, 0, 0, 12, 12, 49, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 6, 8, 7, 7, 255, 7, 0, 11, 0, 0, 16, 0,
+    12, 17, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 7,
     7, 7, 5, 9, 11, 0, 0, 4, 0, 12, 15, 49, 0, 254, 255,
-    255, 255, 255, 255, 255, 255, 2, 8, 7, 7, 7, 5, 9, 
-    11, 0, 0, 4, 0, 12, 15, 49, 0, 0, 0, 0, 0, 0, 0, 0, 
+    255, 255, 255, 255, 255, 255, 2, 8, 7, 7, 7, 5, 9,
+    11, 0, 0, 4, 0, 12, 15, 49, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 3, 12, 7, 7, 7, 14, 1, 3, 0, 0, 192, 0, 12, 20, 49, 0
 };
 unsigned char config_pal_cache_prot_info[200] = {
-    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     45, 0, 16, 8, 0, 76, 12, 64, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    8, 0, 16, 4, 0, 76, 44, 68, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 
-    0, 16, 8, 0, 81, 44, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    8, 0, 16, 4, 0, 76, 44, 68, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,
+    0, 16, 8, 0, 81, 44, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0,
-    112, 12, 0, 79, 124, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 254, 255, 255, 255, 255, 255, 255, 255, 
+    112, 12, 0, 79, 124, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 254, 255, 255, 255, 255, 255, 255, 255,
     32, 0, 112, 12, 0, 79, 124, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 160, 
-    12, 0, 84, 124, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 160,
+    12, 0, 84, 124, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0
 };
 unsigned char config_pal_debug_info[16] = {
@@ -408,37 +408,37 @@
     109, 219, 182, 13, 0, 0, 0, 0
 };
 unsigned char config_pal_freq_ratios[24] = {
-    11, 1, 0, 0, 77, 7, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4, 
+    11, 1, 0, 0, 77, 7, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 4,
     0, 0, 0, 7, 0, 0, 0
 };
 unsigned char config_pal_halt_info[64] = {
-    0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
 };
 unsigned char config_pal_perf_mon_info[136] = {
-    12, 47, 18, 8, 0, 0, 0, 0, 241, 255, 0, 0, 255, 7, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 241, 255, 0, 0, 223, 0, 255, 255, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 240, 255, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 240, 255, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
+    12, 47, 18, 8, 0, 0, 0, 0, 241, 255, 0, 0, 255, 7, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 241, 255, 0, 0, 223, 0, 255, 255,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 240, 255, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 240, 255, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0
 };
 unsigned char config_pal_proc_get_features[104] = {
-    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 64, 6, 64, 49, 0, 0, 0, 0, 64, 6, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 
-    231, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0, 
-    0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 
+    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 64, 6, 64, 49, 0, 0, 0, 0, 64, 6, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+    231, 0, 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
     63, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0
 };
 unsigned char config_pal_ptce_info[24] = {
-    0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 
+    0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
     0, 0, 0, 0, 0, 0, 0, 0
 };
 unsigned char config_pal_register_info[64] = {
@@ -473,7 +473,7 @@
 typedef struct{
     hob_type_t type;
     void* data;
-    unsigned long size;     
+    unsigned long size;
 }hob_batch_t;
 
 hob_batch_t hob_batch[]={
@@ -552,13 +552,13 @@
     {  HOB_TYPE_PAL_VM_PAGE_SIZE,
         &config_pal_vm_page_size,
         sizeof(config_pal_vm_page_size)
-    },      
+    },
 };
 
 static int add_pal_hob(void* hob_buf){
     int i;
     for (i=0; i<sizeof(hob_batch)/sizeof(hob_batch_t); i++){
-        if (hob_add(hob_buf, hob_batch[i].type, 
+        if (hob_add(hob_buf, hob_batch[i].type,
                     hob_batch[i].data,
                     hob_batch[i].size)<0)
             return -1;
@@ -579,17 +579,17 @@
 
     // FIXME: initialize pfn list for a temp hack
     if (xc_ia64_get_pfn_list(xc_handle, dom, NULL, -1, -1) == -1) {
-       PERROR("Could not allocate continuous memory");
-       goto error_out;
-    }
-    
+        PERROR("Could not allocate continuous memory");
+        goto error_out;
+    }
+
     if ((image_size > 12 * MEM_M) || (image_size & (PAGE_SIZE - 1))) {
         PERROR("Guest firmware size is incorrect [%ld]?", image_size);
         return -1;
     }
 
     /* Load guest firmware */
-    if( xc_ia64_copy_to_domain_pages( xc_handle, dom, 
+    if( xc_ia64_copy_to_domain_pages( xc_handle, dom,
             image, 4*MEM_G-image_size, image_size>>PAGE_SHIFT)) {
         PERROR("Could not load guest firmware into domain");
         goto error_out;
@@ -610,9 +610,9 @@
 
     *store_mfn = page_array[1];
     if ((sp = (shared_iopage_t *) xc_map_foreign_range(
-               xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE,
-               page_array[0])) == 0)
-       goto error_out;
+                    xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE,
+                    page_array[0])) == 0)
+        goto error_out;
     memset(sp, 0, PAGE_SIZE);
 
     for (i = 0; i < vcpus; i++) {
@@ -665,14 +665,14 @@
 
     image_size = (image_size + PAGE_SIZE - 1) & PAGE_MASK;
 
-    if ( mlock(&st_ctxt, sizeof(st_ctxt) ) ){   
+    if ( mlock(&st_ctxt, sizeof(st_ctxt) ) ){
         PERROR("Unable to mlock ctxt");
         return 1;
     }
 
     op.cmd = DOM0_GETDOMAININFO;
     op.u.getdomaininfo.domain = (domid_t)domid;
-    if ( (do_dom0_op(xc_handle, &op) < 0) || 
+    if ( (do_dom0_op(xc_handle, &op) < 0) ||
          ((uint16_t)op.u.getdomaininfo.domain != domid) ) {
         PERROR("Could not get info on domain");
         goto error_out;
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_linux_build.c
--- a/tools/libxc/xc_linux_build.c      Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_linux_build.c      Sat Apr 15 09:07:31 2006
@@ -237,7 +237,7 @@
         else
         {
             *vl1e = (page_array[count] << PAGE_SHIFT) | L1_PROT;
-            if ( (count >= ((vpt_start-dsi_v_start)>>PAGE_SHIFT)) && 
+            if ( (count >= ((vpt_start-dsi_v_start)>>PAGE_SHIFT)) &&
                  (count <  ((vpt_end  -dsi_v_start)>>PAGE_SHIFT)) )
                 *vl1e &= ~_PAGE_RW;
         }
@@ -314,7 +314,7 @@
             else
                 *vl2e++ = l1tab | L2_PROT;
         }
-        
+
         if ( shadow_mode_enabled )
         {
             *vl1e = (count << PAGE_SHIFT) | L1_PROT;
@@ -323,12 +323,12 @@
         {
             *vl1e = ((uint64_t)page_array[count] << PAGE_SHIFT) | L1_PROT;
             if ( (count >= ((vpt_start-dsi_v_start)>>PAGE_SHIFT)) &&
-                 (count <  ((vpt_end  -dsi_v_start)>>PAGE_SHIFT)) ) 
+                 (count <  ((vpt_end  -dsi_v_start)>>PAGE_SHIFT)) )
                 *vl1e &= ~_PAGE_RW;
         }
         vl1e++;
     }
-     
+
     munmap(vl1tab, PAGE_SIZE);
     munmap(vl2tab, PAGE_SIZE);
     munmap(vl3tab, PAGE_SIZE);
@@ -376,13 +376,13 @@
         ctxt->ctrlreg[3] = pl4tab;
     else
         ctxt->ctrlreg[3] = l4tab;
-    
+
     for ( count = 0; count < ((v_end-dsi_v_start)>>PAGE_SHIFT); count++)
     {
         if ( !((unsigned long)vl1e & (PAGE_SIZE-1)) )
         {
             alloc_pt(l1tab, vl1tab, pl1tab);
-            
+
             if ( !((unsigned long)vl2e & (PAGE_SIZE-1)) )
             {
                 alloc_pt(l2tab, vl2tab, pl2tab);
@@ -410,7 +410,7 @@
                 *vl2e = l1tab | L2_PROT;
             vl2e++;
         }
-        
+
         if ( shadow_mode_enabled )
         {
             *vl1e = (count << PAGE_SHIFT) | L1_PROT;
@@ -419,14 +419,14 @@
         {
             *vl1e = (page_array[count] << PAGE_SHIFT) | L1_PROT;
             if ( (count >= ((vpt_start-dsi_v_start)>>PAGE_SHIFT)) &&
-                 (count <  ((vpt_end  -dsi_v_start)>>PAGE_SHIFT)) ) 
+                 (count <  ((vpt_end  -dsi_v_start)>>PAGE_SHIFT)) )
                 {
                     *vl1e &= ~_PAGE_RW;
                 }
         }
         vl1e++;
     }
-     
+
     munmap(vl1tab, PAGE_SIZE);
     munmap(vl2tab, PAGE_SIZE);
     munmap(vl3tab, PAGE_SIZE);
@@ -509,7 +509,7 @@
            " Loaded kernel: %p->%p\n"
            " Init. ramdisk: %p->%p\n"
            " TOTAL:         %p->%p\n",
-           _p(dsi.v_kernstart), _p(dsi.v_kernend), 
+           _p(dsi.v_kernstart), _p(dsi.v_kernend),
            _p(vinitrd_start),   _p(vinitrd_end),
            _p(dsi.v_start),     _p(v_end));
     printf(" ENTRY ADDRESS: %p\n", _p(dsi.v_kernentry));
@@ -696,10 +696,10 @@
                                            required_features);
 
     /*
-     * Why do we need this? The number of page-table frames depends on the 
-     * size of the bootstrap address space. But the size of the address space 
-     * depends on the number of page-table frames (since each one is mapped 
-     * read-only). We have a pair of simultaneous equations in two unknowns, 
+     * Why do we need this? The number of page-table frames depends on the
+     * size of the bootstrap address space. But the size of the address space
+     * depends on the number of page-table frames (since each one is mapped
+     * read-only). We have a pair of simultaneous equations in two unknowns,
      * which we solve by exhaustive search.
      */
     v_end = round_pgup(dsi.v_end);
@@ -731,13 +731,13 @@
         if ( dsi.pae_kernel )
         {
             /* FIXME: assumes one L2 pgtable @ 0xc0000000 */
-            if ( (((v_end - dsi.v_start + ((1<<L2_PAGETABLE_SHIFT_PAE)-1)) >> 
+            if ( (((v_end - dsi.v_start + ((1<<L2_PAGETABLE_SHIFT_PAE)-1)) >>
                    L2_PAGETABLE_SHIFT_PAE) + 2) <= nr_pt_pages )
                 break;
         }
         else
         {
-            if ( (((v_end - dsi.v_start + ((1<<L2_PAGETABLE_SHIFT)-1)) >> 
+            if ( (((v_end - dsi.v_start + ((1<<L2_PAGETABLE_SHIFT)-1)) >>
                    L2_PAGETABLE_SHIFT) + 1) <= nr_pt_pages )
                 break;
         }
@@ -873,7 +873,7 @@
             count) )
         {
             fprintf(stderr,"m2p update failure p=%lx m=%lx\n",
-                    count, page_array[count]); 
+                    count, page_array[count]);
             munmap(physmap, PAGE_SIZE);
             goto error_out;
         }
@@ -982,7 +982,7 @@
         start_info->mod_len      = initrd->len;
     }
     if ( cmdline != NULL )
-    { 
+    {
         strncpy((char *)start_info->cmd_line, cmdline, MAX_GUEST_CMDLINE);
         start_info->cmd_line[MAX_GUEST_CMDLINE-1] = '\0';
     }
@@ -1073,14 +1073,14 @@
 #endif
 
     if ( mlock(&st_ctxt, sizeof(st_ctxt) ) )
-    {   
+    {
         PERROR("%s: ctxt mlock failed", __func__);
         return 1;
     }
 
     op.cmd = DOM0_GETDOMAININFO;
     op.u.getdomaininfo.domain = (domid_t)domid;
-    if ( (xc_dom0_op(xc_handle, &op) < 0) || 
+    if ( (xc_dom0_op(xc_handle, &op) < 0) ||
          ((uint16_t)op.u.getdomaininfo.domain != domid) )
     {
         PERROR("Could not get info on domain");
@@ -1089,9 +1089,9 @@
 
     memset(ctxt, 0, sizeof(*ctxt));
 
-    if ( setup_guest(xc_handle, domid, image, image_size, 
+    if ( setup_guest(xc_handle, domid, image, image_size,
                      initrd,
-                     nr_pages, 
+                     nr_pages,
                      &vstartinfo_start, &vkern_entry,
                      &vstack_start, ctxt, cmdline,
                      op.u.getdomaininfo.shared_info_frame,
@@ -1152,7 +1152,7 @@
 
     /* No LDT. */
     ctxt->ldt_ents = 0;
-    
+
     /* Use the default Xen-provided GDT. */
     ctxt->gdt_ents = 0;
 
@@ -1184,7 +1184,7 @@
 
     launch_op.cmd = DOM0_SETVCPUCONTEXT;
     rc = xc_dom0_op(xc_handle, &launch_op);
-    
+
     return rc;
 
  error_out:
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_linux_restore.c
--- a/tools/libxc/xc_linux_restore.c    Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_linux_restore.c    Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_linux_restore.c
- * 
+ *
  * Restore the state of a Linux session.
- * 
+ *
  * Copyright (c) 2003, K A Fraser.
  */
 
@@ -13,13 +13,13 @@
 #include "xg_save_restore.h"
 
 /* max mfn of the whole machine */
-static unsigned long max_mfn; 
+static unsigned long max_mfn;
 
 /* virtual starting address of the hypervisor */
-static unsigned long hvirt_start; 
+static unsigned long hvirt_start;
 
 /* #levels of page tables used by the currrent guest */
-static unsigned int pt_levels; 
+static unsigned int pt_levels;
 
 /* total number of pages used by the current guest */
 static unsigned long max_pfn;
@@ -41,84 +41,84 @@
         s = read(fd, &b[r], count - r);
         if ((s == -1) && (errno == EINTR))
             continue;
-        if (s <= 0) { 
+        if (s <= 0) {
             break;
-        } 
+        }
         r += s;
     }
 
-    return (r == count) ? 1 : 0; 
+    return (r == count) ? 1 : 0;
 }
 
 /*
-** In the state file (or during transfer), all page-table pages are 
-** converted into a 'canonical' form where references to actual mfns 
-** are replaced with references to the corresponding pfns. 
-** This function inverts that operation, replacing the pfn values with 
-** the (now known) appropriate mfn values. 
+** In the state file (or during transfer), all page-table pages are
+** converted into a 'canonical' form where references to actual mfns
+** are replaced with references to the corresponding pfns.
+** This function inverts that operation, replacing the pfn values with
+** the (now known) appropriate mfn values.
 */
-int uncanonicalize_pagetable(unsigned long type, void *page) 
-{ 
-    int i, pte_last; 
-    unsigned long pfn; 
-    uint64_t pte; 
-
-    pte_last = PAGE_SIZE / ((pt_levels == 2)? 4 : 8); 
+int uncanonicalize_pagetable(unsigned long type, void *page)
+{
+    int i, pte_last;
+    unsigned long pfn;
+    uint64_t pte;
+
+    pte_last = PAGE_SIZE / ((pt_levels == 2)? 4 : 8);
 
     /* Now iterate through the page table, uncanonicalizing each PTE */
-    for(i = 0; i < pte_last; i++) { 
-        
-        if(pt_levels == 2) 
-            pte = ((uint32_t *)page)[i]; 
-        else 
-            pte = ((uint64_t *)page)[i]; 
-
-        if(pte & _PAGE_PRESENT) { 
+    for(i = 0; i < pte_last; i++) {
+
+        if(pt_levels == 2)
+            pte = ((uint32_t *)page)[i];
+        else
+            pte = ((uint64_t *)page)[i];
+
+        if(pte & _PAGE_PRESENT) {
 
             pfn = (pte >> PAGE_SHIFT) & 0xffffffff;
-            
-            if(pfn >= max_pfn) { 
+
+            if(pfn >= max_pfn) {
                 /* This "page table page" is probably not one; bail. */
                 ERR("Frame number in type %lu page table is out of range: "
-                    "i=%d pfn=0x%lx max_pfn=%lu", 
+                    "i=%d pfn=0x%lx max_pfn=%lu",
                     type >> 28, i, pfn, max_pfn);
-                return 0; 
-            } 
-            
-            
+                return 0;
+            }
+
+
             pte &= 0xffffff0000000fffULL;
             pte |= (uint64_t)p2m[pfn] << PAGE_SHIFT;
 
-            if(pt_levels == 2) 
-                ((uint32_t *)page)[i] = (uint32_t)pte; 
-            else 
-                ((uint64_t *)page)[i] = (uint64_t)pte; 
-
-        
-
-        }
-    }
-    
-    return 1; 
+            if(pt_levels == 2)
+                ((uint32_t *)page)[i] = (uint32_t)pte;
+            else
+                ((uint64_t *)page)[i] = (uint64_t)pte;
+
+
+
+        }
+    }
+
+    return 1;
 }
 
-int xc_linux_restore(int xc_handle, int io_fd, 
-                     uint32_t dom, unsigned long nr_pfns, 
+int xc_linux_restore(int xc_handle, int io_fd,
+                     uint32_t dom, unsigned long nr_pfns,
                      unsigned int store_evtchn, unsigned long *store_mfn,
                      unsigned int console_evtchn, unsigned long *console_mfn)
 {
     DECLARE_DOM0_OP;
     int rc = 1, i, n;
-    unsigned long mfn, pfn; 
+    unsigned long mfn, pfn;
     unsigned int prev_pc, this_pc;
     int verify = 0;
-    int nraces = 0; 
+    int nraces = 0;
 
     /* The new domain's shared-info frame number. */
     unsigned long shared_info_frame;
     unsigned char shared_info_page[PAGE_SIZE]; /* saved contents from file */
     shared_info_t *shared_info = (shared_info_t *)shared_info_page;
-    
+
     /* A copy of the CPU context of the guest. */
     vcpu_guest_context_t ctxt;
 
@@ -135,7 +135,7 @@
     unsigned long *page = NULL;
 
     /* A copy of the pfn-to-mfn table frame list. */
-    unsigned long *p2m_frame_list = NULL; 
+    unsigned long *p2m_frame_list = NULL;
 
     /* A temporary mapping of the guest's start_info page. */
     start_info_t *start_info;
@@ -148,17 +148,17 @@
     unsigned long buf[PAGE_SIZE/sizeof(unsigned long)];
 
     struct mmuext_op pin[MAX_PIN_BATCH];
-    unsigned int nr_pins; 
-
-
-    max_pfn = nr_pfns; 
+    unsigned int nr_pins;
+
+
+    max_pfn = nr_pfns;
 
     DPRINTF("xc_linux_restore start: max_pfn = %lx\n", max_pfn);
 
 
-    if(!get_platform_info(xc_handle, dom, 
+    if(!get_platform_info(xc_handle, dom,
                           &max_mfn, &hvirt_start, &pt_levels)) {
-        ERR("Unable to get platform info."); 
+        ERR("Unable to get platform info.");
         return 1;
     }
 
@@ -171,20 +171,20 @@
 
 
     /* Read the saved P2M frame list */
-    if(!(p2m_frame_list = malloc(P2M_FL_SIZE))) { 
+    if(!(p2m_frame_list = malloc(P2M_FL_SIZE))) {
         ERR("Couldn't allocate p2m_frame_list array");
         goto out;
     }
-    
-    if (!read_exact(io_fd, p2m_frame_list, P2M_FL_SIZE)) { 
+
+    if (!read_exact(io_fd, p2m_frame_list, P2M_FL_SIZE)) {
         ERR("read p2m_frame_list failed");
         goto out;
     }
 
-    
+
     /* We want zeroed memory so use calloc rather than malloc. */
-    p2m        = calloc(sizeof(unsigned long), max_pfn); 
-    pfn_type   = calloc(sizeof(unsigned long), max_pfn);    
+    p2m        = calloc(sizeof(unsigned long), max_pfn);
+    pfn_type   = calloc(sizeof(unsigned long), max_pfn);
     region_mfn = calloc(sizeof(unsigned long), MAX_BATCH_SIZE);
 
     if ((p2m == NULL) || (pfn_type == NULL) || (region_mfn == NULL)) {
@@ -192,7 +192,7 @@
         errno = ENOMEM;
         goto out;
     }
-    
+
     if (mlock(region_mfn, sizeof(unsigned long) * MAX_BATCH_SIZE)) {
         ERR("Could not mlock region_mfn");
         goto out;
@@ -207,27 +207,27 @@
     }
     shared_info_frame = op.u.getdomaininfo.shared_info_frame;
 
-    if(xc_domain_setmaxmem(xc_handle, dom, PFN_TO_KB(max_pfn)) != 0) { 
+    if(xc_domain_setmaxmem(xc_handle, dom, PFN_TO_KB(max_pfn)) != 0) {
         errno = ENOMEM;
         goto out;
     }
-    
+
     if(xc_domain_memory_increase_reservation(
-           xc_handle, dom, max_pfn, 0, 0, NULL) != 0) { 
+           xc_handle, dom, max_pfn, 0, 0, NULL) != 0) {
         ERR("Failed to increase reservation by %lx KB", PFN_TO_KB(max_pfn));
         errno = ENOMEM;
         goto out;
     }
 
-    DPRINTF("Increased domain reservation by %lx KB\n", PFN_TO_KB(max_pfn)); 
+    DPRINTF("Increased domain reservation by %lx KB\n", PFN_TO_KB(max_pfn));
 
     /* Build the pfn-to-mfn table. We choose MFN ordering returned by Xen. */
     if (xc_get_pfn_list(xc_handle, dom, p2m, max_pfn) != max_pfn) {
         ERR("Did not read correct number of frame numbers for new dom");
         goto out;
     }
-    
-    if(!(mmu = xc_init_mmu_updates(xc_handle, dom))) { 
+
+    if(!(mmu = xc_init_mmu_updates(xc_handle, dom))) {
         ERR("Could not initialise for MMU updates");
         goto out;
     }
@@ -242,7 +242,7 @@
     prev_pc = 0;
 
     n = 0;
-    while (1) { 
+    while (1) {
 
         int j;
 
@@ -253,13 +253,13 @@
             prev_pc = this_pc;
         }
 
-        if (!read_exact(io_fd, &j, sizeof(int))) { 
+        if (!read_exact(io_fd, &j, sizeof(int))) {
             ERR("Error when reading batch size");
             goto out;
         }
 
         PPRINTF("batch %d\n",j);
- 
+
         if (j == -1) {
             verify = 1;
             fprintf(stderr, "Entering page verify mode\n");
@@ -269,27 +269,27 @@
         if (j == 0)
             break;  /* our work here is done */
 
-        if (j > MAX_BATCH_SIZE) { 
+        if (j > MAX_BATCH_SIZE) {
             ERR("Max batch size exceeded. Giving up.");
             goto out;
         }
- 
-        if (!read_exact(io_fd, region_pfn_type, j*sizeof(unsigned long))) { 
+
+        if (!read_exact(io_fd, region_pfn_type, j*sizeof(unsigned long))) {
             ERR("Error when reading region pfn types");
             goto out;
         }
 
-        for (i = 0; i < j; i++) { 
+        for (i = 0; i < j; i++) {
 
             if ((region_pfn_type[i] & LTAB_MASK) == XTAB)
                 region_mfn[i] = 0; /* we know map will fail, but don't care */
-            else 
-                region_mfn[i] = p2m[region_pfn_type[i] & ~LTAB_MASK]; 
-
-        }
- 
+            else
+                region_mfn[i] = p2m[region_pfn_type[i] & ~LTAB_MASK];
+
+        }
+
         if (!(region_base = xc_map_foreign_batch(
-                  xc_handle, dom, PROT_WRITE, region_mfn, j))) {  
+                  xc_handle, dom, PROT_WRITE, region_mfn, j))) {
             ERR("map batch failed");
             goto out;
         }
@@ -297,12 +297,12 @@
         for ( i = 0; i < j; i++ )
         {
             void *page;
-            unsigned long pagetype; 
+            unsigned long pagetype;
 
             pfn      = region_pfn_type[i] & ~LTAB_MASK;
-            pagetype = region_pfn_type[i] & LTAB_MASK; 
-
-            if (pagetype == XTAB) 
+            pagetype = region_pfn_type[i] & LTAB_MASK;
+
+            if (pagetype == XTAB)
                 /* a bogus/unmapped page: skip it */
                 continue;
 
@@ -311,72 +311,72 @@
                 goto out;
             }
 
-            pfn_type[pfn] = pagetype; 
+            pfn_type[pfn] = pagetype;
 
             mfn = p2m[pfn];
 
             /* In verify mode, we use a copy; otherwise we work in place */
-            page = verify ? (void *)buf : (region_base + i*PAGE_SIZE); 
-
-            if (!read_exact(io_fd, page, PAGE_SIZE)) { 
+            page = verify ? (void *)buf : (region_base + i*PAGE_SIZE);
+
+            if (!read_exact(io_fd, page, PAGE_SIZE)) {
                 ERR("Error when reading page (type was %lx)", pagetype);
                 goto out;
             }
 
-            pagetype &= LTABTYPE_MASK; 
-
-            if(pagetype >= L1TAB && pagetype <= L4TAB) { 
-                
-                /* 
-                ** A page table page - need to 'uncanonicalize' it, i.e. 
-                ** replace all the references to pfns with the corresponding 
-                ** mfns for the new domain. 
-                ** 
-                ** On PAE we need to ensure that PGDs are in MFNs < 4G, and 
-                ** so we may need to update the p2m after the main loop. 
-                ** Hence we defer canonicalization of L1s until then. 
+            pagetype &= LTABTYPE_MASK;
+
+            if(pagetype >= L1TAB && pagetype <= L4TAB) {
+
+                /*
+                ** A page table page - need to 'uncanonicalize' it, i.e.
+                ** replace all the references to pfns with the corresponding
+                ** mfns for the new domain.
+                **
+                ** On PAE we need to ensure that PGDs are in MFNs < 4G, and
+                ** so we may need to update the p2m after the main loop.
+                ** Hence we defer canonicalization of L1s until then.
                 */
-                if(pt_levels != 3 || pagetype != L1TAB) { 
+                if(pt_levels != 3 || pagetype != L1TAB) {
 
                     if(!uncanonicalize_pagetable(pagetype, page)) {
-                        /* 
+                        /*
                         ** Failing to uncanonicalize a page table can be ok
                         ** under live migration since the pages type may have
-                        ** changed by now (and we'll get an update later). 
+                        ** changed by now (and we'll get an update later).
                         */
-                        DPRINTF("PT L%ld race on pfn=%08lx mfn=%08lx\n", 
-                                pagetype >> 28, pfn, mfn); 
-                        nraces++; 
-                        continue; 
+                        DPRINTF("PT L%ld race on pfn=%08lx mfn=%08lx\n",
+                                pagetype >> 28, pfn, mfn);
+                        nraces++;
+                        continue;
                     }
 
-                } 
-                    
-            } else if(pagetype != NOTAB) { 
+                }
+
+            } else if(pagetype != NOTAB) {
 
                 ERR("Bogus page type %lx page table is out of range: "
                     "i=%d max_pfn=%lu", pagetype, i, max_pfn);
                 goto out;
 
-            } 
+            }
 
 
             if (verify) {
 
                 int res = memcmp(buf, (region_base + i*PAGE_SIZE), PAGE_SIZE);
 
-                if (res) { 
+                if (res) {
 
                     int v;
 
                     DPRINTF("************** pfn=%lx type=%lx gotcs=%08lx "
-                            "actualcs=%08lx\n", pfn, pfn_type[pfn], 
-                            csum_page(region_base + i*PAGE_SIZE), 
+                            "actualcs=%08lx\n", pfn, pfn_type[pfn],
+                            csum_page(region_base + i*PAGE_SIZE),
                             csum_page(buf));
 
                     for (v = 0; v < 4; v++) {
-                        
-                        unsigned long *p = (unsigned long *) 
+
+                        unsigned long *p = (unsigned long *)
                             (region_base + i*PAGE_SIZE);
                         if (buf[v] != p[v])
                             DPRINTF("    %d: %08lx %08lx\n", v, buf[v], p[v]);
@@ -384,8 +384,8 @@
                 }
             }
 
-            if (xc_add_mmu_update(xc_handle, mmu, 
-                                  (((unsigned long long)mfn) << PAGE_SHIFT) 
+            if (xc_add_mmu_update(xc_handle, mmu,
+                                  (((unsigned long long)mfn) << PAGE_SHIFT)
                                   | MMU_MACHPHYS_UPDATE, pfn)) {
                 ERR("failed machpys update mfn=%lx pfn=%lx", mfn, pfn);
                 goto out;
@@ -398,149 +398,149 @@
 
     DPRINTF("Received all pages (%d races)\n", nraces);
 
-    if(pt_levels == 3) { 
-
-        /* 
-        ** XXX SMH on PAE we need to ensure PGDs are in MFNs < 4G. This 
+    if(pt_levels == 3) {
+
+        /*
+        ** XXX SMH on PAE we need to ensure PGDs are in MFNs < 4G. This
         ** is a little awkward and involves (a) finding all such PGDs and
-        ** replacing them with 'lowmem' versions; (b) upating the p2m[] 
+        ** replacing them with 'lowmem' versions; (b) upating the p2m[]
         ** with the new info; and (c) canonicalizing all the L1s using the
-        ** (potentially updated) p2m[]. 
-        ** 
+        ** (potentially updated) p2m[].
+        **
         ** This is relatively slow (and currently involves two passes through
         ** the pfn_type[] array), but at least seems to be correct. May wish
-        ** to consider more complex approaches to optimize this later. 
+        ** to consider more complex approaches to optimize this later.
         */
 
-        int j, k; 
+        int j, k;
 
         /* First pass: find all L3TABs current in > 4G mfns and get new mfns */
         for (i = 0; i < max_pfn; i++) {
-            
+
             if (((pfn_type[i] & LTABTYPE_MASK)==L3TAB) && (p2m[i]>0xfffffUL)) {
 
-                unsigned long new_mfn; 
-                uint64_t l3ptes[4]; 
-                uint64_t *l3tab; 
+                unsigned long new_mfn;
+                uint64_t l3ptes[4];
+                uint64_t *l3tab;
 
                 l3tab = (uint64_t *)
-                    xc_map_foreign_range(xc_handle, dom, PAGE_SIZE, 
-                                         PROT_READ, p2m[i]); 
-
-                for(j = 0; j < 4; j++) 
-                    l3ptes[j] = l3tab[j]; 
-                
-                munmap(l3tab, PAGE_SIZE); 
+                    xc_map_foreign_range(xc_handle, dom, PAGE_SIZE,
+                                         PROT_READ, p2m[i]);
+
+                for(j = 0; j < 4; j++)
+                    l3ptes[j] = l3tab[j];
+
+                munmap(l3tab, PAGE_SIZE);
 
                 if (!(new_mfn=xc_make_page_below_4G(xc_handle, dom, p2m[i]))) {
                     ERR("Couldn't get a page below 4GB :-(");
                     goto out;
                 }
-                
+
                 p2m[i] = new_mfn;
-                if (xc_add_mmu_update(xc_handle, mmu, 
-                                      (((unsigned long long)new_mfn) 
-                                       << PAGE_SHIFT) | 
+                if (xc_add_mmu_update(xc_handle, mmu,
+                                      (((unsigned long long)new_mfn)
+                                       << PAGE_SHIFT) |
                                       MMU_MACHPHYS_UPDATE, i)) {
                     ERR("Couldn't m2p on PAE root pgdir");
                     goto out;
                 }
-                
+
                 l3tab = (uint64_t *)
-                    xc_map_foreign_range(xc_handle, dom, PAGE_SIZE, 
-                                         PROT_READ | PROT_WRITE, p2m[i]); 
-                
-                for(j = 0; j < 4; j++) 
-                    l3tab[j] = l3ptes[j]; 
-                
-                munmap(l3tab, PAGE_SIZE); 
-                
+                    xc_map_foreign_range(xc_handle, dom, PAGE_SIZE,
+                                         PROT_READ | PROT_WRITE, p2m[i]);
+
+                for(j = 0; j < 4; j++)
+                    l3tab[j] = l3ptes[j];
+
+                munmap(l3tab, PAGE_SIZE);
+
             }
         }
 
         /* Second pass: find all L1TABs and uncanonicalize them */
-        j = 0; 
-
-        for(i = 0; i < max_pfn; i++) { 
-            
-            if (((pfn_type[i] & LTABTYPE_MASK)==L1TAB)) { 
-                region_mfn[j] = p2m[i]; 
-                j++; 
-            }
-
-            if(i == (max_pfn-1) || j == MAX_BATCH_SIZE) { 
+        j = 0;
+
+        for(i = 0; i < max_pfn; i++) {
+
+            if (((pfn_type[i] & LTABTYPE_MASK)==L1TAB)) {
+                region_mfn[j] = p2m[i];
+                j++;
+            }
+
+            if(i == (max_pfn-1) || j == MAX_BATCH_SIZE) {
 
                 if (!(region_base = xc_map_foreign_batch(
-                          xc_handle, dom, PROT_READ | PROT_WRITE, 
-                          region_mfn, j))) {  
+                          xc_handle, dom, PROT_READ | PROT_WRITE,
+                          region_mfn, j))) {
                     ERR("map batch failed");
                     goto out;
                 }
 
                 for(k = 0; k < j; k++) {
-                    if(!uncanonicalize_pagetable(L1TAB, 
+                    if(!uncanonicalize_pagetable(L1TAB,
                                                  region_base + k*PAGE_SIZE)) {
-                        ERR("failed uncanonicalize pt!"); 
-                        goto out; 
-                    } 
+                        ERR("failed uncanonicalize pt!");
+                        goto out;
+                    }
                 }
-                
-                munmap(region_base, j*PAGE_SIZE); 
-                j = 0; 
-            }
-        }
-
-    }
-
-
-    if (xc_finish_mmu_updates(xc_handle, mmu)) { 
-        ERR("Error doing finish_mmu_updates()"); 
-        goto out;
-    } 
+
+                munmap(region_base, j*PAGE_SIZE);
+                j = 0;
+            }
+        }
+
+    }
+
+
+    if (xc_finish_mmu_updates(xc_handle, mmu)) {
+        ERR("Error doing finish_mmu_updates()");
+        goto out;
+    }
 
 
     /*
      * Pin page tables. Do this after writing to them as otherwise Xen
      * will barf when doing the type-checking.
      */
-    nr_pins = 0; 
+    nr_pins = 0;
     for (i = 0; i < max_pfn; i++) {
 
         if (i == (max_pfn-1) || nr_pins == MAX_PIN_BATCH) {
-            if (xc_mmuext_op(xc_handle, pin, nr_pins, dom) < 0) { 
-                ERR("Failed to pin batch of %d page tables", nr_pins); 
+            if (xc_mmuext_op(xc_handle, pin, nr_pins, dom) < 0) {
+                ERR("Failed to pin batch of %d page tables", nr_pins);
                 goto out;
-            } 
+            }
             nr_pins = 0;
         }
 
         if ( (pfn_type[i] & LPINTAB) == 0 )
             continue;
 
-        switch(pfn_type[i]) { 
-
-        case (L1TAB|LPINTAB): 
+        switch(pfn_type[i]) {
+
+        case (L1TAB|LPINTAB):
             pin[nr_pins].cmd = MMUEXT_PIN_L1_TABLE;
-            break; 
-            
-        case (L2TAB|LPINTAB): 
+            break;
+
+        case (L2TAB|LPINTAB):
             pin[nr_pins].cmd = MMUEXT_PIN_L2_TABLE;
-            break; 
-            
-        case (L3TAB|LPINTAB): 
+            break;
+
+        case (L3TAB|LPINTAB):
             pin[nr_pins].cmd = MMUEXT_PIN_L3_TABLE;
-            break; 
+            break;
 
         case (L4TAB|LPINTAB):
             pin[nr_pins].cmd = MMUEXT_PIN_L4_TABLE;
-            break; 
-            
-        default: 
-            continue; 
+            break;
+
+        default:
+            continue;
         }
 
         pin[nr_pins].arg1.mfn = p2m[i];
-        nr_pins++; 
+        nr_pins++;
 
     }
 
@@ -553,17 +553,17 @@
         unsigned long *pfntab;
         int rc;
 
-        if (!read_exact(io_fd, &count, sizeof(count))) { 
+        if (!read_exact(io_fd, &count, sizeof(count))) {
             ERR("Error when reading pfn count");
             goto out;
         }
 
-        if(!(pfntab = malloc(sizeof(unsigned long) * count))) { 
+        if(!(pfntab = malloc(sizeof(unsigned long) * count))) {
             ERR("Out of memory");
             goto out;
         }
-        
-        if (!read_exact(io_fd, pfntab, sizeof(unsigned long)*count)) { 
+
+        if (!read_exact(io_fd, pfntab, sizeof(unsigned long)*count)) {
             ERR("Error when reading pfntab");
             goto out;
         }
@@ -572,14 +572,14 @@
 
             unsigned long pfn = pfntab[i];
 
-            if(pfn > max_pfn) 
+            if(pfn > max_pfn)
                 /* shouldn't happen - continue optimistically */
-                continue; 
-
-            pfntab[i] = p2m[pfn];   
-            p2m[pfn]  = INVALID_P2M_ENTRY; // not in pseudo-physical map 
-        }
-        
+                continue;
+
+            pfntab[i] = p2m[pfn];
+            p2m[pfn]  = INVALID_P2M_ENTRY; // not in pseudo-physical map
+        }
+
         if (count > 0) {
 
             struct xen_memory_reservation reservation = {
@@ -590,16 +590,16 @@
             };
 
             if ((rc = xc_memory_op(xc_handle, XENMEM_decrease_reservation,
-                                   &reservation)) != count) { 
+                                   &reservation)) != count) {
                 ERR("Could not decrease reservation : %d", rc);
                 goto out;
             } else
                 DPRINTF("Decreased reservation by %d pages\n", count);
-        } 
-    }
-
-    if (!read_exact(io_fd, &ctxt, sizeof(ctxt)) || 
-        !read_exact(io_fd, shared_info_page, PAGE_SIZE)) { 
+        }
+    }
+
+    if (!read_exact(io_fd, &ctxt, sizeof(ctxt)) ||
+        !read_exact(io_fd, shared_info_page, PAGE_SIZE)) {
         ERR("Error when reading ctxt or shared info page");
         goto out;
     }
@@ -642,15 +642,15 @@
 
     if (pfn >= max_pfn) {
         ERR("PT base is bad: pfn=%lu max_pfn=%lu type=%08lx",
-            pfn, max_pfn, pfn_type[pfn]); 
-        goto out;
-    }
-
-    if ( (pfn_type[pfn] & LTABTYPE_MASK) != 
+            pfn, max_pfn, pfn_type[pfn]);
+        goto out;
+    }
+
+    if ( (pfn_type[pfn] & LTABTYPE_MASK) !=
          ((unsigned long)pt_levels<<LTAB_SHIFT) ) {
         ERR("PT base is bad. pfn=%lu nr=%lu type=%08lx %08lx",
-            pfn, max_pfn, pfn_type[pfn], 
-            (unsigned long)pt_levels<<LTAB_SHIFT); 
+            pfn, max_pfn, pfn_type[pfn],
+            (unsigned long)pt_levels<<LTAB_SHIFT);
         goto out;
     }
 
@@ -667,7 +667,7 @@
         xc_handle, dom, PAGE_SIZE, PROT_WRITE, shared_info_frame);
     memcpy(page, shared_info, sizeof(shared_info_t));
     munmap(page, PAGE_SIZE);
-    
+
     /* Uncanonicalise the pfn-to-mfn table frame-number list. */
     for (i = 0; i < P2M_FL_ENTRIES; i++) {
         pfn = p2m_frame_list[i];
@@ -678,16 +678,16 @@
 
         p2m_frame_list[i] = p2m[pfn];
     }
-    
+
     /* Copy the P2M we've constructed to the 'live' P2M */
-    if (!(live_p2m = xc_map_foreign_batch(xc_handle, dom, PROT_WRITE, 
+    if (!(live_p2m = xc_map_foreign_batch(xc_handle, dom, PROT_WRITE,
                                           p2m_frame_list, P2M_FL_ENTRIES))) {
         ERR("Couldn't map p2m table");
         goto out;
     }
 
-    memcpy(live_p2m, p2m, P2M_SIZE); 
-    munmap(live_p2m, P2M_SIZE); 
+    memcpy(live_p2m, p2m, P2M_SIZE);
+    munmap(live_p2m, P2M_SIZE);
 
     /*
      * Safety checking of saved context:
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_linux_save.c
--- a/tools/libxc/xc_linux_save.c       Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_linux_save.c       Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_linux_save.c
- * 
+ *
  * Save the state of a running Linux session.
- * 
+ *
  * Copyright (c) 2003, K A Fraser.
  */
 
@@ -17,23 +17,23 @@
 
 /*
 ** Default values for important tuning parameters. Can override by passing
-** non-zero replacement values to xc_linux_save().  
+** non-zero replacement values to xc_linux_save().
 **
-** XXX SMH: should consider if want to be able to override MAX_MBIT_RATE too. 
-** 
+** XXX SMH: should consider if want to be able to override MAX_MBIT_RATE too.
+**
 */
-#define DEF_MAX_ITERS   29   /* limit us to 30 times round loop   */ 
+#define DEF_MAX_ITERS   29   /* limit us to 30 times round loop   */
 #define DEF_MAX_FACTOR   3   /* never send more than 3x nr_pfns   */
 
 
 /* max mfn of the whole machine */
-static unsigned long max_mfn; 
+static unsigned long max_mfn;
 
 /* virtual starting address of the hypervisor */
-static unsigned long hvirt_start; 
+static unsigned long hvirt_start;
 
 /* #levels of page tables used by the currrent guest */
-static unsigned int pt_levels; 
+static unsigned int pt_levels;
 
 /* total number of pages used by the current guest */
 static unsigned long max_pfn;
@@ -56,8 +56,8 @@
 (((_mfn) < (max_mfn)) &&                        \
  ((mfn_to_pfn(_mfn) < (max_pfn)) &&               \
   (live_p2m[mfn_to_pfn(_mfn)] == (_mfn))))
-    
- 
+
+
 /* Returns TRUE if MFN is successfully converted to a PFN. */
 #define translate_mfn_to_pfn(_pmfn)                             \
 ({                                                              \
@@ -70,12 +70,12 @@
     _res;                                                       \
 })
 
-/* 
-** During (live) save/migrate, we maintain a number of bitmaps to track 
-** which pages we have to send, to fixup, and to skip. 
+/*
+** During (live) save/migrate, we maintain a number of bitmaps to track
+** which pages we have to send, to fixup, and to skip.
 */
 
-#define BITS_PER_LONG (sizeof(unsigned long) * 8) 
+#define BITS_PER_LONG (sizeof(unsigned long) * 8)
 #define BITMAP_SIZE   ((max_pfn + BITS_PER_LONG - 1) / 8)
 
 #define BITMAP_ENTRY(_nr,_bmap) \
@@ -85,17 +85,17 @@
 
 static inline int test_bit (int nr, volatile void * addr)
 {
-    return (BITMAP_ENTRY(nr, addr) >> BITMAP_SHIFT(nr)) & 1; 
+    return (BITMAP_ENTRY(nr, addr) >> BITMAP_SHIFT(nr)) & 1;
 }
 
 static inline void clear_bit (int nr, volatile void * addr)
 {
-    BITMAP_ENTRY(nr, addr) &= ~(1 << BITMAP_SHIFT(nr)); 
+    BITMAP_ENTRY(nr, addr) &= ~(1 << BITMAP_SHIFT(nr));
 }
 
 static inline void set_bit ( int nr, volatile void * addr)
 {
-    BITMAP_ENTRY(nr, addr) |= (1 << BITMAP_SHIFT(nr)); 
+    BITMAP_ENTRY(nr, addr) |= (1 << BITMAP_SHIFT(nr));
 }
 
 /* Returns the hamming weight (i.e. the number of bits set) in a N-bit word */
@@ -122,7 +122,7 @@
 {
     /* Need a simple permutation function so that we scan pages in a
        pseudo random order, enabling us to get a better estimate of
-       the domain's page dirtying rate as we go (there are often 
+       the domain's page dirtying rate as we go (there are often
        contiguous ranges of pfns that have similar behaviour, and we
        want to mix them up. */
 
@@ -130,21 +130,21 @@
     /* 512MB domain, 128k pages, order 17 */
 
     /*
-      QPONMLKJIHGFEDCBA  
-             QPONMLKJIH  
-      GFEDCBA  
+      QPONMLKJIHGFEDCBA
+             QPONMLKJIH
+      GFEDCBA
      */
-    
+
     /*
-      QPONMLKJIHGFEDCBA  
-                  EDCBA  
+      QPONMLKJIHGFEDCBA
+                  EDCBA
              QPONM
       LKJIHGF
       */
 
     do { i = ((i>>(order_nr-10)) | ( i<<10 ) ) & ((1<<order_nr)-1); }
     while ( i >= nr ); /* this won't ever loop if nr is a power of 2 */
-    
+
     return i;
 }
 
@@ -165,7 +165,7 @@
 
 static uint64_t tv_delta(struct timeval *new, struct timeval *old)
 {
-    return ((new->tv_sec - old->tv_sec)*1000000 ) + 
+    return ((new->tv_sec - old->tv_sec)*1000000 ) +
         (new->tv_usec - old->tv_usec);
 }
 
@@ -175,7 +175,7 @@
 
 /*
 ** We control the rate at which we transmit (or save) to minimize impact
-** on running domains (including the target if we're doing live migrate). 
+** on running domains (including the target if we're doing live migrate).
 */
 
 #define MAX_MBIT_RATE    500      /* maximum transmit rate for migrate */
@@ -193,10 +193,10 @@
 static int mbit_rate, ombit_rate = 0;
 
 /* Have we reached the maximum transmission rate? */
-#define RATE_IS_MAX() (mbit_rate == MAX_MBIT_RATE) 
-
-
-static inline void initialize_mbit_rate() 
+#define RATE_IS_MAX() (mbit_rate == MAX_MBIT_RATE)
+
+
+static inline void initialize_mbit_rate()
 {
     mbit_rate = START_MBIT_RATE;
 }
@@ -213,7 +213,7 @@
 
     if (START_MBIT_RATE == 0)
         return write(io_fd, buf, n);
-    
+
     budget -= n;
     if (budget < 0) {
         if (mbit_rate != ombit_rate) {
@@ -253,46 +253,46 @@
 
 #else /* ! ADAPTIVE SAVE */
 
-#define RATE_IS_MAX() (0) 
-#define ratewrite(_io_fd, _buf, _n) write((_io_fd), (_buf), (_n)) 
-#define initialize_mbit_rate() 
+#define RATE_IS_MAX() (0)
+#define ratewrite(_io_fd, _buf, _n) write((_io_fd), (_buf), (_n))
+#define initialize_mbit_rate()
 
 #endif
 
 
 static inline ssize_t write_exact(int fd, void *buf, size_t count)
 {
-    if(write(fd, buf, count) != count) 
-        return 0; 
-    return 1; 
-} 
-
-
-
-static int print_stats(int xc_handle, uint32_t domid, int pages_sent, 
+    if(write(fd, buf, count) != count)
+        return 0;
+    return 1;
+}
+
+
+
+static int print_stats(int xc_handle, uint32_t domid, int pages_sent,
                        xc_shadow_control_stats_t *stats, int print)
 {
     static struct timeval wall_last;
     static long long      d0_cpu_last;
     static long long      d1_cpu_last;
-    
+
     struct timeval        wall_now;
     long long             wall_delta;
     long long             d0_cpu_now, d0_cpu_delta;
     long long             d1_cpu_now, d1_cpu_delta;
-    
+
     gettimeofday(&wall_now, NULL);
-    
+
     d0_cpu_now = xc_domain_get_cpu_usage(xc_handle, 0, /* FIXME */ 0)/1000;
     d1_cpu_now = xc_domain_get_cpu_usage(xc_handle, domid, /* FIXME */ 0)/1000;
 
-    if ( (d0_cpu_now == -1) || (d1_cpu_now == -1) ) 
+    if ( (d0_cpu_now == -1) || (d1_cpu_now == -1) )
         fprintf(stderr, "ARRHHH!!\n");
-    
+
     wall_delta = tv_delta(&wall_now,&wall_last)/1000;
-    
+
     if (wall_delta == 0) wall_delta = 1;
-    
+
     d0_cpu_delta = (d0_cpu_now - d0_cpu_last)/1000;
     d1_cpu_delta = (d1_cpu_now - d1_cpu_last)/1000;
 
@@ -300,14 +300,14 @@
         fprintf(stderr,
                 "delta %lldms, dom0 %d%%, target %d%%, sent %dMb/s, "
                 "dirtied %dMb/s %" PRId32 " pages\n",
-                wall_delta, 
+                wall_delta,
                 (int)((d0_cpu_delta*100)/wall_delta),
                 (int)((d1_cpu_delta*100)/wall_delta),
                 (int)((pages_sent*PAGE_SIZE)/(wall_delta*(1000/8))),
                 (int)((stats->dirty_count*PAGE_SIZE)/(wall_delta*(1000/8))),
                 stats->dirty_count);
 
-#ifdef ADAPTIVE_SAVE    
+#ifdef ADAPTIVE_SAVE
     if (((stats->dirty_count*PAGE_SIZE)/(wall_delta*(1000/8))) > mbit_rate) {
         mbit_rate = (int)((stats->dirty_count*PAGE_SIZE)/(wall_delta*(1000/8)))
             + 50;
@@ -315,16 +315,16 @@
             mbit_rate = MAX_MBIT_RATE;
     }
 #endif
-    
+
     d0_cpu_last = d0_cpu_now;
     d1_cpu_last = d1_cpu_now;
-    wall_last   = wall_now; 
+    wall_last   = wall_now;
 
     return 0;
 }
 
 
-static int analysis_phase(int xc_handle, uint32_t domid, int max_pfn, 
+static int analysis_phase(int xc_handle, uint32_t domid, int max_pfn,
                           unsigned long *arr, int runs)
 {
     long long start, now;
@@ -335,24 +335,24 @@
 
     for (j = 0; j < runs; j++) {
         int i;
-        
+
         xc_shadow_control(xc_handle, domid, DOM0_SHADOW_CONTROL_OP_CLEAN,
                           arr, max_pfn, NULL);
         fprintf(stderr, "#Flush\n");
-        for ( i = 0; i < 40; i++ ) {     
-            usleep(50000);     
+        for ( i = 0; i < 40; i++ ) {
+            usleep(50000);
             now = llgettimeofday();
             xc_shadow_control(xc_handle, domid, DOM0_SHADOW_CONTROL_OP_PEEK,
                               NULL, 0, &stats);
-            
+
             fprintf(stderr, "now= %lld faults= %" PRId32 " dirty= %" PRId32
-                    " dirty_net= %" PRId32 " dirty_block= %" PRId32"\n", 
-                    ((now-start)+500)/1000, 
+                    " dirty_net= %" PRId32 " dirty_block= %" PRId32"\n",
+                    ((now-start)+500)/1000,
                     stats.fault_count, stats.dirty_count,
                     stats.dirty_net_count, stats.dirty_block_count);
         }
     }
-    
+
     return -1;
 }
 
@@ -375,7 +375,7 @@
         return -1;
     }
 
-    if ( xc_vcpu_getcontext(xc_handle, dom, 0 /* XXX */, ctxt)) 
+    if ( xc_vcpu_getcontext(xc_handle, dom, 0 /* XXX */, ctxt))
         ERR("Could not get vcpu context");
 
 
@@ -383,22 +383,22 @@
         return 0; // success
 
     if (info->paused) {
-        // try unpausing domain, wait, and retest 
+        // try unpausing domain, wait, and retest
         xc_domain_unpause( xc_handle, dom );
-        
+
         ERR("Domain was paused. Wait and re-test.");
         usleep(10000);  // 10ms
-        
+
         goto retry;
     }
 
 
     if( ++i < 100 ) {
         ERR("Retry suspend domain.");
-        usleep(10000);  // 10ms 
+        usleep(10000);  // 10ms
         goto retry;
     }
-    
+
     ERR("Unable to suspend domain.");
 
     return -1;
@@ -406,173 +406,173 @@
 
 
 /*
-** During transfer (or in the state file), all page-table pages must be  
-** converted into a 'canonical' form where references to actual mfns 
-** are replaced with references to the corresponding pfns. 
+** During transfer (or in the state file), all page-table pages must be
+** converted into a 'canonical' form where references to actual mfns
+** are replaced with references to the corresponding pfns.
 **
-** This function performs the appropriate conversion, taking into account 
-** which entries do not require canonicalization (in particular, those 
-** entries which map the virtual address reserved for the hypervisor). 
+** This function performs the appropriate conversion, taking into account
+** which entries do not require canonicalization (in particular, those
+** entries which map the virtual address reserved for the hypervisor).
 */
-void canonicalize_pagetable(unsigned long type, unsigned long pfn, 
-                             const void *spage, void *dpage) 
-{ 
-    
+void canonicalize_pagetable(unsigned long type, unsigned long pfn,
+                             const void *spage, void *dpage)
+{
+
     int i, pte_last, xen_start, xen_end;
     uint64_t pte;
 
-    /* 
+    /*
     ** We need to determine which entries in this page table hold
     ** reserved hypervisor mappings. This depends on the current
-    ** page table type as well as the number of paging levels. 
+    ** page table type as well as the number of paging levels.
     */
-    xen_start = xen_end = pte_last = PAGE_SIZE / ((pt_levels == 2)? 4 : 8); 
-    
+    xen_start = xen_end = pte_last = PAGE_SIZE / ((pt_levels == 2)? 4 : 8);
+
     if (pt_levels == 2 && type == L2TAB)
-        xen_start = (hvirt_start >> L2_PAGETABLE_SHIFT); 
-
-    if (pt_levels == 3 && type == L3TAB) 
-        xen_start = L3_PAGETABLE_ENTRIES_PAE; 
-        
-    /* 
-    ** in PAE only the L2 mapping the top 1GB contains Xen mappings. 
+        xen_start = (hvirt_start >> L2_PAGETABLE_SHIFT);
+
+    if (pt_levels == 3 && type == L3TAB)
+        xen_start = L3_PAGETABLE_ENTRIES_PAE;
+
+    /*
+    ** in PAE only the L2 mapping the top 1GB contains Xen mappings.
     ** We can spot this by looking for the guest linear mapping which
-    ** Xen always ensures is present in that L2. Guests must ensure 
-    ** that this check will fail for other L2s. 
+    ** Xen always ensures is present in that L2. Guests must ensure
+    ** that this check will fail for other L2s.
     */
     if (pt_levels == 3 && type == L2TAB) {
 
 /* XXX index of the L2 entry in PAE mode which holds the guest LPT */
-#define PAE_GLPT_L2ENTRY (495) 
-        pte = ((uint64_t*)spage)[PAE_GLPT_L2ENTRY]; 
+#define PAE_GLPT_L2ENTRY (495)
+        pte = ((uint64_t*)spage)[PAE_GLPT_L2ENTRY];
 
         if(((pte >> PAGE_SHIFT) & 0x0fffffff) == live_p2m[pfn])
-            xen_start = (hvirt_start >> L2_PAGETABLE_SHIFT_PAE) & 0x1ff; 
-    }
-
-    if (pt_levels == 4 && type == L4TAB) { 
+            xen_start = (hvirt_start >> L2_PAGETABLE_SHIFT_PAE) & 0x1ff;
+    }
+
+    if (pt_levels == 4 && type == L4TAB) {
         /*
-        ** XXX SMH: should compute these from hvirt_start (which we have) 
-        ** and hvirt_end (which we don't) 
+        ** XXX SMH: should compute these from hvirt_start (which we have)
+        ** and hvirt_end (which we don't)
         */
-        xen_start = 256; 
-        xen_end   = 272; 
+        xen_start = 256;
+        xen_end   = 272;
     }
 
     /* Now iterate through the page table, canonicalizing each PTE */
     for (i = 0; i < pte_last; i++ ) {
 
-        unsigned long pfn, mfn; 
-        
+        unsigned long pfn, mfn;
+
         if (pt_levels == 2)
             pte = ((uint32_t*)spage)[i];
         else
             pte = ((uint64_t*)spage)[i];
-        
+
         if (i >= xen_start && i < xen_end)
             pte = 0;
-        
+
         if (pte & _PAGE_PRESENT) {
-            
-            mfn = (pte >> PAGE_SHIFT) & 0xfffffff;      
+
+            mfn = (pte >> PAGE_SHIFT) & 0xfffffff;
             if (!MFN_IS_IN_PSEUDOPHYS_MAP(mfn)) {
-                /* This will happen if the type info is stale which 
+                /* This will happen if the type info is stale which
                    is quite feasible under live migration */
                 DPRINTF("PT Race: [%08lx,%d] pte=%llx, mfn=%08lx\n",
-                        type, i, (unsigned long long)pte, mfn); 
+                        type, i, (unsigned long long)pte, mfn);
                 pfn = 0; /* zap it - we'll retransmit this page later */
-            } else 
+            } else
                 pfn = mfn_to_pfn(mfn);
-            
+
             pte &= 0xffffff0000000fffULL;
             pte |= (uint64_t)pfn << PAGE_SHIFT;
         }
-        
+
         if (pt_levels == 2)
             ((uint32_t*)dpage)[i] = pte;
         else
-            ((uint64_t*)dpage)[i] = pte;                      
-        
-    } 
-    
-    return; 
-}
-
-
-
-static unsigned long *xc_map_m2p(int xc_handle, 
-                                 unsigned long max_mfn, 
-                                 int prot) 
-{ 
+            ((uint64_t*)dpage)[i] = pte;
+
+    }
+
+    return;
+}
+
+
+
+static unsigned long *xc_map_m2p(int xc_handle,
+                                 unsigned long max_mfn,
+                                 int prot)
+{
     struct xen_machphys_mfn_list xmml;
-    privcmd_mmap_t ioctlx; 
-    privcmd_mmap_entry_t *entries; 
-    unsigned long m2p_chunks, m2p_size; 
-    unsigned long *m2p; 
-    int i, rc; 
-
-    m2p_size   = M2P_SIZE(max_mfn); 
-    m2p_chunks = M2P_CHUNKS(max_mfn); 
+    privcmd_mmap_t ioctlx;
+    privcmd_mmap_entry_t *entries;
+    unsigned long m2p_chunks, m2p_size;
+    unsigned long *m2p;
+    int i, rc;
+
+    m2p_size   = M2P_SIZE(max_mfn);
+    m2p_chunks = M2P_CHUNKS(max_mfn);
 
     xmml.max_extents = m2p_chunks;
-    if (!(xmml.extent_start = malloc(m2p_chunks * sizeof(unsigned long)))) { 
-        ERR("failed to allocate space for m2p mfns"); 
-        return NULL; 
-    } 
+    if (!(xmml.extent_start = malloc(m2p_chunks * sizeof(unsigned long)))) {
+        ERR("failed to allocate space for m2p mfns");
+        return NULL;
+    }
 
     if (xc_memory_op(xc_handle, XENMEM_machphys_mfn_list, &xmml) ||
         (xmml.nr_extents != m2p_chunks)) {
-        ERR("xc_get_m2p_mfns"); 
+        ERR("xc_get_m2p_mfns");
         return NULL;
     }
 
-    if ((m2p = mmap(NULL, m2p_size, prot, 
+    if ((m2p = mmap(NULL, m2p_size, prot,
                     MAP_SHARED, xc_handle, 0)) == MAP_FAILED) {
-        ERR("failed to mmap m2p"); 
-        return NULL; 
-    } 
-
-    if (!(entries = malloc(m2p_chunks * sizeof(privcmd_mmap_entry_t)))) { 
-        ERR("failed to allocate space for mmap entries"); 
-        return NULL; 
-    } 
+        ERR("failed to mmap m2p");
+        return NULL;
+    }
+
+    if (!(entries = malloc(m2p_chunks * sizeof(privcmd_mmap_entry_t)))) {
+        ERR("failed to allocate space for mmap entries");
+        return NULL;
+    }
 
     ioctlx.num   = m2p_chunks;
-    ioctlx.dom   = DOMID_XEN; 
-    ioctlx.entry = entries; 
-    
-    for (i=0; i < m2p_chunks; i++) { 
-        entries[i].va = (unsigned long)(((void *)m2p) + (i * M2P_CHUNK_SIZE)); 
+    ioctlx.dom   = DOMID_XEN;
+    ioctlx.entry = entries;
+
+    for (i=0; i < m2p_chunks; i++) {
+        entries[i].va = (unsigned long)(((void *)m2p) + (i * M2P_CHUNK_SIZE));
         entries[i].mfn = xmml.extent_start[i];
         entries[i].npages = M2P_CHUNK_SIZE >> PAGE_SHIFT;
     }
 
     if ((rc = ioctl(xc_handle, IOCTL_PRIVCMD_MMAP, &ioctlx)) < 0) {
-        ERR("ioctl_mmap failed (rc = %d)", rc); 
-        return NULL; 
+        ERR("ioctl_mmap failed (rc = %d)", rc);
+        return NULL;
     }
 
     free(xmml.extent_start);
-    free(entries); 
-
-    return m2p; 
-}
-
-
-
-int xc_linux_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters, 
+    free(entries);
+
+    return m2p;
+}
+
+
+
+int xc_linux_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters,
                   uint32_t max_factor, uint32_t flags, int (*suspend)(int))
 {
     xc_dominfo_t info;
 
     int rc = 1, i, j, last_iter, iter = 0;
-    int live  = (flags & XCFLAGS_LIVE); 
-    int debug = (flags & XCFLAGS_DEBUG); 
+    int live  = (flags & XCFLAGS_LIVE);
+    int debug = (flags & XCFLAGS_DEBUG);
     int sent_last_iter, skip_this_iter;
 
     /* The new domain's shared-info frame number. */
     unsigned long shared_info_frame;
-    
+
     /* A copy of the CPU context of the guest. */
     vcpu_guest_context_t ctxt;
 
@@ -581,7 +581,7 @@
     unsigned long *pfn_batch = NULL;
 
     /* A temporary mapping, and a copy, of one frame of guest memory. */
-    char page[PAGE_SIZE]; 
+    char page[PAGE_SIZE];
 
     /* Double and single indirect references to the live P2M table */
     unsigned long *live_p2m_frame_list_list = NULL;
@@ -597,14 +597,14 @@
     unsigned char *region_base = NULL;
 
     /* power of 2 order of max_pfn */
-    int order_nr; 
+    int order_nr;
 
     /* bitmap of pages:
-       - that should be sent this iteration (unless later marked as skip); 
+       - that should be sent this iteration (unless later marked as skip);
        - to skip this iteration because already dirty;
        - to fixup by sending at the end if not already resent; */
     unsigned long *to_send = NULL, *to_skip = NULL, *to_fix = NULL;
-    
+
     xc_shadow_control_stats_t stats;
 
     unsigned long needed_to_fix = 0;
@@ -612,29 +612,29 @@
 
 
     /* If no explicit control parameters given, use defaults */
-    if(!max_iters) 
-        max_iters = DEF_MAX_ITERS; 
-    if(!max_factor) 
-        max_factor = DEF_MAX_FACTOR; 
-    
-    initialize_mbit_rate(); 
-
-    if(!get_platform_info(xc_handle, dom, 
+    if(!max_iters)
+        max_iters = DEF_MAX_ITERS;
+    if(!max_factor)
+        max_factor = DEF_MAX_FACTOR;
+
+    initialize_mbit_rate();
+
+    if(!get_platform_info(xc_handle, dom,
                           &max_mfn, &hvirt_start, &pt_levels)) {
-        ERR("Unable to get platform info."); 
+        ERR("Unable to get platform info.");
         return 1;
     }
 
     if (xc_domain_getinfo(xc_handle, dom, 1, &info) != 1) {
         ERR("Could not get domain info");
-        return 1; 
+        return 1;
     }
 
     if (mlock(&ctxt, sizeof(ctxt))) {
         ERR("Unable to mlock ctxt");
         return 1;
     }
-    
+
     /* Only have to worry about vcpu 0 even for SMP */
     if (xc_vcpu_getcontext(xc_handle, dom, 0, &ctxt)) {
         ERR("Could not get vcpu context");
@@ -648,16 +648,16 @@
         ERR("Domain is not in a valid Linux guest OS state");
         goto out;
     }
-  
+
    /* cheesy sanity check */
     if ((info.max_memkb >> (PAGE_SHIFT - 10)) > max_mfn) {
-        ERR("Invalid state record -- pfn count out of range: %lu", 
-            (info.max_memkb >> (PAGE_SHIFT - 10))); 
+        ERR("Invalid state record -- pfn count out of range: %lu",
+            (info.max_memkb >> (PAGE_SHIFT - 10)));
         goto out;
      }
- 
+
     /* Map the shared info frame */
-    if(!(live_shinfo = xc_map_foreign_range(xc_handle, dom, PAGE_SIZE, 
+    if(!(live_shinfo = xc_map_foreign_range(xc_handle, dom, PAGE_SIZE,
                                             PROT_READ, shared_info_frame))) {
         ERR("Couldn't map live_shinfo");
         goto out;
@@ -665,8 +665,8 @@
 
     max_pfn = live_shinfo->arch.max_pfn;
 
-    live_p2m_frame_list_list = 
-        xc_map_foreign_range(xc_handle, dom, PAGE_SIZE, PROT_READ, 
+    live_p2m_frame_list_list =
+        xc_map_foreign_range(xc_handle, dom, PAGE_SIZE, PROT_READ,
                              live_shinfo->arch.pfn_to_mfn_frame_list_list);
 
     if (!live_p2m_frame_list_list) {
@@ -674,24 +674,24 @@
         goto out;
     }
 
-    live_p2m_frame_list = 
+    live_p2m_frame_list =
         xc_map_foreign_batch(xc_handle, dom, PROT_READ,
                              live_p2m_frame_list_list,
-                             P2M_FLL_ENTRIES); 
-    
+                             P2M_FLL_ENTRIES);
+
     if (!live_p2m_frame_list) {
         ERR("Couldn't map p2m_frame_list");
         goto out;
     }
 
-    /* Map all the frames of the pfn->mfn table. For migrate to succeed, 
-       the guest must not change which frames are used for this purpose. 
+    /* Map all the frames of the pfn->mfn table. For migrate to succeed,
+       the guest must not change which frames are used for this purpose.
        (its not clear why it would want to change them, and we'll be OK
        from a safety POV anyhow. */
 
     live_p2m = xc_map_foreign_batch(xc_handle, dom, PROT_READ,
                                     live_p2m_frame_list,
-                                    P2M_FL_ENTRIES); 
+                                    P2M_FL_ENTRIES);
 
     if (!live_p2m) {
         ERR("Couldn't map p2m table");
@@ -699,25 +699,25 @@
     }
 
     /* Setup the mfn_to_pfn table mapping */
-    if(!(live_m2p = xc_map_m2p(xc_handle, max_mfn, PROT_READ))) { 
-        ERR("Failed to map live M2P table"); 
-        goto out; 
-    } 
-
-    
+    if(!(live_m2p = xc_map_m2p(xc_handle, max_mfn, PROT_READ))) {
+        ERR("Failed to map live M2P table");
+        goto out;
+    }
+
+
     /* Get a local copy of the live_P2M_frame_list */
-    if(!(p2m_frame_list = malloc(P2M_FL_SIZE))) { 
+    if(!(p2m_frame_list = malloc(P2M_FL_SIZE))) {
         ERR("Couldn't allocate p2m_frame_list array");
         goto out;
     }
-    memcpy(p2m_frame_list, live_p2m_frame_list, P2M_FL_SIZE); 
+    memcpy(p2m_frame_list, live_p2m_frame_list, P2M_FL_SIZE);
 
     /* Canonicalise the pfn-to-mfn table frame-number list. */
     for (i = 0; i < max_pfn; i += ulpp) {
-        if (!translate_mfn_to_pfn(&p2m_frame_list[i/ulpp])) { 
+        if (!translate_mfn_to_pfn(&p2m_frame_list[i/ulpp])) {
             ERR("Frame# in pfn-to-mfn frame list is not in pseudophys");
-            ERR("entry %d: p2m_frame_list[%ld] is 0x%lx", i, i/ulpp, 
-                p2m_frame_list[i/ulpp]); 
+            ERR("entry %d: p2m_frame_list[%ld] is 0x%lx", i, i/ulpp,
+                p2m_frame_list[i/ulpp]);
             goto out;
         }
     }
@@ -725,31 +725,31 @@
     /* Domain is still running at this point */
     if (live) {
 
-        if (xc_shadow_control(xc_handle, dom, 
+        if (xc_shadow_control(xc_handle, dom,
                               DOM0_SHADOW_CONTROL_OP_ENABLE_LOGDIRTY,
-                              NULL, 0, NULL ) < 0) { 
+                              NULL, 0, NULL ) < 0) {
             ERR("Couldn't enable shadow mode");
             goto out;
         }
-        
+
         last_iter = 0;
-        
+
     } else {
-        
+
         /* This is a non-live suspend. Issue the call back to get the
            domain suspended */
-        
+
         last_iter = 1;
-        
+
         if (suspend_and_state(suspend, xc_handle, io_fd, dom, &info, &ctxt)) {
             ERR("Domain appears not to have suspended");
             goto out;
         }
-        
+
     }
 
     /* pretend we sent all the pages last iteration */
-    sent_last_iter = max_pfn; 
+    sent_last_iter = max_pfn;
 
 
     /* calculate the power of 2 order of max_pfn, e.g.
@@ -758,15 +758,15 @@
         continue;
 
     /* Setup to_send / to_fix and to_skip bitmaps */
-    to_send = malloc(BITMAP_SIZE); 
-    to_fix  = calloc(1, BITMAP_SIZE); 
-    to_skip = malloc(BITMAP_SIZE); 
-    
+    to_send = malloc(BITMAP_SIZE);
+    to_fix  = calloc(1, BITMAP_SIZE);
+    to_skip = malloc(BITMAP_SIZE);
+
     if (!to_send || !to_fix || !to_skip) {
         ERR("Couldn't allocate to_send array");
         goto out;
     }
-    
+
     memset(to_send, 0xff, BITMAP_SIZE);
 
     if (mlock(to_send, BITMAP_SIZE)) {
@@ -779,7 +779,7 @@
         ERR("Unable to mlock to_skip");
         return 1;
     }
-        
+
     analysis_phase(xc_handle, dom, max_pfn, to_skip, 0);
 
     /* We want zeroed memory so use calloc rather than malloc. */
@@ -787,7 +787,7 @@
     pfn_batch = calloc(MAX_BATCH_SIZE, sizeof(unsigned long));
 
     if ((pfn_type == NULL) || (pfn_batch == NULL)) {
-        ERR("failed to alloc memory for pfn_type and/or pfn_batch arrays"); 
+        ERR("failed to alloc memory for pfn_type and/or pfn_batch arrays");
         errno = ENOMEM;
         goto out;
     }
@@ -803,12 +803,12 @@
      */
     {
         int err=0;
-        unsigned long mfn; 
+        unsigned long mfn;
         for (i = 0; i < max_pfn; i++) {
 
             mfn = live_p2m[i];
-            if((mfn != INVALID_P2M_ENTRY) && (mfn_to_pfn(mfn) != i)) { 
-                DPRINTF("i=0x%x mfn=%lx live_m2p=%lx\n", i, 
+            if((mfn != INVALID_P2M_ENTRY) && (mfn_to_pfn(mfn) != i)) {
+                DPRINTF("i=0x%x mfn=%lx live_m2p=%lx\n", i,
                         mfn, mfn_to_pfn(mfn));
                 err++;
             }
@@ -819,16 +819,16 @@
 
     /* Start writing out the saved-domain record. */
 
-    if(!write_exact(io_fd, &max_pfn, sizeof(unsigned long))) { 
+    if(!write_exact(io_fd, &max_pfn, sizeof(unsigned long))) {
         ERR("write: max_pfn");
         goto out;
     }
 
-    if(!write_exact(io_fd, p2m_frame_list, P2M_FL_SIZE)) { 
+    if(!write_exact(io_fd, p2m_frame_list, P2M_FL_SIZE)) {
         ERR("write: p2m_frame_list");
         goto out;
     }
-    
+
     print_stats(xc_handle, dom, 0, &stats, 0);
 
     /* Now write out each data page, canonicalising page tables as we go... */
@@ -853,8 +853,8 @@
                 DPRINTF("\b\b\b\b%3d%%", this_pc);
                 prev_pc = this_pc;
             }
-            
-            /* slightly wasteful to peek the whole array evey time, 
+
+            /* slightly wasteful to peek the whole array evey time,
                but this is fast enough for the moment. */
             if (!last_iter && xc_shadow_control(
                     xc_handle, dom, DOM0_SHADOW_CONTROL_OP_PEEK,
@@ -862,7 +862,7 @@
                 ERR("Error peeking shadow bitmap");
                 goto out;
             }
-     
+
 
             /* load pfn_type[] with the mfn of all the pages we're doing in
                this batch. */
@@ -873,11 +873,11 @@
                 if (debug) {
                     DPRINTF("%d pfn= %08lx mfn= %08lx %d  [mfn]= %08lx\n",
                             iter, (unsigned long)n, live_p2m[n],
-                            test_bit(n, to_send), 
+                            test_bit(n, to_send),
                             mfn_to_pfn(live_p2m[n]&0xFFFFF));
                 }
-                
-                if (!last_iter && test_bit(n, to_send)&& test_bit(n, to_skip)) 
+
+                if (!last_iter && test_bit(n, to_send)&& test_bit(n, to_skip))
                     skip_this_iter++; /* stats keeping */
 
                 if (!((test_bit(n, to_send) && !test_bit(n, to_skip)) ||
@@ -885,13 +885,13 @@
                       (test_bit(n, to_fix)  && last_iter)))
                     continue;
 
-                /* 
+                /*
                 ** we get here if:
                 **  1. page is marked to_send & hasn't already been re-dirtied
                 **  2. (ignore to_skip in last iteration)
                 **  3. add in pages that still need fixup (net bufs)
                 */
-  
+
                 pfn_batch[batch] = n;
                 pfn_type[batch]  = live_p2m[n];
 
@@ -914,80 +914,80 @@
                             iter,n,pfn_type[batch]);
                 }
 
-                clear_bit(n, to_fix); 
-                
+                clear_bit(n, to_fix);
+
                 batch++;
             }
-     
+
             if (batch == 0)
                 goto skip; /* vanishingly unlikely... */
-      
+
             if ((region_base = xc_map_foreign_batch(
-                     xc_handle, dom, PROT_READ, pfn_type, batch)) == 0) { 
+                     xc_handle, dom, PROT_READ, pfn_type, batch)) == 0) {
                 ERR("map batch failed");
                 goto out;
             }
-     
+
             if (xc_get_pfn_type_batch(xc_handle, dom, batch, pfn_type)) {
                 ERR("get_pfn_type_batch failed");
                 goto out;
             }
-     
+
             for (j = 0; j < batch; j++) {
 
                 if ((pfn_type[j] & LTAB_MASK) == XTAB) {
                     DPRINTF("type fail: page %i mfn %08lx\n", j, pfn_type[j]);
                     continue;
                 }
-  
-                if (debug) 
+
+                if (debug)
                     fprintf(stderr, "%d pfn= %08lx mfn= %08lx [mfn]= %08lx"
                             " sum= %08lx\n",
-                            iter, 
+                            iter,
                             (pfn_type[j] & LTAB_MASK) | pfn_batch[j],
                             pfn_type[j],
                             mfn_to_pfn(pfn_type[j]&(~LTAB_MASK)),
                             csum_page(region_base + (PAGE_SIZE*j)));
-                
+
                 /* canonicalise mfn->pfn */
                 pfn_type[j] = (pfn_type[j] & LTAB_MASK) | pfn_batch[j];
             }
 
-            if(!write_exact(io_fd, &batch, sizeof(unsigned int))) { 
+            if(!write_exact(io_fd, &batch, sizeof(unsigned int))) {
                 ERR("Error when writing to state file (2)");
                 goto out;
             }
 
-            if(!write_exact(io_fd, pfn_type, sizeof(unsigned long)*j)) { 
+            if(!write_exact(io_fd, pfn_type, sizeof(unsigned long)*j)) {
                 ERR("Error when writing to state file (3)");
                 goto out;
             }
-            
+
             /* entering this loop, pfn_type is now in pfns (Not mfns) */
             for (j = 0; j < batch; j++) {
-                
-                unsigned long pfn      = pfn_type[j] & ~LTAB_MASK; 
-                unsigned long pagetype = pfn_type[j] & LTAB_MASK; 
-                void *spage            = (void *) region_base + (PAGE_SIZE*j); 
+
+                unsigned long pfn      = pfn_type[j] & ~LTAB_MASK;
+                unsigned long pagetype = pfn_type[j] & LTAB_MASK;
+                void *spage            = (void *) region_base + (PAGE_SIZE*j);
 
 
                 /* write out pages in batch */
                 if (pagetype == XTAB)
                     continue;
 
-                pagetype &= LTABTYPE_MASK; 
-                
+                pagetype &= LTABTYPE_MASK;
+
                 if (pagetype >= L1TAB && pagetype <= L4TAB) {
-                    
+
                     /* We have a pagetable page: need to rewrite it. */
-                    canonicalize_pagetable(pagetype, pfn, spage, page); 
-                    
+                    canonicalize_pagetable(pagetype, pfn, spage, page);
+
                     if (ratewrite(io_fd, page, PAGE_SIZE) != PAGE_SIZE) {
                         ERR("Error when writing to state file (4)");
                         goto out;
                     }
-                    
-                }  else {  
+
+                }  else {
 
                     /* We have a normal page: just write it directly. */
                     if (ratewrite(io_fd, spage, PAGE_SIZE) != PAGE_SIZE) {
@@ -996,36 +996,36 @@
                     }
                 }
             } /* end of the write out for this batch */
-            
+
             sent_this_iter += batch;
 
             munmap(region_base, batch*PAGE_SIZE);
-        
+
         } /* end of this while loop for this iteration */
-        
-      skip: 
-        
+
+      skip:
+
         total_sent += sent_this_iter;
 
-        DPRINTF("\r %d: sent %d, skipped %d, ", 
+        DPRINTF("\r %d: sent %d, skipped %d, ",
                 iter, sent_this_iter, skip_this_iter );
 
         if (last_iter) {
             print_stats( xc_handle, dom, sent_this_iter, &stats, 1);
 
-            DPRINTF("Total pages sent= %ld (%.2fx)\n", 
+            DPRINTF("Total pages sent= %ld (%.2fx)\n",
                     total_sent, ((float)total_sent)/max_pfn );
             DPRINTF("(of which %ld were fixups)\n", needed_to_fix  );
-        }       
+        }
 
         if (last_iter && debug){
             int minusone = -1;
-            memset(to_send, 0xff, BITMAP_SIZE); 
+            memset(to_send, 0xff, BITMAP_SIZE);
             debug = 0;
             fprintf(stderr, "Entering debug resend-all mode\n");
-    
+
             /* send "-1" to put receiver into debug mode */
-            if(!write_exact(io_fd, &minusone, sizeof(int))) { 
+            if(!write_exact(io_fd, &minusone, sizeof(int))) {
                 ERR("Error when writing to state file (6)");
                 goto out;
             }
@@ -1033,34 +1033,34 @@
             continue;
         }
 
-        if (last_iter) break; 
+        if (last_iter) break;
 
         if (live) {
 
 
-            if( 
+            if(
                 ((sent_this_iter > sent_last_iter) && RATE_IS_MAX()) ||
                 (iter >= max_iters) ||
                 (sent_this_iter+skip_this_iter < 50) ||
-                (total_sent > max_pfn*max_factor) ) { 
+                (total_sent > max_pfn*max_factor) ) {
 
                 DPRINTF("Start last iteration\n");
                 last_iter = 1;
-                
+
                 if (suspend_and_state(suspend, xc_handle, io_fd, dom, &info,
                                       &ctxt)) {
                     ERR("Domain appears not to have suspended");
                     goto out;
                 }
-                
-                DPRINTF("SUSPEND shinfo %08lx eip %08lx edx %08lx\n", 
-                        info.shared_info_frame, 
-                        (unsigned long)ctxt.user_regs.eip, 
+
+                DPRINTF("SUSPEND shinfo %08lx eip %08lx edx %08lx\n",
+                        info.shared_info_frame,
+                        (unsigned long)ctxt.user_regs.eip,
                         (unsigned long)ctxt.user_regs.edx);
-            } 
-            
+            }
+
             if (xc_shadow_control(xc_handle, dom, DOM0_SHADOW_CONTROL_OP_CLEAN,
-                                  to_send, max_pfn, &stats ) != max_pfn) {  
+                                  to_send, max_pfn, &stats ) != max_pfn) {
                 ERR("Error flushing shadow PT");
                 goto out;
             }
@@ -1068,7 +1068,7 @@
             sent_last_iter = sent_this_iter;
 
             print_stats(xc_handle, dom, sent_this_iter, &stats, 1);
-     
+
         }
 
 
@@ -1077,8 +1077,8 @@
     DPRINTF("All memory is saved\n");
 
     /* Zero terminate */
-    i = 0; 
-    if (!write_exact(io_fd, &i, sizeof(int))) { 
+    i = 0;
+    if (!write_exact(io_fd, &i, sizeof(int))) {
         ERR("Error when writing to state file (6)");
         goto out;
     }
@@ -1086,18 +1086,18 @@
     /* Send through a list of all the PFNs that were not in map at the close */
     {
         unsigned int i,j;
-        unsigned long pfntab[1024]; 
+        unsigned long pfntab[1024];
 
         for (i = 0, j = 0; i < max_pfn; i++) {
             if (!is_mapped(live_p2m[i]))
                 j++;
         }
-        
-        if(!write_exact(io_fd, &j, sizeof(unsigned int))) { 
+
+        if(!write_exact(io_fd, &j, sizeof(unsigned int))) {
             ERR("Error when writing to state file (6a)");
             goto out;
-        }      
-        
+        }
+
         for (i = 0, j = 0; i < max_pfn; ) {
 
             if (!is_mapped(live_p2m[i]))
@@ -1105,16 +1105,16 @@
 
             i++;
             if (j == 1024 || i == max_pfn) {
-                if(!write_exact(io_fd, &pfntab, sizeof(unsigned long)*j)) { 
+                if(!write_exact(io_fd, &pfntab, sizeof(unsigned long)*j)) {
                     ERR("Error when writing to state file (6b)");
                     goto out;
-                } 
+                }
                 j = 0;
             }
         }
 
     }
-    
+
     /* Canonicalise the suspend-record frame number. */
     if ( !translate_mfn_to_pfn(&ctxt.user_regs.edx) ){
         ERR("Suspend record is not in range of pseudophys map");
@@ -1138,7 +1138,7 @@
         PAGE_SHIFT;
 
     if (!write_exact(io_fd, &ctxt, sizeof(ctxt)) ||
-        !write_exact(io_fd, live_shinfo, PAGE_SIZE)) { 
+        !write_exact(io_fd, live_shinfo, PAGE_SIZE)) {
         ERR("Error when writing to state file (1)");
         goto out;
     }
@@ -1149,26 +1149,26 @@
  out:
 
     if (live) {
-        if(xc_shadow_control(xc_handle, dom, DOM0_SHADOW_CONTROL_OP_OFF, 
-                             NULL, 0, NULL ) < 0) { 
+        if(xc_shadow_control(xc_handle, dom, DOM0_SHADOW_CONTROL_OP_OFF,
+                             NULL, 0, NULL ) < 0) {
             DPRINTF("Warning - couldn't disable shadow mode");
         }
     }
-    
+
     if (live_shinfo)
         munmap(live_shinfo, PAGE_SIZE);
-    
-    if (live_p2m_frame_list_list) 
-        munmap(live_p2m_frame_list_list, PAGE_SIZE); 
-
-    if (live_p2m_frame_list) 
-        munmap(live_p2m_frame_list, P2M_FLL_ENTRIES * PAGE_SIZE); 
-
-    if(live_p2m) 
-        munmap(live_p2m, P2M_SIZE); 
-
-    if(live_m2p) 
-        munmap(live_m2p, M2P_SIZE(max_mfn)); 
+
+    if (live_p2m_frame_list_list)
+        munmap(live_p2m_frame_list_list, PAGE_SIZE);
+
+    if (live_p2m_frame_list)
+        munmap(live_p2m_frame_list, P2M_FLL_ENTRIES * PAGE_SIZE);
+
+    if(live_p2m)
+        munmap(live_p2m, P2M_SIZE);
+
+    if(live_m2p)
+        munmap(live_m2p, M2P_SIZE(max_mfn));
 
     free(pfn_type);
     free(pfn_batch);
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_load_aout9.c
--- a/tools/libxc/xc_load_aout9.c       Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_load_aout9.c       Sat Apr 15 09:07:31 2006
@@ -22,7 +22,7 @@
 struct Exec *get_header(const char *, unsigned long, struct Exec *);
 
 
-int 
+int
 probe_aout9(
     const char *image,
     unsigned long image_size,
@@ -40,7 +40,7 @@
     return 0;
 }
 
-static int 
+static int
 parseaout9image(
     const char *image,
     unsigned long image_size,
@@ -74,7 +74,7 @@
     return 0;
 }
 
-static int 
+static int
 loadaout9image(
     const char *image,
     unsigned long image_size,
@@ -123,7 +123,7 @@
         if(chunksz > PAGE_SIZE - pgoff)
             chunksz = PAGE_SIZE - pgoff;
 
-        pg = xc_map_foreign_range(xch, dom, PAGE_SIZE, PROT_WRITE, 
+        pg = xc_map_foreign_range(xch, dom, PAGE_SIZE, PROT_WRITE,
                                   parray[off>>PAGE_SHIFT]);
         memcpy(pg + pgoff, buf, chunksz);
         munmap(pg, PAGE_SIZE);
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_load_bin.c
--- a/tools/libxc/xc_load_bin.c Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_load_bin.c Sat Apr 15 09:07:31 2006
@@ -161,7 +161,7 @@
     return NULL;
 }
 
-static int parsebinimage(const char *image, 
+static int parsebinimage(const char *image,
                          unsigned long image_size,
                          struct domain_setup_info *dsi)
 {
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_load_elf.c
--- a/tools/libxc/xc_load_elf.c Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_load_elf.c Sat Apr 15 09:07:31 2006
@@ -51,7 +51,7 @@
             ((phdr->p_flags & (PF_W|PF_X)) != 0));
 }
 
-static int parseelfimage(const char *image, 
+static int parseelfimage(const char *image,
                          unsigned long elfsize,
                          struct domain_setup_info *dsi)
 {
@@ -102,10 +102,10 @@
         ERROR("ELF image has no section-header strings table (shstrtab).");
         return -EINVAL;
     }
-    shdr = (Elf_Shdr *)(image + ehdr->e_shoff + 
+    shdr = (Elf_Shdr *)(image + ehdr->e_shoff +
                         (ehdr->e_shstrndx*ehdr->e_shentsize));
     shstrtab = image + shdr->sh_offset;
-    
+
     /* Find the special '__xen_guest' section and check its contents. */
     for ( h = 0; h < ehdr->e_shnum; h++ )
     {
@@ -148,7 +148,7 @@
 
     dsi->xen_guest_string = guestinfo;
 
-    for ( h = 0; h < ehdr->e_phnum; h++ ) 
+    for ( h = 0; h < ehdr->e_phnum; h++ )
     {
         phdr = (Elf_Phdr *)(image + ehdr->e_phoff + (h*ehdr->e_phentsize));
         if ( !is_loadable_phdr(phdr) )
@@ -159,8 +159,8 @@
             kernend = phdr->p_paddr + phdr->p_memsz;
     }
 
-    if ( (kernstart > kernend) || 
-         (ehdr->e_entry < kernstart) || 
+    if ( (kernstart > kernend) ||
+         (ehdr->e_entry < kernstart) ||
          (ehdr->e_entry > kernend) )
     {
         ERROR("Malformed ELF image.");
@@ -196,12 +196,12 @@
     char         *va;
     unsigned long pa, done, chunksz;
 
-    for ( h = 0; h < ehdr->e_phnum; h++ ) 
+    for ( h = 0; h < ehdr->e_phnum; h++ )
     {
         phdr = (Elf_Phdr *)(image + ehdr->e_phoff + (h*ehdr->e_phentsize));
         if ( !is_loadable_phdr(phdr) )
             continue;
-        
+
         for ( done = 0; done < phdr->p_filesz; done += chunksz )
         {
             pa = (phdr->p_paddr + done) - dsi->v_start;
@@ -265,7 +265,7 @@
     shdr = (Elf_Shdr *)(p + sizeof(int) + sizeof(Elf_Ehdr));
     memcpy(shdr, image + ehdr->e_shoff, ehdr->e_shnum * sizeof(Elf_Shdr));
 
-    for ( h = 0; h < ehdr->e_shnum; h++ ) 
+    for ( h = 0; h < ehdr->e_shnum; h++ )
     {
         if ( shdr[h].sh_type == SHT_STRTAB )
         {
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_misc.c
--- a/tools/libxc/xc_misc.c     Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_misc.c     Sat Apr 15 09:07:31 2006
@@ -1,6 +1,6 @@
 /******************************************************************************
  * xc_misc.c
- * 
+ *
  * Miscellaneous control interface functions.
  */
 
@@ -21,7 +21,7 @@
 
 int xc_readconsolering(int xc_handle,
                        char **pbuffer,
-                       unsigned int *pnr_chars, 
+                       unsigned int *pnr_chars,
                        int clear)
 {
     int ret;
@@ -46,14 +46,14 @@
     safe_munlock(buffer, nr_chars);
 
     return ret;
-}    
+}
 
 int xc_physinfo(int xc_handle,
                 xc_physinfo_t *put_info)
 {
     int ret;
     DECLARE_DOM0_OP;
-    
+
     op.cmd = DOM0_PHYSINFO;
     op.interface_version = DOM0_INTERFACE_VERSION;
 
@@ -70,15 +70,15 @@
 {
     int ret;
     DECLARE_DOM0_OP;
-    
+
     op.cmd = DOM0_SCHED_ID;
     op.interface_version = DOM0_INTERFACE_VERSION;
-    
+
     if ( (ret = do_dom0_op(xc_handle, &op)) != 0 )
         return ret;
-    
+
     *sched_id = op.u.sched_id.sched_id;
-    
+
     return 0;
 }
 
@@ -100,9 +100,9 @@
 
 long long xc_msr_read(int xc_handle, int cpu_mask, int msr)
 {
-    int rc;    
+    int rc;
     DECLARE_DOM0_OP;
-    
+
     op.cmd = DOM0_MSR;
     op.u.msr.write = 0;
     op.u.msr.msr = msr;
@@ -116,9 +116,9 @@
 int xc_msr_write(int xc_handle, int cpu_mask, int msr, unsigned int low,
                   unsigned int high)
 {
-    int rc;    
+    int rc;
     DECLARE_DOM0_OP;
-    
+
     op.cmd = DOM0_MSR;
     op.u.msr.write = 1;
     op.u.msr.msr = msr;
@@ -127,7 +127,7 @@
     op.u.msr.in2 = high;
 
     rc = do_dom0_op(xc_handle, &op);
-    
+
     return rc;
 }
 
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_physdev.c
--- a/tools/libxc/xc_physdev.c  Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_physdev.c  Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_physdev.c
- * 
+ *
  * API for manipulating physical-device access permissions.
- * 
+ *
  * Copyright (c) 2004, Rolf Neugebauer (Intel Research Cambridge)
  * Copyright (c) 2004, K A Fraser (University of Cambridge)
  */
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c  Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_private.c  Sat Apr 15 09:07:31 2006
@@ -1,6 +1,6 @@
 /******************************************************************************
  * xc_private.c
- * 
+ *
  * Helper functions for the rest of the library.
  */
 
@@ -10,7 +10,7 @@
 void *xc_map_foreign_batch(int xc_handle, uint32_t dom, int prot,
                            unsigned long *arr, int num )
 {
-    privcmd_mmapbatch_t ioctlx; 
+    privcmd_mmapbatch_t ioctlx;
     void *addr;
     addr = mmap(NULL, num*PAGE_SIZE, prot, MAP_SHARED, xc_handle, 0);
     if ( addr == MAP_FAILED )
@@ -38,8 +38,8 @@
                            int size, int prot,
                            unsigned long mfn )
 {
-    privcmd_mmap_t ioctlx; 
-    privcmd_mmap_entry_t entry; 
+    privcmd_mmap_t ioctlx;
+    privcmd_mmap_entry_t entry;
     void *addr;
     addr = mmap(NULL, size, prot, MAP_SHARED, xc_handle, 0);
     if ( addr == MAP_FAILED )
@@ -64,7 +64,7 @@
 /*******************/
 
 /* NB: arr must be mlock'ed */
-int xc_get_pfn_type_batch(int xc_handle, 
+int xc_get_pfn_type_batch(int xc_handle,
                           uint32_t dom, int num, unsigned long *arr)
 {
     DECLARE_DOM0_OP;
@@ -76,8 +76,8 @@
 }
 
 #define GETPFN_ERR (~0U)
-unsigned int get_pfn_type(int xc_handle, 
-                          unsigned long mfn, 
+unsigned int get_pfn_type(int xc_handle,
+                          unsigned long mfn,
                           uint32_t dom)
 {
     DECLARE_DOM0_OP;
@@ -119,7 +119,7 @@
 
  out1:
     return ret;
-}    
+}
 
 static int flush_mmu_updates(int xc_handle, xc_mmu_t *mmu)
 {
@@ -166,7 +166,7 @@
     return mmu;
 }
 
-int xc_add_mmu_update(int xc_handle, xc_mmu_t *mmu, 
+int xc_add_mmu_update(int xc_handle, xc_mmu_t *mmu,
                       unsigned long long ptr, unsigned long long val)
 {
     mmu->updates[mmu->idx].ptr = ptr;
@@ -288,7 +288,7 @@
 
  out1:
     return ret;
-}    
+}
 
 
 long long xc_domain_get_cpu_usage( int xc_handle, domid_t domid, int vcpu )
@@ -308,8 +308,8 @@
 
 
 int xc_get_pfn_list(int xc_handle,
-                    uint32_t domid, 
-                    unsigned long *pfn_buf, 
+                    uint32_t domid,
+                    unsigned long *pfn_buf,
                     unsigned long max_pfns)
 {
     DECLARE_DOM0_OP;
@@ -327,7 +327,7 @@
     {
         PERROR("xc_get_pfn_list: pfn_buf mlock failed");
         return -1;
-    }    
+    }
 
     ret = do_dom0_op(xc_handle, &op);
 
@@ -356,13 +356,13 @@
     DECLARE_DOM0_OP;
     op.cmd = DOM0_GETDOMAININFO;
     op.u.getdomaininfo.domain = (domid_t)domid;
-    return (do_dom0_op(xc_handle, &op) < 0) ? 
+    return (do_dom0_op(xc_handle, &op) < 0) ?
         -1 : op.u.getdomaininfo.tot_pages;
 }
 
 int xc_copy_to_domain_page(int xc_handle,
                            uint32_t domid,
-                           unsigned long dst_pfn, 
+                           unsigned long dst_pfn,
                            const char *src_page)
 {
     void *vaddr = xc_map_foreign_range(
@@ -481,7 +481,7 @@
 {
     unsigned long new_mfn;
 
-    if ( xc_domain_memory_decrease_reservation( 
+    if ( xc_domain_memory_decrease_reservation(
         xc_handle, domid, 1, 0, &mfn) != 0 )
     {
         fprintf(stderr,"xc_make_page_below_4G decrease failed. mfn=%lx\n",mfn);
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_private.h
--- a/tools/libxc/xc_private.h  Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_private.h  Sat Apr 15 09:07:31 2006
@@ -57,7 +57,7 @@
 }
 
 static inline int do_privcmd(int xc_handle,
-                             unsigned int cmd, 
+                             unsigned int cmd,
                              unsigned long data)
 {
     return ioctl(xc_handle, cmd, data);
@@ -67,7 +67,7 @@
                                    privcmd_hypercall_t *hypercall)
 {
     return do_privcmd(xc_handle,
-                      IOCTL_PRIVCMD_HYPERCALL, 
+                      IOCTL_PRIVCMD_HYPERCALL,
                       (unsigned long)hypercall);
 }
 
@@ -78,7 +78,7 @@
     hypercall.op     = __HYPERVISOR_xen_version;
     hypercall.arg[0] = (unsigned long) cmd;
     hypercall.arg[1] = (unsigned long) dest;
-    
+
     return do_xen_hypercall(xc_handle, &hypercall);
 }
 
@@ -121,13 +121,13 @@
     unsigned long va;
     unsigned long mfn;
     unsigned long npages;
-} privcmd_mmap_entry_t; 
+} privcmd_mmap_entry_t;
 
 typedef struct privcmd_mmap {
     int num;
     domid_t dom;
     privcmd_mmap_entry_t *entry;
-} privcmd_mmap_t; 
+} privcmd_mmap_t;
 */
 
 #endif /* __XC_PRIVATE_H__ */
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_ptrace.c
--- a/tools/libxc/xc_ptrace.c   Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_ptrace.c   Sat Apr 15 09:07:31 2006
@@ -46,7 +46,7 @@
 static vcpu_guest_context_t     ctxt[MAX_VIRT_CPUS];
 
 extern int ffsll(long long int);
-#define FOREACH_CPU(cpumap, i)  for ( cpumap = online_cpumap; (i = 
ffsll(cpumap)); cpumap &= ~(1 << (index - 1)) ) 
+#define FOREACH_CPU(cpumap, i)  for ( cpumap = online_cpumap; (i = 
ffsll(cpumap)); cpumap &= ~(1 << (index - 1)) )
 
 
 static int
@@ -58,22 +58,22 @@
     if (online)
         *online = 0;
     if ( !(regs_valid & (1 << cpu)) )
-    { 
-        retval = xc_vcpu_getcontext(xc_handle, current_domid, 
-                                               cpu, &ctxt[cpu]);
-        if ( retval ) 
+    {
+        retval = xc_vcpu_getcontext(xc_handle, current_domid,
+                cpu, &ctxt[cpu]);
+        if ( retval )
             goto done;
-       regs_valid |= (1 << cpu);
-
-    }
-       if ( online == NULL )
-           goto done;
-
-       retval = xc_vcpu_getinfo(xc_handle, current_domid, cpu, &info);
-       *online = info.online;
-    
+        regs_valid |= (1 << cpu);
+
+    }
+    if ( online == NULL )
+        goto done;
+
+    retval = xc_vcpu_getinfo(xc_handle, current_domid, cpu, &info);
+    *online = info.online;
+
  done:
-    return retval;    
+    return retval;
 }
 
 static struct thr_ev_handlers {
@@ -81,8 +81,8 @@
     thr_ev_handler_t td_death;
 } handlers;
 
-void 
-xc_register_event_handler(thr_ev_handler_t h, 
+void
+xc_register_event_handler(thr_ev_handler_t h,
                           td_event_e e)
 {
     switch (e) {
@@ -97,7 +97,7 @@
     }
 }
 
-static inline int 
+static inline int
 paging_enabled(vcpu_guest_context_t *v)
 {
     unsigned long cr0 = v->ctrlreg[0];
@@ -114,19 +114,19 @@
 get_online_cpumap(int xc_handle, dom0_getdomaininfo_t *d, cpumap_t *cpumap)
 {
     int i, online, retval;
-    
+
     *cpumap = 0;
     for (i = 0; i <= d->max_vcpu_id; i++) {
         if ((retval = fetch_regs(xc_handle, i, &online)))
             return retval;
         if (online)
-            *cpumap |= (1 << i);            
-    }
-    
+            *cpumap |= (1 << i);
+    }
+
     return 0;
 }
 
-/* 
+/*
  * Notify GDB of any vcpus that have come online or gone offline
  * update online_cpumap
  *
@@ -137,7 +137,7 @@
 {
     cpumap_t changed_cpumap = cpumap ^ online_cpumap;
     int index;
-    
+
     while ( (index = ffsll(changed_cpumap)) ) {
         if ( cpumap & (1 << (index - 1)) )
         {
@@ -149,7 +149,7 @@
         changed_cpumap &= ~(1 << (index - 1));
     }
     online_cpumap = cpumap;
-    
+
 }
 
 /* --------------------- */
@@ -172,7 +172,7 @@
     static unsigned long  pde_phys[MAX_VIRT_CPUS];
     static uint32_t *pde_virt[MAX_VIRT_CPUS];
     static unsigned long  page_phys[MAX_VIRT_CPUS];
-    static uint32_t *page_virt[MAX_VIRT_CPUS];    
+    static uint32_t *page_virt[MAX_VIRT_CPUS];
     static int            prev_perm[MAX_VIRT_CPUS];
 
    if (ctxt[cpu].ctrlreg[3] == 0)
@@ -221,7 +221,7 @@
             return NULL;
         }
         prev_perm[cpu] = perm;
-    } 
+    }
 
     return (void *)(((unsigned long)page_virt[cpu]) | (va & BSD_PAGE_MASK));
 }
@@ -284,7 +284,7 @@
     if ((ctxt[cpu].ctrlreg[4] & 0x20) == 0 ) /* legacy ia32 mode */
         return map_domain_va_32(xc_handle, cpu, guest_va, perm);
 
-    l4 = xc_map_foreign_range( xc_handle, current_domid, PAGE_SIZE, 
+    l4 = xc_map_foreign_range( xc_handle, current_domid, PAGE_SIZE,
             PROT_READ, ctxt[cpu].ctrlreg[3] >> PAGE_SHIFT);
     if ( l4 == NULL )
         return NULL;
@@ -349,7 +349,7 @@
             mode = MODE_64;
         else if ( strstr(caps, "-x86_32p") )
             mode = MODE_PAE;
-        else if ( strstr(caps, "-x86_32") ) 
+        else if ( strstr(caps, "-x86_32") )
             mode = MODE_32;
     }
 
@@ -374,7 +374,7 @@
     if (fetch_regs(xc_handle, cpu, NULL))
         return NULL;
 
-    if (!paging_enabled(&ctxt[cpu])) { 
+    if (!paging_enabled(&ctxt[cpu])) {
         static void * v;
         unsigned long page;
 
@@ -383,9 +383,9 @@
 
         page = page_array[va >> PAGE_SHIFT] << PAGE_SHIFT;
 
-        v = xc_map_foreign_range( xc_handle, current_domid, PAGE_SIZE, 
+        v = xc_map_foreign_range( xc_handle, current_domid, PAGE_SIZE,
                 perm, page >> PAGE_SHIFT);
-    
+
         if ( v == NULL )
             return NULL;
 
@@ -403,7 +403,7 @@
 
 int control_c_pressed_flag = 0;
 
-static int 
+static int
 __xc_waitdomain(
     int xc_handle,
     int domain,
@@ -420,7 +420,7 @@
 
     op.cmd = DOM0_GETDOMAININFO;
     op.u.getdomaininfo.domain = domain;
-    
+
  retry:
     retval = do_dom0_op(xc_handle, &op);
     if ( retval || (op.u.getdomaininfo.domain != domain) )
@@ -429,7 +429,7 @@
         goto done;
     }
     *status = op.u.getdomaininfo.flags;
-    
+
     if ( options & WNOHANG )
         goto done;
 
@@ -472,16 +472,16 @@
     void           *data = (char *)edata;
 
     cpu = (request != PTRACE_ATTACH) ? domid_tid : 0;
-    
+
     switch ( request )
-    { 
+    {
     case PTRACE_PEEKTEXT:
     case PTRACE_PEEKDATA:
         if (current_isfile)
-            guest_va = (unsigned long *)map_domain_va_core(current_domid, 
+            guest_va = (unsigned long *)map_domain_va_core(current_domid,
                                 cpu, addr, ctxt);
         else
-            guest_va = (unsigned long *)map_domain_va(xc_handle, 
+            guest_va = (unsigned long *)map_domain_va(xc_handle,
                                 cpu, addr, PROT_READ);
         if ( guest_va == NULL )
             goto out_error;
@@ -492,26 +492,26 @@
     case PTRACE_POKEDATA:
         /* XXX assume that all CPUs have the same address space */
         if (current_isfile)
-            guest_va = (unsigned long *)map_domain_va_core(current_domid, 
+            guest_va = (unsigned long *)map_domain_va_core(current_domid,
                                 cpu, addr, ctxt);
         else
-            guest_va = (unsigned long *)map_domain_va(xc_handle, 
+            guest_va = (unsigned long *)map_domain_va(xc_handle,
                                 cpu, addr, PROT_READ|PROT_WRITE);
-        if ( guest_va == NULL ) 
+        if ( guest_va == NULL )
             goto out_error;
         *guest_va = (unsigned long)data;
         break;
 
     case PTRACE_GETREGS:
-        if (!current_isfile && fetch_regs(xc_handle, cpu, NULL)) 
+        if (!current_isfile && fetch_regs(xc_handle, cpu, NULL))
             goto out_error;
-        SET_PT_REGS(pt, ctxt[cpu].user_regs); 
+        SET_PT_REGS(pt, ctxt[cpu].user_regs);
         memcpy(data, &pt, sizeof(struct gdb_regs));
         break;
 
     case PTRACE_GETFPREGS:
     case PTRACE_GETFPXREGS:
-        if (!current_isfile && fetch_regs(xc_handle, cpu, NULL)) 
+        if (!current_isfile && fetch_regs(xc_handle, cpu, NULL))
                 goto out_error;
         memcpy(data, &ctxt[cpu].fpu_ctxt, sizeof(ctxt[cpu].fpu_ctxt));
         break;
@@ -520,7 +520,7 @@
         if (current_isfile)
                 goto out_unspported; /* XXX not yet supported */
         SET_XC_REGS(((struct gdb_regs *)data), ctxt[cpu].user_regs);
-        if ((retval = xc_vcpu_setcontext(xc_handle, current_domid, cpu, 
+        if ((retval = xc_vcpu_setcontext(xc_handle, current_domid, cpu,
                                 &ctxt[cpu])))
             goto out_error_dom0;
         break;
@@ -531,8 +531,8 @@
         /*  XXX we can still have problems if the user switches threads
          *  during single-stepping - but that just seems retarded
          */
-        ctxt[cpu].user_regs.eflags |= PSL_T; 
-        if ((retval = xc_vcpu_setcontext(xc_handle, current_domid, cpu, 
+        ctxt[cpu].user_regs.eflags |= PSL_T;
+        if ((retval = xc_vcpu_setcontext(xc_handle, current_domid, cpu,
                                 &ctxt[cpu])))
             goto out_error_dom0;
         /* FALLTHROUGH */
@@ -545,13 +545,13 @@
         {
             FOREACH_CPU(cpumap, index) {
                 cpu = index - 1;
-                if (fetch_regs(xc_handle, cpu, NULL)) 
+                if (fetch_regs(xc_handle, cpu, NULL))
                     goto out_error;
                 /* Clear trace flag */
-                if ( ctxt[cpu].user_regs.eflags & PSL_T ) 
+                if ( ctxt[cpu].user_regs.eflags & PSL_T )
                 {
                     ctxt[cpu].user_regs.eflags &= ~PSL_T;
-                    if ((retval = xc_vcpu_setcontext(xc_handle, current_domid, 
+                    if ((retval = xc_vcpu_setcontext(xc_handle, current_domid,
                                                 cpu, &ctxt[cpu])))
                         goto out_error_dom0;
                 }
@@ -566,7 +566,7 @@
                 goto out_error_dom0;
         }
         regs_valid = 0;
-        if ((retval = xc_domain_unpause(xc_handle, current_domid > 0 ? 
+        if ((retval = xc_domain_unpause(xc_handle, current_domid > 0 ?
                                 current_domid : -current_domid)))
             goto out_error_dom0;
         break;
@@ -627,7 +627,7 @@
 
 }
 
-int 
+int
 xc_waitdomain(
     int xc_handle,
     int domain,
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_ptrace.h
--- a/tools/libxc/xc_ptrace.h   Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_ptrace.h   Sat Apr 15 09:07:31 2006
@@ -107,7 +107,7 @@
     long esi; /* 12 */
     long edi; /* 16 */
     long ebp; /* 20 */
-    long eax; /* 24 */ 
+    long eax; /* 24 */
     int  xds; /* 28 */
     int  xes; /* 32 */
     int  xfs; /* 36 */
@@ -116,7 +116,7 @@
     long eip;    /* 48 */
     int  xcs;    /* 52 */
     long eflags; /* 56 */
-    long esp;    /* 60 */     
+    long esp;    /* 60 */
     int  xss;    /* 64 */
 };
 
@@ -169,20 +169,20 @@
 typedef void (*thr_ev_handler_t)(long);
 
 void xc_register_event_handler(
-    thr_ev_handler_t h, 
+    thr_ev_handler_t h,
     td_event_e e);
 
 long xc_ptrace(
     int xc_handle,
-    enum __ptrace_request request, 
+    enum __ptrace_request request,
     uint32_t  domid,
-    long addr, 
+    long addr,
     long data);
 
 int xc_waitdomain(
     int xc_handle,
-    int domain, 
-    int *status, 
+    int domain,
+    int *status,
     int options);
 
 #endif /* XC_PTRACE */
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_ptrace_core.c
--- a/tools/libxc/xc_ptrace_core.c      Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_ptrace_core.c      Sat Apr 15 09:07:31 2006
@@ -39,7 +39,7 @@
     static unsigned long  page_phys[MAX_VIRT_CPUS];
     static unsigned long *page_virt[MAX_VIRT_CPUS];
 
-    if (cr3[cpu] != cr3_phys[cpu]) 
+    if (cr3[cpu] != cr3_phys[cpu])
     {
         cr3_phys[cpu] = cr3[cpu];
         if (cr3_virt[cpu])
@@ -53,12 +53,12 @@
             return NULL;
         }
         cr3_virt[cpu] = v;
-    } 
+    }
     if ((pde = cr3_virt[cpu][vtopdi(va)]) == 0) /* logical address */
         return NULL;
     if (ctxt[cpu].flags & VGCF_HVM_GUEST)
         pde = p2m_array[pde >> PAGE_SHIFT] << PAGE_SHIFT;
-    if (pde != pde_phys[cpu]) 
+    if (pde != pde_phys[cpu])
     {
         pde_phys[cpu] = pde;
         if (pde_virt[cpu])
@@ -74,7 +74,7 @@
         return NULL;
     if (ctxt[cpu].flags & VGCF_HVM_GUEST)
         page = p2m_array[page >> PAGE_SHIFT] << PAGE_SHIFT;
-    if (page != page_phys[cpu]) 
+    if (page != page_phys[cpu])
     {
         page_phys[cpu] = page;
         if (page_virt[cpu])
@@ -89,11 +89,11 @@
             return NULL;
         }
         page_virt[cpu] = v;
-    } 
+    }
     return (void *)(((unsigned long)page_virt[cpu]) | (va & BSD_PAGE_MASK));
 }
 
-int 
+int
 xc_waitdomain_core(
     int xc_handle,
     int domfd,
@@ -122,7 +122,7 @@
         nr_vcpus = header.xch_nr_vcpus;
         pages_offset = header.xch_pages_offset;
 
-        if (read(domfd, ctxt, sizeof(vcpu_guest_context_t)*nr_vcpus) != 
+        if (read(domfd, ctxt, sizeof(vcpu_guest_context_t)*nr_vcpus) !=
             sizeof(vcpu_guest_context_t)*nr_vcpus)
             return -1;
 
@@ -134,7 +134,7 @@
             printf("Could not allocate p2m_array\n");
             return -1;
         }
-        if (read(domfd, p2m_array, sizeof(unsigned long)*nr_pages) != 
+        if (read(domfd, p2m_array, sizeof(unsigned long)*nr_pages) !=
             sizeof(unsigned long)*nr_pages)
             return -1;
 
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_sedf.c
--- a/tools/libxc/xc_sedf.c     Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_sedf.c     Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_sedf.c
- * 
+ *
  * API for manipulating parameters of the Simple EDF scheduler.
- * 
+ *
  * changes by Stephan Diestelhorst
  * based on code
  * by Mark Williamson, Copyright (c) 2004 Intel Research Cambridge.
@@ -35,7 +35,7 @@
     int ret;
     struct sedf_adjdom *p = &op.u.adjustdom.u.sedf;
 
-    op.cmd = DOM0_ADJUSTDOM;    
+    op.cmd = DOM0_ADJUSTDOM;
     op.u.adjustdom.domain = (domid_t)domid;
     op.u.adjustdom.sched_id = SCHED_SEDF;
     op.u.adjustdom.direction = SCHED_INFO_GET;
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xc_tbuf.c
--- a/tools/libxc/xc_tbuf.c     Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xc_tbuf.c     Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xc_tbuf.c
- * 
+ *
  * API for manipulating and accessing trace buffer parameters
- * 
+ *
  * Copyright (c) 2005, Rob Gardner
  */
 
@@ -18,7 +18,7 @@
     op.u.tbufcontrol.op  = DOM0_TBUF_ENABLE;
   else
     op.u.tbufcontrol.op  = DOM0_TBUF_DISABLE;
-  
+
   return xc_dom0_op(xc_handle, &op);
 }
 
@@ -30,10 +30,10 @@
   op.interface_version = DOM0_INTERFACE_VERSION;
   op.u.tbufcontrol.op  = DOM0_TBUF_SET_SIZE;
   op.u.tbufcontrol.size = size;
-  
+
   return xc_dom0_op(xc_handle, &op);
 }
-  
+
 int xc_tbuf_get_size(int xc_handle, uint32_t *size)
 {
   int rc;
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h     Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xenctrl.h     Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xenctrl.h
- * 
+ *
  * A library for low-level access to the Xen control interfaces.
- * 
+ *
  * Copyright (c) 2003-2004, K A Fraser.
  */
 
@@ -30,7 +30,7 @@
 
 /*
  *  DEFINITIONS FOR CPU BARRIERS
- */ 
+ */
 
 #if defined(__i386__)
 #define mb()  __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" )
@@ -51,7 +51,7 @@
 
 /*
  *  INITIALIZATION FUNCTIONS
- */ 
+ */
 
 /**
  * This function opens a handle to the hypervisor interface.  This function can
@@ -96,20 +96,20 @@
 
 long xc_ptrace_core(
     int xc_handle,
-    enum __ptrace_request request, 
-    uint32_t domid, 
-    long addr, 
+    enum __ptrace_request request,
+    uint32_t domid,
+    long addr,
     long data,
     vcpu_guest_context_t *ctxt);
 void * map_domain_va_core(
-    unsigned long domfd, 
-    int cpu, 
+    unsigned long domfd,
+    int cpu,
     void *guest_va,
     vcpu_guest_context_t *ctxt);
 int xc_waitdomain_core(
     int xc_handle,
-    int domain, 
-    int *status, 
+    int domain,
+    int *status,
     int options,
     vcpu_guest_context_t *ctxt);
 
@@ -120,7 +120,7 @@
 typedef struct {
     uint32_t      domid;
     uint32_t      ssidref;
-    unsigned int  dying:1, crashed:1, shutdown:1, 
+    unsigned int  dying:1, crashed:1, shutdown:1,
                   paused:1, blocked:1, running:1;
     unsigned int  shutdown_reason; /* only meaningful if shutdown==1 */
     unsigned long nr_pages;
@@ -133,7 +133,7 @@
 } xc_dominfo_t;
 
 typedef dom0_getdomaininfo_t xc_domaininfo_t;
-int xc_domain_create(int xc_handle, 
+int xc_domain_create(int xc_handle,
                      uint32_t ssidref,
                      xen_domain_handle_t handle,
                      uint32_t *pdomid);
@@ -144,7 +144,7 @@
  *  xc_domain_dumpcore_via_callback - produces a dump, using a specified
  *                                    callback function
  */
-int xc_domain_dumpcore(int xc_handle, 
+int xc_domain_dumpcore(int xc_handle,
                        uint32_t domid,
                        const char *corename);
 
@@ -156,7 +156,7 @@
  */
 typedef int (dumpcore_rtn_t)(void *arg, char *buffer, unsigned int length);
 
-int xc_domain_dumpcore_via_callback(int xc_handle, 
+int xc_domain_dumpcore_via_callback(int xc_handle,
                                     uint32_t domid,
                                     void *arg,
                                     dumpcore_rtn_t dump_rtn);
@@ -170,7 +170,7 @@
  * @return 0 on success, -1 on failure.
  */
 int xc_domain_max_vcpus(int xc_handle,
-                        uint32_t domid, 
+                        uint32_t domid,
                         unsigned int max);
 
 /**
@@ -181,7 +181,7 @@
  * @parm domid the domain id to pause
  * @return 0 on success, -1 on failure.
  */
-int xc_domain_pause(int xc_handle, 
+int xc_domain_pause(int xc_handle,
                     uint32_t domid);
 /**
  * This function unpauses a domain.  The domain should have been previously
@@ -191,7 +191,7 @@
  * @parm domid the domain id to unpause
  * return 0 on success, -1 on failure
  */
-int xc_domain_unpause(int xc_handle, 
+int xc_domain_unpause(int xc_handle,
                       uint32_t domid);
 
 /**
@@ -203,7 +203,7 @@
  * @parm domid the domain id to destroy
  * @return 0 on success, -1 on failure
  */
-int xc_domain_destroy(int xc_handle, 
+int xc_domain_destroy(int xc_handle,
                       uint32_t domid);
 
 /**
@@ -217,7 +217,7 @@
  * @parm reason is the reason (SHUTDOWN_xxx) for the shutdown
  * @return 0 on success, -1 on failure
  */
-int xc_domain_shutdown(int xc_handle, 
+int xc_domain_shutdown(int xc_handle,
                        uint32_t domid,
                        int reason);
 
@@ -242,7 +242,7 @@
  * @return the number of domains enumerated or -1 on error
  */
 int xc_domain_getinfo(int xc_handle,
-                      uint32_t first_domid, 
+                      uint32_t first_domid,
                       unsigned int max_doms,
                       xc_dominfo_t *info);
 
@@ -307,12 +307,12 @@
                                   domid_t domid,
                                   int vcpu);
 
-int xc_domain_sethandle(int xc_handle, uint32_t domid, 
+int xc_domain_sethandle(int xc_handle, uint32_t domid,
                         xen_domain_handle_t handle);
 
 typedef dom0_shadow_control_stats_t xc_shadow_control_stats_t;
 int xc_shadow_control(int xc_handle,
-                      uint32_t domid, 
+                      uint32_t domid,
                       unsigned int sop,
                       unsigned long *dirty_bitmap,
                       unsigned long pages,
@@ -386,7 +386,7 @@
 
 int xc_readconsolering(int xc_handle,
                        char **pbuffer,
-                       unsigned int *pnr_chars, 
+                       unsigned int *pnr_chars,
                        int clear);
 
 typedef dom0_physinfo_t xc_physinfo_t;
@@ -397,18 +397,18 @@
                 int *sched_id);
 
 int xc_domain_setmaxmem(int xc_handle,
-                        uint32_t domid, 
+                        uint32_t domid,
                         unsigned int max_memkb);
 
 int xc_domain_memory_increase_reservation(int xc_handle,
-                                          uint32_t domid, 
+                                          uint32_t domid,
                                           unsigned long nr_extents,
                                           unsigned int extent_order,
                                           unsigned int address_bits,
                                           unsigned long *extent_start);
 
 int xc_domain_memory_decrease_reservation(int xc_handle,
-                                          uint32_t domid, 
+                                          uint32_t domid,
                                           unsigned long nr_extents,
                                           unsigned int extent_order,
                                           unsigned long *extent_start);
@@ -443,7 +443,7 @@
                                unsigned long nr_mfns,
                                uint8_t allow_access);
 
-unsigned long xc_make_page_below_4G(int xc_handle, uint32_t domid, 
+unsigned long xc_make_page_below_4G(int xc_handle, uint32_t domid,
                                     unsigned long mfn);
 
 typedef dom0_perfc_desc_t xc_perfc_desc_t;
@@ -492,11 +492,11 @@
 unsigned long xc_translate_foreign_address(int xc_handle, uint32_t dom,
                                            int vcpu, unsigned long long virt);
 
-int xc_get_pfn_list(int xc_handle, uint32_t domid, unsigned long *pfn_buf, 
+int xc_get_pfn_list(int xc_handle, uint32_t domid, unsigned long *pfn_buf,
                     unsigned long max_pfns);
 
 int xc_ia64_get_pfn_list(int xc_handle, uint32_t domid,
-                         unsigned long *pfn_buf, 
+                         unsigned long *pfn_buf,
                          unsigned int start_page, unsigned int nr_pages);
 
 int xc_copy_to_domain_page(int xc_handle, uint32_t domid,
@@ -551,7 +551,7 @@
 int xc_tbuf_set_size(int xc_handle, uint32_t size);
 
 /**
- * This function retrieves the current size of the trace buffers. 
+ * This function retrieves the current size of the trace buffers.
  * Note that the size returned is in terms of bytes, not pages.
 
  * @parm xc_handle a handle to an open hypervisor interface
@@ -577,7 +577,7 @@
 };
 typedef struct xc_mmu xc_mmu_t;
 xc_mmu_t *xc_init_mmu_updates(int xc_handle, domid_t dom);
-int xc_add_mmu_update(int xc_handle, xc_mmu_t *mmu, 
+int xc_add_mmu_update(int xc_handle, xc_mmu_t *mmu,
                    unsigned long long ptr, unsigned long long val);
 int xc_finish_mmu_updates(int xc_handle, xc_mmu_t *mmu);
 
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xenguest.h
--- a/tools/libxc/xenguest.h    Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xenguest.h    Sat Apr 15 09:07:31 2006
@@ -1,8 +1,8 @@
 /******************************************************************************
  * xenguest.h
- * 
+ *
  * A library for guest domain management in Xen.
- * 
+ *
  * Copyright (c) 2003-2004, K A Fraser.
  */
 
@@ -21,7 +21,7 @@
  * @parm dom the id of the domain
  * @return 0 on success, -1 on failure
  */
-int xc_linux_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters, 
+int xc_linux_save(int xc_handle, int io_fd, uint32_t dom, uint32_t max_iters,
                   uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
                   int (*suspend)(int domid));
 
@@ -37,8 +37,8 @@
  * @parm store_mfn returned with the mfn of the store page
  * @return 0 on success, -1 on failure
  */
-int xc_linux_restore(int xc_handle, int io_fd, uint32_t dom, 
-                     unsigned long nr_pfns, unsigned int store_evtchn, 
+int xc_linux_restore(int xc_handle, int io_fd, uint32_t dom,
+                     unsigned long nr_pfns, unsigned int store_evtchn,
                      unsigned long *store_mfn, unsigned int console_evtchn,
                      unsigned long *console_mfn);
 
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xg_private.c
--- a/tools/libxc/xg_private.c  Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xg_private.c  Sat Apr 15 09:07:31 2006
@@ -1,6 +1,6 @@
 /******************************************************************************
  * xg_private.c
- * 
+ *
  * Helper functions for the rest of the library.
  */
 
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xg_private.h
--- a/tools/libxc/xg_private.h  Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xg_private.h  Sat Apr 15 09:07:31 2006
@@ -11,7 +11,7 @@
 #include <sys/stat.h>
 
 #include "xenctrl.h"
-#include "xenguest.h" 
+#include "xenguest.h"
 
 #include <xen/linux/privcmd.h>
 #include <xen/memory.h>
@@ -62,7 +62,7 @@
 #define L2_PAGETABLE_ENTRIES_PAE  512
 #define L3_PAGETABLE_ENTRIES_PAE    4
 
-#if defined(__i386__) 
+#if defined(__i386__)
 #define L1_PAGETABLE_ENTRIES   1024
 #define L2_PAGETABLE_ENTRIES   1024
 #elif defined(__x86_64__)
@@ -71,7 +71,7 @@
 #define L3_PAGETABLE_ENTRIES    512
 #define L4_PAGETABLE_ENTRIES    512
 #endif
- 
+
 #define PAGE_SHIFT              XC_PAGE_SHIFT
 #define PAGE_SIZE               (1UL << PAGE_SHIFT)
 #define PAGE_MASK               (~(PAGE_SIZE-1))
@@ -167,8 +167,8 @@
     int error;
     int max_queue_size;
     void * addr;
-    privcmd_mmap_t ioctl; 
-    
+    privcmd_mmap_t ioctl;
+
 } mfn_mapper_t;
 
 int xc_copy_to_domain_page(int xc_handle, uint32_t domid,
diff -r 1d8b3c85121d -r 74ee53209cca tools/libxc/xg_save_restore.h
--- a/tools/libxc/xg_save_restore.h     Sat Apr 15 08:52:32 2006
+++ b/tools/libxc/xg_save_restore.h     Sat Apr 15 09:07:31 2006
@@ -1,7 +1,7 @@
 /*
 ** xg_save_restore.h
-** 
-** Defintions and utilities for save / restore. 
+**
+** Defintions and utilities for save / restore.
 */
 
 #include "xc_private.h"
@@ -29,8 +29,8 @@
 
 
 /*
-** We process save/restore/migrate in batches of pages; the below 
-** determines how many pages we (at maximum) deal with in each batch. 
+** We process save/restore/migrate in batches of pages; the below
+** determines how many pages we (at maximum) deal with in each batch.
 */
 #define MAX_BATCH_SIZE 1024   /* up to 1024 pages (4MB) at a time */
 
@@ -40,56 +40,56 @@
 
 
 /*
-** Determine various platform information required for save/restore, in 
-** particular: 
+** Determine various platform information required for save/restore, in
+** particular:
 **
-**    - the maximum MFN on this machine, used to compute the size of 
-**      the M2P table; 
-** 
-**    - the starting virtual address of the the hypervisor; we use this 
-**      to determine which parts of guest address space(s) do and don't 
-**      require canonicalization during save/restore; and 
-** 
-**    - the number of page-table levels for save/ restore. This should 
-**      be a property of the domain, but for the moment we just read it 
+**    - the maximum MFN on this machine, used to compute the size of
+**      the M2P table;
+**
+**    - the starting virtual address of the the hypervisor; we use this
+**      to determine which parts of guest address space(s) do and don't
+**      require canonicalization during save/restore; and
+**
+**    - the number of page-table levels for save/ restore. This should
+**      be a property of the domain, but for the moment we just read it
 **      from the hypervisor.
 **
-** Returns 1 on success, 0 on failure. 
+** Returns 1 on success, 0 on failure.
 */
-static int get_platform_info(int xc_handle, uint32_t dom, 
-                             /* OUT */ unsigned long *max_mfn,  
-                             /* OUT */ unsigned long *hvirt_start, 
+static int get_platform_info(int xc_handle, uint32_t dom,
+                             /* OUT */ unsigned long *max_mfn,
+                             /* OUT */ unsigned long *hvirt_start,
                              /* OUT */ unsigned int *pt_levels)
-    
-{ 
+
+{
     xen_capabilities_info_t xen_caps = "";
     xen_platform_parameters_t xen_params;
 
     if (xc_version(xc_handle, XENVER_platform_parameters, &xen_params) != 0)
         return 0;
-    
+
     if (xc_version(xc_handle, XENVER_capabilities, &xen_caps) != 0)
         return 0;
 
     *max_mfn = xc_memory_op(xc_handle, XENMEM_maximum_ram_page, NULL);
-    
+
     *hvirt_start = xen_params.virt_start;
 
     if (strstr(xen_caps, "xen-3.0-x86_64"))
         *pt_levels = 4;
     else if (strstr(xen_caps, "xen-3.0-x86_32p"))
-        *pt_levels = 3; 
+        *pt_levels = 3;
     else if (strstr(xen_caps, "xen-3.0-x86_32"))
-        *pt_levels = 2; 
-    else 
-        return 0; 
-    
+        *pt_levels = 2;
+    else
+        return 0;
+
     return 1;
-} 
+}
 
 
-/* 
-** Save/restore deal with the mfn_to_pfn (M2P) and pfn_to_mfn (P2M) tables. 
+/*
+** Save/restore deal with the mfn_to_pfn (M2P) and pfn_to_mfn (P2M) tables.
 ** The M2P simply holds the corresponding PFN, while the top bit of a P2M
 ** entry tell us whether or not the the PFN is currently mapped.
 */
@@ -98,18 +98,18 @@
 #define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1))
 
 
-/* 
-** The M2P is made up of some number of 'chunks' of at least 2MB in size. 
-** The below definitions and utility function(s) deal with mapping the M2P 
-** regarldess of the underlying machine memory size or architecture. 
+/*
+** The M2P is made up of some number of 'chunks' of at least 2MB in size.
+** The below definitions and utility function(s) deal with mapping the M2P
+** regarldess of the underlying machine memory size or architecture.
 */
-#define M2P_SHIFT       L2_PAGETABLE_SHIFT_PAE 
-#define M2P_CHUNK_SIZE  (1 << M2P_SHIFT) 
-#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(unsigned long)), M2P_SHIFT) 
+#define M2P_SHIFT       L2_PAGETABLE_SHIFT_PAE
+#define M2P_CHUNK_SIZE  (1 << M2P_SHIFT)
+#define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(unsigned long)), M2P_SHIFT)
 #define M2P_CHUNKS(_m)  (M2P_SIZE((_m)) >> M2P_SHIFT)
 
 /* Size in bytes of the P2M (rounded up to the nearest PAGE_SIZE bytes) */
-#define P2M_SIZE        ROUNDUP((max_pfn * sizeof(unsigned long)), PAGE_SHIFT) 
+#define P2M_SIZE        ROUNDUP((max_pfn * sizeof(unsigned long)), PAGE_SHIFT)
 
 /* Number of unsigned longs in a page */
 #define ulpp            (PAGE_SIZE/sizeof(unsigned long))
@@ -127,12 +127,12 @@
 #define NR_SLACK_ENTRIES   ((8 * 1024 * 1024) / PAGE_SIZE)
 
 /* Is the given PFN within the 'slack' region at the top of the P2M? */
-#define IS_REAL_PFN(_pfn)  ((max_pfn - (_pfn)) > NR_SLACK_ENTRIES) 
+#define IS_REAL_PFN(_pfn)  ((max_pfn - (_pfn)) > NR_SLACK_ENTRIES)
 
 /* Returns TRUE if the PFN is currently mapped */
 #define is_mapped(pfn_type) (!((pfn_type) & 0x80000000UL))
 
-#define INVALID_P2M_ENTRY   (~0UL) 
+#define INVALID_P2M_ENTRY   (~0UL)
 
 
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Fix whitespace in libxc. Tabs are manually fixed., Xen patchbot -unstable <=