ia64/xen-unstable

changeset 7859:8ed932ab9f2a

Merged.
author emellor@leeni.uk.xensource.com
date Wed Nov 16 13:38:16 2005 +0100 (2005-11-16)
parents dee321bf18e9 6f1477035134
children 9b345321fd06 28eec8977024
files
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c	Wed Nov 16 13:34:52 2005 +0100
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c	Wed Nov 16 13:38:16 2005 +0100
     1.3 @@ -15,6 +15,7 @@
     1.4  #include <asm/io.h>
     1.5  #include <asm-xen/balloon.h>
     1.6  #include <asm/tlbflush.h>
     1.7 +#include <asm/swiotlb.h>
     1.8  
     1.9  struct dma_coherent_mem {
    1.10  	void		*virt_base;
     2.1 --- a/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c	Wed Nov 16 13:34:52 2005 +0100
     2.2 +++ b/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c	Wed Nov 16 13:38:16 2005 +0100
     2.3 @@ -79,7 +79,7 @@ static ssize_t write_mem(struct file * f
     2.4  
     2.5  	if ((v = ioremap(p, count)) == NULL)
     2.6  		return -EFAULT;
     2.7 -	if (copy_to_user(v, buf, count))
     2.8 +	if (copy_from_user(v, buf, count))
     2.9  		goto out;
    2.10  
    2.11  	written = count;
     3.1 --- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c	Wed Nov 16 13:34:52 2005 +0100
     3.2 +++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c	Wed Nov 16 13:38:16 2005 +0100
     3.3 @@ -15,6 +15,7 @@
     3.4  #include <asm-xen/xenbus.h>
     3.5  #include <linux/cpu.h>
     3.6  #include <linux/kthread.h>
     3.7 +#include <asm-xen/xencons.h>
     3.8  
     3.9  #define SHUTDOWN_INVALID  -1
    3.10  #define SHUTDOWN_POWEROFF  0
    3.11 @@ -29,7 +30,6 @@
    3.12  void machine_restart(char * __unused)
    3.13  {
    3.14  	/* We really want to get pending console data out before we die. */
    3.15 -	extern void xencons_force_flush(void);
    3.16  	xencons_force_flush();
    3.17  	HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_reboot);
    3.18  }
    3.19 @@ -42,7 +42,6 @@ void machine_halt(void)
    3.20  void machine_power_off(void)
    3.21  {
    3.22  	/* We really want to get pending console data out before we die. */
    3.23 -	extern void xencons_force_flush(void);
    3.24  	xencons_force_flush();
    3.25  	HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_poweroff);
    3.26  }
    3.27 @@ -85,8 +84,6 @@ static int __do_suspend(void *ignore)
    3.28  	int vcpu_prepare(int vcpu);
    3.29  #endif
    3.30  
    3.31 -	extern void xencons_resume(void);
    3.32 -
    3.33  	int err = 0;
    3.34  
    3.35  	BUG_ON(smp_processor_id() != 0);
     4.1 --- a/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c	Wed Nov 16 13:34:52 2005 +0100
     4.2 +++ b/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c	Wed Nov 16 13:38:16 2005 +0100
     4.3 @@ -381,9 +381,9 @@ static void watch_target(struct xenbus_w
     4.4      
     4.5  }
     4.6  
     4.7 -int balloon_init_watcher(struct notifier_block *notifier,
     4.8 -                         unsigned long event,
     4.9 -                         void *data)
    4.10 +static int balloon_init_watcher(struct notifier_block *notifier,
    4.11 +                                unsigned long event,
    4.12 +                                void *data)
    4.13  {
    4.14  	int err;
    4.15  
     5.1 --- a/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c	Wed Nov 16 13:34:52 2005 +0100
     5.2 +++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c	Wed Nov 16 13:38:16 2005 +0100
     5.3 @@ -679,7 +679,7 @@ static void blkif_recover(struct blkfron
     5.4  	int j;
     5.5  
     5.6  	/* Stage 1: Make a safe copy of the shadow state. */
     5.7 -	copy = (struct blk_shadow *)kmalloc(sizeof(info->shadow), GFP_KERNEL);
     5.8 +	copy = kmalloc(sizeof(info->shadow), GFP_KERNEL);
     5.9  	BUG_ON(copy == NULL);
    5.10  	memcpy(copy, info->shadow, sizeof(info->shadow));
    5.11  
     6.1 --- a/linux-2.6-xen-sparse/drivers/xen/console/console.c	Wed Nov 16 13:34:52 2005 +0100
     6.2 +++ b/linux-2.6-xen-sparse/drivers/xen/console/console.c	Wed Nov 16 13:38:16 2005 +0100
     6.3 @@ -53,6 +53,7 @@
     6.4  #include <asm-xen/xen-public/event_channel.h>
     6.5  #include <asm/hypervisor.h>
     6.6  #include <asm-xen/evtchn.h>
     6.7 +#include <asm-xen/xencons.h>
     6.8  
     6.9  #include "xencons_ring.h"
    6.10  /*
     7.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h	Wed Nov 16 13:34:52 2005 +0100
     7.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h	Wed Nov 16 13:38:16 2005 +0100
     7.3 @@ -228,7 +228,7 @@ static inline void memcpy_toio(volatile 
     7.4   * used as the IO-area pointer (it can be iounmapped as well, so the
     7.5   * analogy with PCI is quite large):
     7.6   */
     7.7 -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET))
     7.8 +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN)))
     7.9  
    7.10  #define isa_readb(a) readb(__ISA_IO_base + (a))
    7.11  #define isa_readw(a) readw(__ISA_IO_base + (a))
     8.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h	Wed Nov 16 13:34:52 2005 +0100
     8.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h	Wed Nov 16 13:38:16 2005 +0100
     8.3 @@ -298,7 +298,7 @@ void memset_io(volatile void __iomem *a,
     8.4   * used as the IO-area pointer (it can be iounmapped as well, so the
     8.5   * analogy with PCI is quite large):
     8.6   */
     8.7 -#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET))
     8.8 +#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN)))
     8.9  
    8.10  #define isa_readb(a) readb(__ISA_IO_base + (a))
    8.11  #define isa_readw(a) readw(__ISA_IO_base + (a))
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/xencons.h	Wed Nov 16 13:38:16 2005 +0100
     9.3 @@ -0,0 +1,7 @@
     9.4 +#ifndef __ASM_XENCONS_H__
     9.5 +#define __ASM_XENCONS_H__
     9.6 +
     9.7 +void xencons_force_flush(void);
     9.8 +void xencons_resume(void);
     9.9 +
    9.10 +#endif /* __ASM_XENCONS_H__ */
    10.1 --- a/tools/libxc/xc_linux_build.c	Wed Nov 16 13:34:52 2005 +0100
    10.2 +++ b/tools/libxc/xc_linux_build.c	Wed Nov 16 13:38:16 2005 +0100
    10.3 @@ -351,7 +351,7 @@ static int setup_guest(int xc_handle,
    10.4          xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE, page_array[0]);
    10.5      memset(start_info, 0, sizeof(*start_info));
    10.6      rc = xc_version(xc_handle, XENVER_version, NULL);
    10.7 -    sprintf(start_info->magic, "xen-%i.%i", rc >> 16, rc & (0xFFFF));
    10.8 +    sprintf(start_info->magic, "xen-%i.%i-ia64", rc >> 16, rc & (0xFFFF));
    10.9      start_info->flags        = flags;
   10.10      start_info->store_mfn    = nr_pages - 2;
   10.11      start_info->store_evtchn = store_evtchn;
   10.12 @@ -628,7 +628,9 @@ static int setup_guest(int xc_handle,
   10.13          page_array[(vstartinfo_start-dsi.v_start)>>PAGE_SHIFT]);
   10.14      memset(start_info, 0, sizeof(*start_info));
   10.15      rc = xc_version(xc_handle, XENVER_version, NULL);
   10.16 -    sprintf(start_info->magic, "xen-%i.%i", rc >> 16, rc & (0xFFFF));
   10.17 +    sprintf(start_info->magic, "xen-%i.%i-x86_%d%s",
   10.18 +            rc >> 16, rc & (0xFFFF), sizeof(long)*8,
   10.19 +            dsi.pae_kernel ? "p" : "");
   10.20      start_info->nr_pages     = nr_pages;
   10.21      start_info->shared_info  = shared_info_frame << PAGE_SHIFT;
   10.22      start_info->flags        = flags;
    11.1 --- a/tools/libxc/xc_private.c	Wed Nov 16 13:34:52 2005 +0100
    11.2 +++ b/tools/libxc/xc_private.c	Wed Nov 16 13:38:16 2005 +0100
    11.3 @@ -402,11 +402,21 @@ int xc_version(int xc_handle, int cmd, v
    11.4  
    11.5      switch ( cmd )
    11.6      {
    11.7 -    case XENVER_extraversion: argsize = sizeof(xen_extraversion_t); break;
    11.8 -    case XENVER_compile_info: argsize = sizeof(xen_compile_info_t); break;
    11.9 -    case XENVER_capabilities: argsize = sizeof(xen_capabilities_info_t); break;
   11.10 -    case XENVER_changeset:    argsize = sizeof(xen_changeset_info_t); break;
   11.11 -    case XENVER_parameters:   argsize = sizeof(xen_parameters_info_t); break;
   11.12 +    case XENVER_extraversion:
   11.13 +        argsize = sizeof(xen_extraversion_t);
   11.14 +        break;
   11.15 +    case XENVER_compile_info:
   11.16 +        argsize = sizeof(xen_compile_info_t);
   11.17 +        break;
   11.18 +    case XENVER_capabilities:
   11.19 +        argsize = sizeof(xen_capabilities_info_t);
   11.20 +        break;
   11.21 +    case XENVER_changeset:
   11.22 +        argsize = sizeof(xen_changeset_info_t);
   11.23 +        break;
   11.24 +    case XENVER_platform_parameters:
   11.25 +        argsize = sizeof(xen_platform_parameters_t);
   11.26 +        break;
   11.27      }
   11.28  
   11.29      if ( (argsize != 0) && (mlock(arg, argsize) != 0) )
    12.1 --- a/tools/libxc/xg_save_restore.h	Wed Nov 16 13:34:52 2005 +0100
    12.2 +++ b/tools/libxc/xg_save_restore.h	Wed Nov 16 13:38:16 2005 +0100
    12.3 @@ -61,20 +61,20 @@ static int get_platform_info(int xc_hand
    12.4      
    12.5  { 
    12.6      xen_capabilities_info_t xen_caps = "";
    12.7 -    xen_parameters_info_t xen_parms;
    12.8 +    xen_platform_parameters_t xen_params;
    12.9      xc_physinfo_t physinfo;
   12.10      
   12.11      if (xc_physinfo(xc_handle, &physinfo) != 0) 
   12.12          return 0;
   12.13      
   12.14 -    if (xc_version(xc_handle, XENVER_parameters, &xen_parms) != 0)
   12.15 +    if (xc_version(xc_handle, XENVER_platform_parameters, &xen_params) != 0)
   12.16          return 0;
   12.17      
   12.18      if (xc_version(xc_handle, XENVER_capabilities, &xen_caps) != 0)
   12.19          return 0;
   12.20  
   12.21      *max_mfn =     physinfo.total_pages;
   12.22 -    *hvirt_start = xen_parms.virt_start;
   12.23 +    *hvirt_start = xen_params.virt_start;
   12.24  
   12.25      if (strstr(xen_caps, "xen-3.0-x86_64"))
   12.26          *pt_levels = 4;
    13.1 --- a/tools/python/xen/lowlevel/xc/xc.c	Wed Nov 16 13:34:52 2005 +0100
    13.2 +++ b/tools/python/xen/lowlevel/xc/xc.c	Wed Nov 16 13:38:16 2005 +0100
    13.3 @@ -721,7 +721,7 @@ static PyObject *pyxc_xeninfo(PyObject *
    13.4      xen_compile_info_t xen_cc;
    13.5      xen_changeset_info_t xen_chgset;
    13.6      xen_capabilities_info_t xen_caps;
    13.7 -    xen_parameters_info_t xen_parms;
    13.8 +    xen_platform_parameters_t p_parms;
    13.9      long xen_version;
   13.10      char str[128];
   13.11  
   13.12 @@ -739,17 +739,17 @@ static PyObject *pyxc_xeninfo(PyObject *
   13.13      if ( xc_version(xc->xc_handle, XENVER_capabilities, &xen_caps) != 0 )
   13.14          return PyErr_SetFromErrno(xc_error);
   13.15  
   13.16 -    if ( xc_version(xc->xc_handle, XENVER_parameters, &xen_parms) != 0 )
   13.17 +    if ( xc_version(xc->xc_handle, XENVER_platform_parameters, &p_parms) != 0 )
   13.18          return PyErr_SetFromErrno(xc_error);
   13.19  
   13.20 -    sprintf(str,"virt_start=0x%lx",xen_parms.virt_start);
   13.21 +    sprintf(str, "virt_start=0x%lx", p_parms.virt_start);
   13.22  
   13.23      return Py_BuildValue("{s:i,s:i,s:s,s:s,s:s,s:s,s:s,s:s,s:s,s:s}",
   13.24                           "xen_major", xen_version >> 16,
   13.25                           "xen_minor", (xen_version & 0xffff),
   13.26                           "xen_extra", xen_extra,
   13.27                           "xen_caps",  xen_caps,
   13.28 -                         "xen_params", str,
   13.29 +                         "platform_params", str,
   13.30                           "xen_changeset", xen_chgset,
   13.31                           "cc_compiler", xen_cc.compiler,
   13.32                           "cc_compile_by", xen_cc.compile_by,
    14.1 --- a/tools/python/xen/xend/XendNode.py	Wed Nov 16 13:34:52 2005 +0100
    14.2 +++ b/tools/python/xen/xend/XendNode.py	Wed Nov 16 13:38:16 2005 +0100
    14.3 @@ -75,7 +75,7 @@ class XendNode:
    14.4                  ['xen_minor', xinfo['xen_minor']],
    14.5                  ['xen_extra', xinfo['xen_extra']],
    14.6                  ['xen_caps',  xinfo['xen_caps']],
    14.7 -                ['xen_params',xinfo['xen_params']],
    14.8 +                ['platform_params',xinfo['platform_params']],
    14.9                  ['xen_changeset', xinfo['xen_changeset']],
   14.10                  ['cc_compiler', xinfo['cc_compiler']],
   14.11                  ['cc_compile_by', xinfo['cc_compile_by']],
    15.1 --- a/tools/xm-test/tests/block-create/06_block_attach_baddomain_neg.py	Wed Nov 16 13:34:52 2005 +0100
    15.2 +++ b/tools/xm-test/tests/block-create/06_block_attach_baddomain_neg.py	Wed Nov 16 13:38:16 2005 +0100
    15.3 @@ -11,7 +11,7 @@ eyecatcher = "Error"
    15.4  where = output.find(eyecatcher)
    15.5  if status == 0:
    15.6  	FAIL("xm block-attach returned bad status, expected non 0, status is: %i" % status )
    15.7 -elif where > 1:
    15.8 +elif where == -1:
    15.9  	FAIL("xm block-attach returned bad output, expected Error, output is: %s" % output )
   15.10  	
   15.11  
    16.1 --- a/tools/xm-test/tests/block-create/07_block_attach_baddevice_neg.py	Wed Nov 16 13:34:52 2005 +0100
    16.2 +++ b/tools/xm-test/tests/block-create/07_block_attach_baddevice_neg.py	Wed Nov 16 13:38:16 2005 +0100
    16.3 @@ -42,7 +42,7 @@ eyecatcher = "Error"
    16.4  where = output.find(eyecatcher)
    16.5  if status == 0:
    16.6  	FAIL("xm block-attach returned bad status, expected non 0, status is: %i" % status )
    16.7 -elif where > 1:
    16.8 +elif where == -1:
    16.9  	FAIL("xm block-attach returned bad output, expected Error, output is: %s" % output )
   16.10  
   16.11  try:
    17.1 --- a/tools/xm-test/tests/block-create/08_block_attach_bad_filedevice_neg.py	Wed Nov 16 13:34:52 2005 +0100
    17.2 +++ b/tools/xm-test/tests/block-create/08_block_attach_bad_filedevice_neg.py	Wed Nov 16 13:38:16 2005 +0100
    17.3 @@ -41,7 +41,7 @@ eyecatcher = "Error"
    17.4  where = output.find(eyecatcher)
    17.5  if status == 0:
    17.6  	FAIL("xm block-attach returned bad status, expected non 0, status is: %i" % status )
    17.7 -elif where > 1:
    17.8 +elif where == -1:
    17.9  	FAIL("xm block-attach returned bad output, expected Error, output is: %s" % output )
   17.10  	
   17.11  try:
    18.1 --- a/tools/xm-test/tests/console/01_console_badopt_neg.py	Wed Nov 16 13:34:52 2005 +0100
    18.2 +++ b/tools/xm-test/tests/console/01_console_badopt_neg.py	Wed Nov 16 13:38:16 2005 +0100
    18.3 @@ -17,5 +17,5 @@ eyecatcher = "Error"
    18.4  where = output.find(eyecatcher)
    18.5  if status == 0:
    18.6      FAIL("xm console returned invalid %i != 0" % status)
    18.7 -elif where > 1:
    18.8 +elif where == -1:
    18.9      FAIL("xm console didn't report error on bad argument")
    19.1 --- a/tools/xm-test/tests/console/02_console_baddom_neg.py	Wed Nov 16 13:34:52 2005 +0100
    19.2 +++ b/tools/xm-test/tests/console/02_console_baddom_neg.py	Wed Nov 16 13:38:16 2005 +0100
    19.3 @@ -15,7 +15,7 @@ eyecatcher = "Error"
    19.4  where = output.find(eyecatcher)
    19.5  if status == 0:
    19.6      FAIL("xm console returned invalid %i != 0" % status)
    19.7 -elif where > 1:
    19.8 +elif where == -1:
    19.9      FAIL("xm console failed to report error on bad domid")
   19.10  
   19.11  status, output = traceCommand("xm console NON_EXIST")
   19.12 @@ -23,5 +23,5 @@ eyecatcher = "Error"
   19.13  where = output.find(eyecatcher)
   19.14  if status == 0:
   19.15      FAIL("xm console returned invalid %i != 0" % status)
   19.16 -elif where > 1:
   19.17 +elif where == -1:
   19.18      FAIL("xm console failed to report error on bad domname") 
    20.1 --- a/tools/xm-test/tests/create/02_create_noparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    20.2 +++ b/tools/xm-test/tests/create/02_create_noparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    20.3 @@ -12,6 +12,6 @@ eyecatcher = "Error:"
    20.4  where = output.find(eyecatcher)
    20.5  if status == 0:
    20.6      FAIL("xm create returned invalid %i != 0" % status)
    20.7 -elif where > 1:
    20.8 +elif where == -1:
    20.9      FAIL("xm create failed to report error on missing args")
   20.10  
    21.1 --- a/tools/xm-test/tests/create/03_create_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    21.2 +++ b/tools/xm-test/tests/create/03_create_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    21.3 @@ -15,5 +15,5 @@ from XmTestLib import *
    21.4  status, output = traceCommand("xm create -x")
    21.5  eyecatcher = "Error:"
    21.6  where = output.find(eyecatcher)
    21.7 -if where != 0:
    21.8 +if where == -1:
    21.9      FAIL("xm create failed to report error on bad arg")
    22.1 --- a/tools/xm-test/tests/create/05_create_noroot_noram_neg.py	Wed Nov 16 13:34:52 2005 +0100
    22.2 +++ b/tools/xm-test/tests/create/05_create_noroot_noram_neg.py	Wed Nov 16 13:38:16 2005 +0100
    22.3 @@ -22,5 +22,5 @@ time.sleep(15)
    22.4  eyecatcher = "NOROOT"
    22.5  status, output = traceCommand("xm list")
    22.6  where = output.find(eyecatcher)
    22.7 -if where != -1 :
    22.8 +if where != -1:
    22.9  	FAIL("xm create test05 passed with no root and no ramdisk. Expected result: Fail.")
    23.1 --- a/tools/xm-test/tests/destroy/02_destroy_noparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    23.2 +++ b/tools/xm-test/tests/destroy/02_destroy_noparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    23.3 @@ -12,5 +12,5 @@ eyecatcher = "Error:"
    23.4  where = output.find(eyecatcher)
    23.5  if status == 0:
    23.6      FAIL("xm destroy returned invalid %i != 0" % status)
    23.7 -elif where > 1:
    23.8 +elif where == -1:
    23.9      FAIL("xm destroy failed to report error for missing arg")
    24.1 --- a/tools/xm-test/tests/destroy/03_destroy_nonexist_neg.py	Wed Nov 16 13:34:52 2005 +0100
    24.2 +++ b/tools/xm-test/tests/destroy/03_destroy_nonexist_neg.py	Wed Nov 16 13:38:16 2005 +0100
    24.3 @@ -12,5 +12,5 @@ eyecatcher = "Error:"
    24.4  where = output.find(eyecatcher)
    24.5  if status == 0:
    24.6      FAIL("xm destroy returned invalid %i != 0" % status)
    24.7 -elif where > 1:
    24.8 +elif where == -1:
    24.9      FAIL("xm destroy failed to report error for bad arg")
    25.1 --- a/tools/xm-test/tests/destroy/04_destroy_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    25.2 +++ b/tools/xm-test/tests/destroy/04_destroy_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    25.3 @@ -12,5 +12,5 @@ eyecatcher = "Error:"
    25.4  where = output.find(eyecatcher)
    25.5  if status == 0:
    25.6      FAIL("xm destroy returned invalid %i != 0" % status)
    25.7 -elif where > 1:
    25.8 +elif where == -1:
    25.9      FAIL("xm destroy failed to report error for bad domid")
    26.1 --- a/tools/xm-test/tests/dmesg/02_dmesg_basic_neg.py	Wed Nov 16 13:34:52 2005 +0100
    26.2 +++ b/tools/xm-test/tests/dmesg/02_dmesg_basic_neg.py	Wed Nov 16 13:38:16 2005 +0100
    26.3 @@ -12,6 +12,6 @@ eyecatcher = "Error:"
    26.4  where = output.find(eyecatcher)
    26.5  if status == 0:
    26.6      FAIL("xm dmesg returned invalid %i != 0" % status)
    26.7 -elif where == 1:
    26.8 +elif where == -1:
    26.9      FAIL("xm dmesg failed to report error for bad arg")
   26.10  
    27.1 --- a/tools/xm-test/tests/help/01_help_basic_pos.py	Wed Nov 16 13:34:52 2005 +0100
    27.2 +++ b/tools/xm-test/tests/help/01_help_basic_pos.py	Wed Nov 16 13:38:16 2005 +0100
    27.3 @@ -10,5 +10,5 @@ from XmTestLib import *
    27.4  status, output = traceCommand("xm help")
    27.5  eyecatcher = "Usage:"
    27.6  where = output.find(eyecatcher)
    27.7 -if where != 0:
    27.8 +if where == -1:
    27.9      FAIL("xm help: didn't see the usage string")
    28.1 --- a/tools/xm-test/tests/help/02_help_basic_neg.py	Wed Nov 16 13:34:52 2005 +0100
    28.2 +++ b/tools/xm-test/tests/help/02_help_basic_neg.py	Wed Nov 16 13:38:16 2005 +0100
    28.3 @@ -10,5 +10,5 @@ from XmTestLib import *
    28.4  status, output = traceCommand("xm")
    28.5  eyecatcher = "Usage:"
    28.6  where = output.find(eyecatcher)
    28.7 -if where != 0:
    28.8 +if where == -1:
    28.9      FAIL("xm: didn't display usage when given no arguments")
    29.1 --- a/tools/xm-test/tests/help/03_help_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    29.2 +++ b/tools/xm-test/tests/help/03_help_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    29.3 @@ -10,5 +10,5 @@ from XmTestLib import *
    29.4  status, output = traceCommand("xm -x")
    29.5  eyecatcher = "Error:"
    29.6  where = output.find(eyecatcher)
    29.7 -if where != 0:
    29.8 +if where == -1:
    29.9      FAIL("xm failed to report error for bad arg")
    30.1 --- a/tools/xm-test/tests/help/05_help_nonroot_pos.py	Wed Nov 16 13:34:52 2005 +0100
    30.2 +++ b/tools/xm-test/tests/help/05_help_nonroot_pos.py	Wed Nov 16 13:38:16 2005 +0100
    30.3 @@ -13,5 +13,5 @@ becomeNonRoot()
    30.4  status, output = traceCommand("xm help")
    30.5  eyecatcher = "Usage:"
    30.6  where = output.find(eyecatcher)
    30.7 -if where != 0:
    30.8 +if where == -1:
    30.9      FAIL("xm help: didn't see the usage string")
    31.1 --- a/tools/xm-test/tests/list/02_list_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    31.2 +++ b/tools/xm-test/tests/list/02_list_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    31.3 @@ -12,5 +12,5 @@ eyecatcher = "Error:"
    31.4  where = output.find(eyecatcher)
    31.5  if status == 0:
    31.6      FAIL("xm list returned invalud %i != 0" % status)
    31.7 -elif where > 1:
    31.8 +elif where == -1:
    31.9      FAIL("xm list failed to report error for bad arg")
    32.1 --- a/tools/xm-test/tests/list/03_list_nonexist_neg.py	Wed Nov 16 13:34:52 2005 +0100
    32.2 +++ b/tools/xm-test/tests/list/03_list_nonexist_neg.py	Wed Nov 16 13:38:16 2005 +0100
    32.3 @@ -12,6 +12,6 @@ eyecatcher = "Error:"
    32.4  where = output.find(eyecatcher)
    32.5  if status == 0:
    32.6      FAIL("xm list returned invalid %i != 0" % status)
    32.7 -elif where > 1:
    32.8 +elif where == -1:
    32.9      FAIL("xm list failed to report error for invalid domid")
   32.10  
    33.1 --- a/tools/xm-test/tests/list/06_list_nonroot.py	Wed Nov 16 13:34:52 2005 +0100
    33.2 +++ b/tools/xm-test/tests/list/06_list_nonroot.py	Wed Nov 16 13:38:16 2005 +0100
    33.3 @@ -11,5 +11,5 @@ becomeNonRoot()
    33.4  status, output = traceCommand("xm list")
    33.5  eyecatcher = "Error: Most commands need root access"
    33.6  where = output.find(eyecatcher)
    33.7 -if where != 0:
    33.8 +if where == -1:
    33.9      FAIL("xm help: didn't see the root hint, saw %s" % output)
    34.1 --- a/tools/xm-test/tests/memset/02_memset_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    34.2 +++ b/tools/xm-test/tests/memset/02_memset_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    34.3 @@ -24,7 +24,7 @@ eyecatcher = "Error:"
    34.4  where = output.find(eyecatcher)
    34.5  if status == 0:
    34.6      FAIL("xm mem-set returned invalid %i == 0" % status)
    34.7 -elif where > 1:
    34.8 +elif where == -1:
    34.9      FAIL("xm mem-set failed to report error for missing arg")
   34.10  
   34.11  # destroy non existent parm input - negative test
   34.12 @@ -32,7 +32,7 @@ status, output = traceCommand("xm mem-se
   34.13  where = output.find(eyecatcher)
   34.14  if status == 0:
   34.15      FAIL("xm mem-set returned invalid %i == 0" % status)
   34.16 -elif where != 0:
   34.17 +elif where == -1:
   34.18      FAIL("xm mem-set failed to report error for bad arg")
   34.19  
   34.20  # destroy non existent domain - negative test
   34.21 @@ -40,14 +40,14 @@ status, output = traceCommand("xm mem-se
   34.22  where = output.find(eyecatcher)
   34.23  if status == 0:
   34.24      FAIL("xm mem-set returned invalid %i == 0" % status)
   34.25 -elif where != 0:
   34.26 +elif where == -1:
   34.27      FAIL("xm mem-set failed to report error for invalid domid")
   34.28  
   34.29  # destroy non existent domain and memory - negative test
   34.30  status, output = traceCommand("xm mem-set 6666 64")
   34.31  where = output.find(eyecatcher)
   34.32  if status == 0:
   34.33 -    FAIL("xm mem-set returned invalid %i != 0" % status)
   34.34 -elif where != 0:
   34.35 +    FAIL("xm mem-set returned invalid %i == -1" % status)
   34.36 +elif where == -1:
   34.37      FAIL("xm mem-set failed to report error for invalid domid")
   34.38  
    35.1 --- a/tools/xm-test/tests/pause/02_pause_badopt_neg.py	Wed Nov 16 13:34:52 2005 +0100
    35.2 +++ b/tools/xm-test/tests/pause/02_pause_badopt_neg.py	Wed Nov 16 13:38:16 2005 +0100
    35.3 @@ -25,7 +25,7 @@ where = output.find(eyecatcher)
    35.4  if status == 0:
    35.5      domain.destroy()
    35.6      FAIL("xm pause returned bad status, expected non 0, status is: %i" % status )
    35.7 -elif where > 1:
    35.8 +elif where == -1:
    35.9      domain.destroy()
   35.10      FAIL("xm pause returned bad output, expected Error, output is: %s" % output )
   35.11  
    36.1 --- a/tools/xm-test/tests/pause/03_pause_badname_neg.py	Wed Nov 16 13:34:52 2005 +0100
    36.2 +++ b/tools/xm-test/tests/pause/03_pause_badname_neg.py	Wed Nov 16 13:38:16 2005 +0100
    36.3 @@ -14,5 +14,5 @@ eyecatcher = "Error"
    36.4  where = output.find(eyecatcher)
    36.5  if status == 0:
    36.6      FAIL("xm pause returned bad status, expected non 0, status is: %i" % status )
    36.7 -elif where > 1:
    36.8 +elif where == -1:
    36.9      FAIL("xm pause returned bad output, expected Error, output is: %s" % output )
    37.1 --- a/tools/xm-test/tests/pause/04_pause_badid_neg.py	Wed Nov 16 13:34:52 2005 +0100
    37.2 +++ b/tools/xm-test/tests/pause/04_pause_badid_neg.py	Wed Nov 16 13:38:16 2005 +0100
    37.3 @@ -14,5 +14,5 @@ eyecatcher = "Error"
    37.4  where = output.find(eyecatcher)
    37.5  if status == 0:
    37.6      FAIL("xm pause returned bad status, expected non 0, status is: %i" % status )
    37.7 -elif where > 1:
    37.8 +elif where == -1:
    37.9      FAIL("xm pause returned bad output, expected Error, output is: %s" % output )
    38.1 --- a/tools/xm-test/tests/reboot/02_reboot_badopt_neg.py	Wed Nov 16 13:34:52 2005 +0100
    38.2 +++ b/tools/xm-test/tests/reboot/02_reboot_badopt_neg.py	Wed Nov 16 13:38:16 2005 +0100
    38.3 @@ -25,7 +25,7 @@ where = output.find(eyecatcher)
    38.4  if status == 0:
    38.5      domain.destroy()
    38.6      FAIL("xm reboot returned invalid %i == 0" % status )
    38.7 -elif where > 1:
    38.8 +elif where == -1:
    38.9      domain.destroy()
   38.10      FAIL("xm reboot failed to report error for bad arg")
   38.11  
    39.1 --- a/tools/xm-test/tests/reboot/03_reboot_badname_neg.py	Wed Nov 16 13:34:52 2005 +0100
    39.2 +++ b/tools/xm-test/tests/reboot/03_reboot_badname_neg.py	Wed Nov 16 13:38:16 2005 +0100
    39.3 @@ -14,5 +14,5 @@ eyecatcher = "Error"
    39.4  where = output.find(eyecatcher)
    39.5  if status == 0:
    39.6      FAIL("xm reboot returned invalid %i == 0" % status )
    39.7 -elif where > 1:
    39.8 +elif where == -1:
    39.9      FAIL("xm reboot failed to report error for non-existent domain" )
    40.1 --- a/tools/xm-test/tests/restore/02_restore_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    40.2 +++ b/tools/xm-test/tests/restore/02_restore_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    40.3 @@ -21,5 +21,5 @@ if status == 0:
    40.4      FAIL("xm restore returned bad status, expected non 0, status is: %i" % status)
    40.5  elif where2 == 0:
    40.6      FAIL("xm restore returned a stack dump, expected nice error message") 
    40.7 -elif where1 > 0:
    40.8 +elif where1 == -1:
    40.9      FAIL("xm restore returned bad output, expected Error:, output is: %s" % output)
    41.1 --- a/tools/xm-test/tests/restore/03_restore_badfilename_neg.py	Wed Nov 16 13:34:52 2005 +0100
    41.2 +++ b/tools/xm-test/tests/restore/03_restore_badfilename_neg.py	Wed Nov 16 13:38:16 2005 +0100
    41.3 @@ -21,5 +21,5 @@ if status == 0:
    41.4      FAIL("xm restore returned bad status, expected non 0, status is: %i" % status)
    41.5  elif where2 == 0:
    41.6      FAIL("xm restore returned a stack dump, expected nice error message") 
    41.7 -elif where1 > 0:
    41.8 +elif where1 == -1:
    41.9      FAIL("xm restore returned bad output, expected Error:, output is: %s" % output)
    42.1 --- a/tools/xm-test/tests/save/02_save_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    42.2 +++ b/tools/xm-test/tests/save/02_save_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    42.3 @@ -21,5 +21,5 @@ if status == 0:
    42.4      FAIL("xm save returned bad status, expected non 0, status is: %i" % status)
    42.5  elif where2 == 0:
    42.6      FAIL("xm save returned a stack dump, expected nice error message") 
    42.7 -elif where1 > 0:
    42.8 +elif where1 == -1:
    42.9      FAIL("xm save returned bad output, expected Error:, output is: %s" % output)
    43.1 --- a/tools/xm-test/tests/save/03_save_bogusfile_neg.py	Wed Nov 16 13:34:52 2005 +0100
    43.2 +++ b/tools/xm-test/tests/save/03_save_bogusfile_neg.py	Wed Nov 16 13:38:16 2005 +0100
    43.3 @@ -38,5 +38,5 @@ if status == 0:
    43.4      FAIL("xm save returned bad status, expected non 0, status is: %i" % status)
    43.5  elif where1 == 0:
    43.6      FAIL("xm save returned a stack dump, expected nice error message")
    43.7 -elif where2 > 0:
    43.8 +elif where2 == -1:
    43.9      FAIL("xm save returned bad output, expected Error:, output is: %s" % output)
    44.1 --- a/tools/xm-test/tests/shutdown/02_shutdown_badparm_neg.py	Wed Nov 16 13:34:52 2005 +0100
    44.2 +++ b/tools/xm-test/tests/shutdown/02_shutdown_badparm_neg.py	Wed Nov 16 13:38:16 2005 +0100
    44.3 @@ -32,7 +32,7 @@ ret, output = traceCommand("xm shutdown 
    44.4  where = output.find(eyecatcher)
    44.5  if (ret == 0):
    44.6      FAIL("xm shutdown returned invalid %i == 0" % ret)
    44.7 -elif where != 0:
    44.8 +elif where == -1:
    44.9      FAIL("xm shutdown failed to report error for bad arg")
   44.10  
   44.11  # Stop the domain (nice shutdown)
    45.1 --- a/tools/xm-test/tests/shutdown/03_shutdown_nonexist_neg.py	Wed Nov 16 13:34:52 2005 +0100
    45.2 +++ b/tools/xm-test/tests/shutdown/03_shutdown_nonexist_neg.py	Wed Nov 16 13:38:16 2005 +0100
    45.3 @@ -18,5 +18,5 @@ ret, output = traceCommand("xm shutdown 
    45.4  where = output.find(eyecatcher)
    45.5  if (ret == 0):
    45.6      FAIL("xm shutdown returned invalid %i == 0" % ret)
    45.7 -elif where != 0:
    45.8 +elif where == -1:
    45.9      FAIL("xm shutdown failed to report error for bad domid")
    46.1 --- a/xen/arch/ia64/xen/domain.c	Wed Nov 16 13:34:52 2005 +0100
    46.2 +++ b/xen/arch/ia64/xen/domain.c	Wed Nov 16 13:38:16 2005 +0100
    46.3 @@ -952,7 +952,7 @@ int construct_dom0(struct domain *d,
    46.4  	si = (start_info_t *)alloc_xenheap_page();
    46.5  	memset(si, 0, PAGE_SIZE);
    46.6  	d->shared_info->arch.start_info_pfn = __pa(si) >> PAGE_SHIFT;
    46.7 -	sprintf(si->magic, "Xen-%i.%i", XEN_VERSION, XEN_SUBVERSION);
    46.8 +	sprintf(si->magic, "xen-%i.%i-ia64", XEN_VERSION, XEN_SUBVERSION);
    46.9  
   46.10  #if 0
   46.11  	si->nr_pages     = d->tot_pages;
    47.1 --- a/xen/arch/x86/domain_build.c	Wed Nov 16 13:34:52 2005 +0100
    47.2 +++ b/xen/arch/x86/domain_build.c	Wed Nov 16 13:38:16 2005 +0100
    47.3 @@ -639,7 +639,8 @@ int construct_dom0(struct domain *d,
    47.4      si->pt_base      = vpt_start;
    47.5      si->nr_pt_frames = nr_pt_pages;
    47.6      si->mfn_list     = vphysmap_start;
    47.7 -    sprintf(si->magic, "Xen-%i.%i", XEN_VERSION, XEN_SUBVERSION);
    47.8 +    sprintf(si->magic, "xen-%i.%i-x86_%d%s",
    47.9 +            XEN_VERSION, XEN_SUBVERSION, BITS_PER_LONG, xen_pae ? "p" : "");
   47.10  
   47.11      /* Write the phys->machine and machine->phys table entries. */
   47.12      for ( pfn = 0; pfn < d->tot_pages; pfn++ )
    48.1 --- a/xen/arch/x86/shadow.c	Wed Nov 16 13:34:52 2005 +0100
    48.2 +++ b/xen/arch/x86/shadow.c	Wed Nov 16 13:38:16 2005 +0100
    48.3 @@ -873,7 +873,7 @@ shadow_make_snapshot(
    48.4  }
    48.5  
    48.6  static struct out_of_sync_entry *
    48.7 -mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
    48.8 +__mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
    48.9                               unsigned long mfn)
   48.10  {
   48.11      struct domain *d = v->domain;
   48.12 @@ -909,7 +909,6 @@ mark_mfn_out_of_sync(struct vcpu *v, uns
   48.13      entry->v = v;
   48.14      entry->gpfn = gpfn;
   48.15      entry->gmfn = mfn;
   48.16 -    entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
   48.17      entry->writable_pl1e = -1;
   48.18  
   48.19  #if 0 // this code has not been updated for 32pae & 64 bit modes
   48.20 @@ -923,20 +922,34 @@ mark_mfn_out_of_sync(struct vcpu *v, uns
   48.21      //
   48.22      get_page(page, d);
   48.23  
   48.24 +    return entry;
   48.25 +}
   48.26 +
   48.27 +static struct out_of_sync_entry *
   48.28 +mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
   48.29 +                             unsigned long mfn)
   48.30 +{
   48.31 +    struct out_of_sync_entry *entry =
   48.32 +        __mark_mfn_out_of_sync(v, gpfn, mfn);
   48.33 +    struct domain *d = v->domain;
   48.34 +
   48.35 +    entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
   48.36      // Add to the out-of-sync list
   48.37      //
   48.38      entry->next = d->arch.out_of_sync;
   48.39      d->arch.out_of_sync = entry;
   48.40  
   48.41      return entry;
   48.42 +
   48.43  }
   48.44  
   48.45  static void shadow_mark_va_out_of_sync(
   48.46      struct vcpu *v, unsigned long gpfn, unsigned long mfn, unsigned long va)
   48.47  {
   48.48      struct out_of_sync_entry *entry =
   48.49 -        shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
   48.50 +        __mark_mfn_out_of_sync(v, gpfn, mfn);
   48.51      l2_pgentry_t sl2e;
   48.52 +    struct domain *d = v->domain;
   48.53  
   48.54  #if CONFIG_PAGING_LEVELS >= 4
   48.55      {
   48.56 @@ -971,6 +984,7 @@ static void shadow_mark_va_out_of_sync(
   48.57      }
   48.58      ASSERT(l2e_get_flags(sl2e) & _PAGE_PRESENT);
   48.59  
   48.60 +    entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
   48.61      // NB: this is stored as a machine address.
   48.62      entry->writable_pl1e =
   48.63          l2e_get_paddr(sl2e) | (sizeof(l1_pgentry_t) * l1_table_offset(va));
   48.64 @@ -983,6 +997,11 @@ static void shadow_mark_va_out_of_sync(
   48.65      if ( !get_shadow_ref(l2e_get_pfn(sl2e)) )
   48.66          BUG();
   48.67  
   48.68 +    // Add to the out-of-sync list
   48.69 +    //
   48.70 +    entry->next = d->arch.out_of_sync;
   48.71 +    d->arch.out_of_sync = entry;
   48.72 +
   48.73      FSH_LOG("mark_out_of_sync(va=%lx -> writable_pl1e=%lx)",
   48.74              va, entry->writable_pl1e);
   48.75  }
    49.1 --- a/xen/arch/x86/shadow32.c	Wed Nov 16 13:34:52 2005 +0100
    49.2 +++ b/xen/arch/x86/shadow32.c	Wed Nov 16 13:38:16 2005 +0100
    49.3 @@ -1826,7 +1826,7 @@ shadow_free_snapshot(struct domain *d, s
    49.4  }
    49.5  
    49.6  struct out_of_sync_entry *
    49.7 -shadow_mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
    49.8 +__shadow_mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
    49.9                               unsigned long mfn)
   49.10  {
   49.11      struct domain *d = v->domain;
   49.12 @@ -1862,7 +1862,6 @@ shadow_mark_mfn_out_of_sync(struct vcpu 
   49.13      entry->v = v;
   49.14      entry->gpfn = gpfn;
   49.15      entry->gmfn = mfn;
   49.16 -    entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
   49.17      entry->writable_pl1e = -1;
   49.18  
   49.19  #if SHADOW_DEBUG
   49.20 @@ -1874,6 +1873,18 @@ shadow_mark_mfn_out_of_sync(struct vcpu 
   49.21      //
   49.22      get_page(page, d);
   49.23  
   49.24 +    return entry;
   49.25 +}
   49.26 +
   49.27 +struct out_of_sync_entry *
   49.28 +shadow_mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
   49.29 +                             unsigned long mfn)
   49.30 +{
   49.31 +    struct out_of_sync_entry *entry =
   49.32 +      __shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
   49.33 +    struct domain *d = v->domain;
   49.34 +
   49.35 +    entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
   49.36      // Add to the out-of-sync list
   49.37      //
   49.38      entry->next = d->arch.out_of_sync;
   49.39 @@ -1886,8 +1897,9 @@ void shadow_mark_va_out_of_sync(
   49.40      struct vcpu *v, unsigned long gpfn, unsigned long mfn, unsigned long va)
   49.41  {
   49.42      struct out_of_sync_entry *entry =
   49.43 -        shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
   49.44 +        __shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
   49.45      l2_pgentry_t sl2e;
   49.46 +    struct domain *d = v->domain;
   49.47  
   49.48      // We need the address of shadow PTE that maps @va.
   49.49      // It might not exist yet.  Make sure it's there.
   49.50 @@ -1902,6 +1914,7 @@ void shadow_mark_va_out_of_sync(
   49.51      }
   49.52      ASSERT(l2e_get_flags(sl2e) & _PAGE_PRESENT);
   49.53  
   49.54 +    entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
   49.55      // NB: this is stored as a machine address.
   49.56      entry->writable_pl1e =
   49.57          l2e_get_paddr(sl2e) | (sizeof(l1_pgentry_t) * l1_table_offset(va));
   49.58 @@ -1914,6 +1927,11 @@ void shadow_mark_va_out_of_sync(
   49.59      if ( !get_shadow_ref(l2e_get_pfn(sl2e)) )
   49.60          BUG();
   49.61  
   49.62 +    // Add to the out-of-sync list
   49.63 +    //
   49.64 +    entry->next = d->arch.out_of_sync;
   49.65 +    d->arch.out_of_sync = entry;
   49.66 +
   49.67      FSH_LOG("mark_out_of_sync(va=%lx -> writable_pl1e=%lx)",
   49.68              va, entry->writable_pl1e);
   49.69  }
    50.1 --- a/xen/common/kernel.c	Wed Nov 16 13:34:52 2005 +0100
    50.2 +++ b/xen/common/kernel.c	Wed Nov 16 13:38:16 2005 +0100
    50.3 @@ -124,10 +124,12 @@ long do_xen_version(int cmd, void *arg)
    50.4          return 0;
    50.5      }
    50.6      
    50.7 -    case XENVER_parameters:
    50.8 +    case XENVER_platform_parameters:
    50.9      {
   50.10 -        xen_parameters_info_t info = { .virt_start = HYPERVISOR_VIRT_START };
   50.11 -        if ( copy_to_user(arg, &info, sizeof(info)) )
   50.12 +        xen_platform_parameters_t params = {
   50.13 +            .virt_start = HYPERVISOR_VIRT_START
   50.14 +        };
   50.15 +        if ( copy_to_user(arg, &params, sizeof(params)) )
   50.16              return -EFAULT;
   50.17          return 0;
   50.18          
    51.1 --- a/xen/include/public/version.h	Wed Nov 16 13:34:52 2005 +0100
    51.2 +++ b/xen/include/public/version.h	Wed Nov 16 13:38:16 2005 +0100
    51.3 @@ -34,10 +34,10 @@ typedef char xen_capabilities_info_t[102
    51.4  #define XENVER_changeset 4
    51.5  typedef char xen_changeset_info_t[64];
    51.6  
    51.7 -#define XENVER_parameters 5
    51.8 -typedef struct xen_parameters_info {
    51.9 +#define XENVER_platform_parameters 5
   51.10 +typedef struct xen_platform_parameters {
   51.11      unsigned long virt_start;
   51.12 -} xen_parameters_info_t;
   51.13 +} xen_platform_parameters_t;
   51.14  
   51.15  #endif /* __XEN_PUBLIC_VERSION_H__ */
   51.16  
    52.1 --- a/xen/include/public/xen.h	Wed Nov 16 13:34:52 2005 +0100
    52.2 +++ b/xen/include/public/xen.h	Wed Nov 16 13:38:16 2005 +0100
    52.3 @@ -408,7 +408,7 @@ typedef struct shared_info {
    52.4  #define MAX_GUEST_CMDLINE 1024
    52.5  typedef struct start_info {
    52.6      /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
    52.7 -    char magic[32];             /* "Xen-<version>.<subversion>". */
    52.8 +    char magic[32];             /* "xen-<version>-<platform>".            */
    52.9      unsigned long nr_pages;     /* Total pages allocated to this domain.  */
   52.10      unsigned long shared_info;  /* MACHINE address of shared info struct. */
   52.11      uint32_t flags;             /* SIF_xxx flags.                         */