# HG changeset patch
# User emellor@xxxxxxxxxxxxxxxxxxxxxx
# Node ID 8ed932ab9f2ac7eda18356ed7e2503225b297209
# Parent dee321bf18e98ddc1058dcc60d7329d4015a13a9
# Parent 6f14770351345edfd9b233d5b54980b014e35464
Merged.
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c Wed Nov 16
12:34:52 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/pci-dma.c Wed Nov 16
12:38:16 2005
@@ -15,6 +15,7 @@
#include <asm/io.h>
#include <asm-xen/balloon.h>
#include <asm/tlbflush.h>
+#include <asm/swiotlb.h>
struct dma_coherent_mem {
void *virt_base;
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/arch/xen/kernel/devmem.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c Wed Nov 16 12:34:52 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/devmem.c Wed Nov 16 12:38:16 2005
@@ -79,7 +79,7 @@
if ((v = ioremap(p, count)) == NULL)
return -EFAULT;
- if (copy_to_user(v, buf, count))
+ if (copy_from_user(v, buf, count))
goto out;
written = count;
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/arch/xen/kernel/reboot.c
--- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c Wed Nov 16 12:34:52 2005
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c Wed Nov 16 12:38:16 2005
@@ -15,6 +15,7 @@
#include <asm-xen/xenbus.h>
#include <linux/cpu.h>
#include <linux/kthread.h>
+#include <asm-xen/xencons.h>
#define SHUTDOWN_INVALID -1
#define SHUTDOWN_POWEROFF 0
@@ -29,7 +30,6 @@
void machine_restart(char * __unused)
{
/* We really want to get pending console data out before we die. */
- extern void xencons_force_flush(void);
xencons_force_flush();
HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_reboot);
}
@@ -42,7 +42,6 @@
void machine_power_off(void)
{
/* We really want to get pending console data out before we die. */
- extern void xencons_force_flush(void);
xencons_force_flush();
HYPERVISOR_sched_op(SCHEDOP_shutdown, SHUTDOWN_poweroff);
}
@@ -84,8 +83,6 @@
cpumask_t prev_online_cpus;
int vcpu_prepare(int vcpu);
#endif
-
- extern void xencons_resume(void);
int err = 0;
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c
--- a/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c Wed Nov 16
12:34:52 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c Wed Nov 16
12:38:16 2005
@@ -381,9 +381,9 @@
}
-int balloon_init_watcher(struct notifier_block *notifier,
- unsigned long event,
- void *data)
+static int balloon_init_watcher(struct notifier_block *notifier,
+ unsigned long event,
+ void *data)
{
int err;
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Wed Nov 16
12:34:52 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Wed Nov 16
12:38:16 2005
@@ -679,7 +679,7 @@
int j;
/* Stage 1: Make a safe copy of the shadow state. */
- copy = (struct blk_shadow *)kmalloc(sizeof(info->shadow), GFP_KERNEL);
+ copy = kmalloc(sizeof(info->shadow), GFP_KERNEL);
BUG_ON(copy == NULL);
memcpy(copy, info->shadow, sizeof(info->shadow));
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/drivers/xen/console/console.c
--- a/linux-2.6-xen-sparse/drivers/xen/console/console.c Wed Nov 16
12:34:52 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/console/console.c Wed Nov 16
12:38:16 2005
@@ -53,6 +53,7 @@
#include <asm-xen/xen-public/event_channel.h>
#include <asm/hypervisor.h>
#include <asm-xen/evtchn.h>
+#include <asm-xen/xencons.h>
#include "xencons_ring.h"
/*
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Wed Nov 16
12:34:52 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Wed Nov 16
12:38:16 2005
@@ -228,7 +228,7 @@
* used as the IO-area pointer (it can be iounmapped as well, so the
* analogy with PCI is quite large):
*/
-#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET))
+#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN)))
#define isa_readb(a) readb(__ISA_IO_base + (a))
#define isa_readw(a) readw(__ISA_IO_base + (a))
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Wed Nov 16
12:34:52 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/io.h Wed Nov 16
12:38:16 2005
@@ -298,7 +298,7 @@
* used as the IO-area pointer (it can be iounmapped as well, so the
* analogy with PCI is quite large):
*/
-#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET))
+#define __ISA_IO_base ((char __iomem *)(fix_to_virt(FIX_ISAMAP_BEGIN)))
#define isa_readb(a) readb(__ISA_IO_base + (a))
#define isa_readw(a) readw(__ISA_IO_base + (a))
diff -r dee321bf18e9 -r 8ed932ab9f2a tools/libxc/xc_linux_build.c
--- a/tools/libxc/xc_linux_build.c Wed Nov 16 12:34:52 2005
+++ b/tools/libxc/xc_linux_build.c Wed Nov 16 12:38:16 2005
@@ -351,7 +351,7 @@
xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE, page_array[0]);
memset(start_info, 0, sizeof(*start_info));
rc = xc_version(xc_handle, XENVER_version, NULL);
- sprintf(start_info->magic, "xen-%i.%i", rc >> 16, rc & (0xFFFF));
+ sprintf(start_info->magic, "xen-%i.%i-ia64", rc >> 16, rc & (0xFFFF));
start_info->flags = flags;
start_info->store_mfn = nr_pages - 2;
start_info->store_evtchn = store_evtchn;
@@ -628,7 +628,9 @@
page_array[(vstartinfo_start-dsi.v_start)>>PAGE_SHIFT]);
memset(start_info, 0, sizeof(*start_info));
rc = xc_version(xc_handle, XENVER_version, NULL);
- sprintf(start_info->magic, "xen-%i.%i", rc >> 16, rc & (0xFFFF));
+ sprintf(start_info->magic, "xen-%i.%i-x86_%d%s",
+ rc >> 16, rc & (0xFFFF), sizeof(long)*8,
+ dsi.pae_kernel ? "p" : "");
start_info->nr_pages = nr_pages;
start_info->shared_info = shared_info_frame << PAGE_SHIFT;
start_info->flags = flags;
diff -r dee321bf18e9 -r 8ed932ab9f2a tools/libxc/xc_private.c
--- a/tools/libxc/xc_private.c Wed Nov 16 12:34:52 2005
+++ b/tools/libxc/xc_private.c Wed Nov 16 12:38:16 2005
@@ -402,11 +402,21 @@
switch ( cmd )
{
- case XENVER_extraversion: argsize = sizeof(xen_extraversion_t); break;
- case XENVER_compile_info: argsize = sizeof(xen_compile_info_t); break;
- case XENVER_capabilities: argsize = sizeof(xen_capabilities_info_t); break;
- case XENVER_changeset: argsize = sizeof(xen_changeset_info_t); break;
- case XENVER_parameters: argsize = sizeof(xen_parameters_info_t); break;
+ case XENVER_extraversion:
+ argsize = sizeof(xen_extraversion_t);
+ break;
+ case XENVER_compile_info:
+ argsize = sizeof(xen_compile_info_t);
+ break;
+ case XENVER_capabilities:
+ argsize = sizeof(xen_capabilities_info_t);
+ break;
+ case XENVER_changeset:
+ argsize = sizeof(xen_changeset_info_t);
+ break;
+ case XENVER_platform_parameters:
+ argsize = sizeof(xen_platform_parameters_t);
+ break;
}
if ( (argsize != 0) && (mlock(arg, argsize) != 0) )
diff -r dee321bf18e9 -r 8ed932ab9f2a tools/libxc/xg_save_restore.h
--- a/tools/libxc/xg_save_restore.h Wed Nov 16 12:34:52 2005
+++ b/tools/libxc/xg_save_restore.h Wed Nov 16 12:38:16 2005
@@ -61,20 +61,20 @@
{
xen_capabilities_info_t xen_caps = "";
- xen_parameters_info_t xen_parms;
+ xen_platform_parameters_t xen_params;
xc_physinfo_t physinfo;
if (xc_physinfo(xc_handle, &physinfo) != 0)
return 0;
- if (xc_version(xc_handle, XENVER_parameters, &xen_parms) != 0)
+ 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 = physinfo.total_pages;
- *hvirt_start = xen_parms.virt_start;
+ *hvirt_start = xen_params.virt_start;
if (strstr(xen_caps, "xen-3.0-x86_64"))
*pt_levels = 4;
diff -r dee321bf18e9 -r 8ed932ab9f2a tools/python/xen/lowlevel/xc/xc.c
--- a/tools/python/xen/lowlevel/xc/xc.c Wed Nov 16 12:34:52 2005
+++ b/tools/python/xen/lowlevel/xc/xc.c Wed Nov 16 12:38:16 2005
@@ -721,7 +721,7 @@
xen_compile_info_t xen_cc;
xen_changeset_info_t xen_chgset;
xen_capabilities_info_t xen_caps;
- xen_parameters_info_t xen_parms;
+ xen_platform_parameters_t p_parms;
long xen_version;
char str[128];
@@ -739,17 +739,17 @@
if ( xc_version(xc->xc_handle, XENVER_capabilities, &xen_caps) != 0 )
return PyErr_SetFromErrno(xc_error);
- if ( xc_version(xc->xc_handle, XENVER_parameters, &xen_parms) != 0 )
- return PyErr_SetFromErrno(xc_error);
-
- sprintf(str,"virt_start=0x%lx",xen_parms.virt_start);
+ if ( xc_version(xc->xc_handle, XENVER_platform_parameters, &p_parms) != 0 )
+ return PyErr_SetFromErrno(xc_error);
+
+ sprintf(str, "virt_start=0x%lx", p_parms.virt_start);
return Py_BuildValue("{s:i,s:i,s:s,s:s,s:s,s:s,s:s,s:s,s:s,s:s}",
"xen_major", xen_version >> 16,
"xen_minor", (xen_version & 0xffff),
"xen_extra", xen_extra,
"xen_caps", xen_caps,
- "xen_params", str,
+ "platform_params", str,
"xen_changeset", xen_chgset,
"cc_compiler", xen_cc.compiler,
"cc_compile_by", xen_cc.compile_by,
diff -r dee321bf18e9 -r 8ed932ab9f2a tools/python/xen/xend/XendNode.py
--- a/tools/python/xen/xend/XendNode.py Wed Nov 16 12:34:52 2005
+++ b/tools/python/xen/xend/XendNode.py Wed Nov 16 12:38:16 2005
@@ -75,7 +75,7 @@
['xen_minor', xinfo['xen_minor']],
['xen_extra', xinfo['xen_extra']],
['xen_caps', xinfo['xen_caps']],
- ['xen_params',xinfo['xen_params']],
+ ['platform_params',xinfo['platform_params']],
['xen_changeset', xinfo['xen_changeset']],
['cc_compiler', xinfo['cc_compiler']],
['cc_compile_by', xinfo['cc_compile_by']],
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/block-create/06_block_attach_baddomain_neg.py
--- a/tools/xm-test/tests/block-create/06_block_attach_baddomain_neg.py Wed Nov
16 12:34:52 2005
+++ b/tools/xm-test/tests/block-create/06_block_attach_baddomain_neg.py Wed Nov
16 12:38:16 2005
@@ -11,7 +11,7 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm block-attach returned bad status, expected non 0, status is:
%i" % status )
-elif where > 1:
+elif where == -1:
FAIL("xm block-attach returned bad output, expected Error, output is:
%s" % output )
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/block-create/07_block_attach_baddevice_neg.py
--- a/tools/xm-test/tests/block-create/07_block_attach_baddevice_neg.py Wed Nov
16 12:34:52 2005
+++ b/tools/xm-test/tests/block-create/07_block_attach_baddevice_neg.py Wed Nov
16 12:38:16 2005
@@ -42,7 +42,7 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm block-attach returned bad status, expected non 0, status is:
%i" % status )
-elif where > 1:
+elif where == -1:
FAIL("xm block-attach returned bad output, expected Error, output is:
%s" % output )
try:
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/block-create/08_block_attach_bad_filedevice_neg.py
--- a/tools/xm-test/tests/block-create/08_block_attach_bad_filedevice_neg.py
Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/block-create/08_block_attach_bad_filedevice_neg.py
Wed Nov 16 12:38:16 2005
@@ -41,7 +41,7 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm block-attach returned bad status, expected non 0, status is:
%i" % status )
-elif where > 1:
+elif where == -1:
FAIL("xm block-attach returned bad output, expected Error, output is:
%s" % output )
try:
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/console/01_console_badopt_neg.py
--- a/tools/xm-test/tests/console/01_console_badopt_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/console/01_console_badopt_neg.py Wed Nov 16
12:38:16 2005
@@ -17,5 +17,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm console returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm console didn't report error on bad argument")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/console/02_console_baddom_neg.py
--- a/tools/xm-test/tests/console/02_console_baddom_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/console/02_console_baddom_neg.py Wed Nov 16
12:38:16 2005
@@ -15,7 +15,7 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm console returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm console failed to report error on bad domid")
status, output = traceCommand("xm console NON_EXIST")
@@ -23,5 +23,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm console returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm console failed to report error on bad domname")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/create/02_create_noparm_neg.py
--- a/tools/xm-test/tests/create/02_create_noparm_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/create/02_create_noparm_neg.py Wed Nov 16
12:38:16 2005
@@ -12,6 +12,6 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm create returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm create failed to report error on missing args")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/create/03_create_badparm_neg.py
--- a/tools/xm-test/tests/create/03_create_badparm_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/create/03_create_badparm_neg.py Wed Nov 16
12:38:16 2005
@@ -15,5 +15,5 @@
status, output = traceCommand("xm create -x")
eyecatcher = "Error:"
where = output.find(eyecatcher)
-if where != 0:
+if where == -1:
FAIL("xm create failed to report error on bad arg")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/create/05_create_noroot_noram_neg.py
--- a/tools/xm-test/tests/create/05_create_noroot_noram_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/create/05_create_noroot_noram_neg.py Wed Nov 16
12:38:16 2005
@@ -22,5 +22,5 @@
eyecatcher = "NOROOT"
status, output = traceCommand("xm list")
where = output.find(eyecatcher)
-if where != -1 :
+if where != -1:
FAIL("xm create test05 passed with no root and no ramdisk. Expected
result: Fail.")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/destroy/02_destroy_noparm_neg.py
--- a/tools/xm-test/tests/destroy/02_destroy_noparm_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/destroy/02_destroy_noparm_neg.py Wed Nov 16
12:38:16 2005
@@ -12,5 +12,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm destroy returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm destroy failed to report error for missing arg")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/destroy/03_destroy_nonexist_neg.py
--- a/tools/xm-test/tests/destroy/03_destroy_nonexist_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/destroy/03_destroy_nonexist_neg.py Wed Nov 16
12:38:16 2005
@@ -12,5 +12,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm destroy returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm destroy failed to report error for bad arg")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/destroy/04_destroy_badparm_neg.py
--- a/tools/xm-test/tests/destroy/04_destroy_badparm_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/destroy/04_destroy_badparm_neg.py Wed Nov 16
12:38:16 2005
@@ -12,5 +12,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm destroy returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm destroy failed to report error for bad domid")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/dmesg/02_dmesg_basic_neg.py
--- a/tools/xm-test/tests/dmesg/02_dmesg_basic_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/dmesg/02_dmesg_basic_neg.py Wed Nov 16 12:38:16 2005
@@ -12,6 +12,6 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm dmesg returned invalid %i != 0" % status)
-elif where == 1:
+elif where == -1:
FAIL("xm dmesg failed to report error for bad arg")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/help/01_help_basic_pos.py
--- a/tools/xm-test/tests/help/01_help_basic_pos.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/help/01_help_basic_pos.py Wed Nov 16 12:38:16 2005
@@ -10,5 +10,5 @@
status, output = traceCommand("xm help")
eyecatcher = "Usage:"
where = output.find(eyecatcher)
-if where != 0:
+if where == -1:
FAIL("xm help: didn't see the usage string")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/help/02_help_basic_neg.py
--- a/tools/xm-test/tests/help/02_help_basic_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/help/02_help_basic_neg.py Wed Nov 16 12:38:16 2005
@@ -10,5 +10,5 @@
status, output = traceCommand("xm")
eyecatcher = "Usage:"
where = output.find(eyecatcher)
-if where != 0:
+if where == -1:
FAIL("xm: didn't display usage when given no arguments")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/help/03_help_badparm_neg.py
--- a/tools/xm-test/tests/help/03_help_badparm_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/help/03_help_badparm_neg.py Wed Nov 16 12:38:16 2005
@@ -10,5 +10,5 @@
status, output = traceCommand("xm -x")
eyecatcher = "Error:"
where = output.find(eyecatcher)
-if where != 0:
+if where == -1:
FAIL("xm failed to report error for bad arg")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/help/05_help_nonroot_pos.py
--- a/tools/xm-test/tests/help/05_help_nonroot_pos.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/help/05_help_nonroot_pos.py Wed Nov 16 12:38:16 2005
@@ -13,5 +13,5 @@
status, output = traceCommand("xm help")
eyecatcher = "Usage:"
where = output.find(eyecatcher)
-if where != 0:
+if where == -1:
FAIL("xm help: didn't see the usage string")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/list/02_list_badparm_neg.py
--- a/tools/xm-test/tests/list/02_list_badparm_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/list/02_list_badparm_neg.py Wed Nov 16 12:38:16 2005
@@ -12,5 +12,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm list returned invalud %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm list failed to report error for bad arg")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/list/03_list_nonexist_neg.py
--- a/tools/xm-test/tests/list/03_list_nonexist_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/list/03_list_nonexist_neg.py Wed Nov 16 12:38:16 2005
@@ -12,6 +12,6 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm list returned invalid %i != 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm list failed to report error for invalid domid")
diff -r dee321bf18e9 -r 8ed932ab9f2a tools/xm-test/tests/list/06_list_nonroot.py
--- a/tools/xm-test/tests/list/06_list_nonroot.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/list/06_list_nonroot.py Wed Nov 16 12:38:16 2005
@@ -11,5 +11,5 @@
status, output = traceCommand("xm list")
eyecatcher = "Error: Most commands need root access"
where = output.find(eyecatcher)
-if where != 0:
+if where == -1:
FAIL("xm help: didn't see the root hint, saw %s" % output)
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/memset/02_memset_badparm_neg.py
--- a/tools/xm-test/tests/memset/02_memset_badparm_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/memset/02_memset_badparm_neg.py Wed Nov 16
12:38:16 2005
@@ -24,7 +24,7 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm mem-set returned invalid %i == 0" % status)
-elif where > 1:
+elif where == -1:
FAIL("xm mem-set failed to report error for missing arg")
# destroy non existent parm input - negative test
@@ -32,7 +32,7 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm mem-set returned invalid %i == 0" % status)
-elif where != 0:
+elif where == -1:
FAIL("xm mem-set failed to report error for bad arg")
# destroy non existent domain - negative test
@@ -40,14 +40,14 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm mem-set returned invalid %i == 0" % status)
-elif where != 0:
+elif where == -1:
FAIL("xm mem-set failed to report error for invalid domid")
# destroy non existent domain and memory - negative test
status, output = traceCommand("xm mem-set 6666 64")
where = output.find(eyecatcher)
if status == 0:
- FAIL("xm mem-set returned invalid %i != 0" % status)
-elif where != 0:
+ FAIL("xm mem-set returned invalid %i == -1" % status)
+elif where == -1:
FAIL("xm mem-set failed to report error for invalid domid")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/pause/02_pause_badopt_neg.py
--- a/tools/xm-test/tests/pause/02_pause_badopt_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/pause/02_pause_badopt_neg.py Wed Nov 16 12:38:16 2005
@@ -25,7 +25,7 @@
if status == 0:
domain.destroy()
FAIL("xm pause returned bad status, expected non 0, status is: %i" %
status )
-elif where > 1:
+elif where == -1:
domain.destroy()
FAIL("xm pause returned bad output, expected Error, output is: %s" %
output )
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/pause/03_pause_badname_neg.py
--- a/tools/xm-test/tests/pause/03_pause_badname_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/pause/03_pause_badname_neg.py Wed Nov 16 12:38:16 2005
@@ -14,5 +14,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm pause returned bad status, expected non 0, status is: %i" %
status )
-elif where > 1:
+elif where == -1:
FAIL("xm pause returned bad output, expected Error, output is: %s" %
output )
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/pause/04_pause_badid_neg.py
--- a/tools/xm-test/tests/pause/04_pause_badid_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/pause/04_pause_badid_neg.py Wed Nov 16 12:38:16 2005
@@ -14,5 +14,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm pause returned bad status, expected non 0, status is: %i" %
status )
-elif where > 1:
+elif where == -1:
FAIL("xm pause returned bad output, expected Error, output is: %s" %
output )
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/reboot/02_reboot_badopt_neg.py
--- a/tools/xm-test/tests/reboot/02_reboot_badopt_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/reboot/02_reboot_badopt_neg.py Wed Nov 16
12:38:16 2005
@@ -25,7 +25,7 @@
if status == 0:
domain.destroy()
FAIL("xm reboot returned invalid %i == 0" % status )
-elif where > 1:
+elif where == -1:
domain.destroy()
FAIL("xm reboot failed to report error for bad arg")
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/reboot/03_reboot_badname_neg.py
--- a/tools/xm-test/tests/reboot/03_reboot_badname_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/reboot/03_reboot_badname_neg.py Wed Nov 16
12:38:16 2005
@@ -14,5 +14,5 @@
where = output.find(eyecatcher)
if status == 0:
FAIL("xm reboot returned invalid %i == 0" % status )
-elif where > 1:
+elif where == -1:
FAIL("xm reboot failed to report error for non-existent domain" )
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/restore/02_restore_badparm_neg.py
--- a/tools/xm-test/tests/restore/02_restore_badparm_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/restore/02_restore_badparm_neg.py Wed Nov 16
12:38:16 2005
@@ -21,5 +21,5 @@
FAIL("xm restore returned bad status, expected non 0, status is: %i" %
status)
elif where2 == 0:
FAIL("xm restore returned a stack dump, expected nice error message")
-elif where1 > 0:
+elif where1 == -1:
FAIL("xm restore returned bad output, expected Error:, output is: %s" %
output)
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/restore/03_restore_badfilename_neg.py
--- a/tools/xm-test/tests/restore/03_restore_badfilename_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/restore/03_restore_badfilename_neg.py Wed Nov 16
12:38:16 2005
@@ -21,5 +21,5 @@
FAIL("xm restore returned bad status, expected non 0, status is: %i" %
status)
elif where2 == 0:
FAIL("xm restore returned a stack dump, expected nice error message")
-elif where1 > 0:
+elif where1 == -1:
FAIL("xm restore returned bad output, expected Error:, output is: %s" %
output)
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/save/02_save_badparm_neg.py
--- a/tools/xm-test/tests/save/02_save_badparm_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/save/02_save_badparm_neg.py Wed Nov 16 12:38:16 2005
@@ -21,5 +21,5 @@
FAIL("xm save returned bad status, expected non 0, status is: %i" % status)
elif where2 == 0:
FAIL("xm save returned a stack dump, expected nice error message")
-elif where1 > 0:
+elif where1 == -1:
FAIL("xm save returned bad output, expected Error:, output is: %s" %
output)
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/save/03_save_bogusfile_neg.py
--- a/tools/xm-test/tests/save/03_save_bogusfile_neg.py Wed Nov 16 12:34:52 2005
+++ b/tools/xm-test/tests/save/03_save_bogusfile_neg.py Wed Nov 16 12:38:16 2005
@@ -38,5 +38,5 @@
FAIL("xm save returned bad status, expected non 0, status is: %i" % status)
elif where1 == 0:
FAIL("xm save returned a stack dump, expected nice error message")
-elif where2 > 0:
+elif where2 == -1:
FAIL("xm save returned bad output, expected Error:, output is: %s" %
output)
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/shutdown/02_shutdown_badparm_neg.py
--- a/tools/xm-test/tests/shutdown/02_shutdown_badparm_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/shutdown/02_shutdown_badparm_neg.py Wed Nov 16
12:38:16 2005
@@ -32,7 +32,7 @@
where = output.find(eyecatcher)
if (ret == 0):
FAIL("xm shutdown returned invalid %i == 0" % ret)
-elif where != 0:
+elif where == -1:
FAIL("xm shutdown failed to report error for bad arg")
# Stop the domain (nice shutdown)
diff -r dee321bf18e9 -r 8ed932ab9f2a
tools/xm-test/tests/shutdown/03_shutdown_nonexist_neg.py
--- a/tools/xm-test/tests/shutdown/03_shutdown_nonexist_neg.py Wed Nov 16
12:34:52 2005
+++ b/tools/xm-test/tests/shutdown/03_shutdown_nonexist_neg.py Wed Nov 16
12:38:16 2005
@@ -18,5 +18,5 @@
where = output.find(eyecatcher)
if (ret == 0):
FAIL("xm shutdown returned invalid %i == 0" % ret)
-elif where != 0:
+elif where == -1:
FAIL("xm shutdown failed to report error for bad domid")
diff -r dee321bf18e9 -r 8ed932ab9f2a xen/arch/ia64/xen/domain.c
--- a/xen/arch/ia64/xen/domain.c Wed Nov 16 12:34:52 2005
+++ b/xen/arch/ia64/xen/domain.c Wed Nov 16 12:38:16 2005
@@ -952,7 +952,7 @@
si = (start_info_t *)alloc_xenheap_page();
memset(si, 0, PAGE_SIZE);
d->shared_info->arch.start_info_pfn = __pa(si) >> PAGE_SHIFT;
- sprintf(si->magic, "Xen-%i.%i", XEN_VERSION, XEN_SUBVERSION);
+ sprintf(si->magic, "xen-%i.%i-ia64", XEN_VERSION, XEN_SUBVERSION);
#if 0
si->nr_pages = d->tot_pages;
diff -r dee321bf18e9 -r 8ed932ab9f2a xen/arch/x86/domain_build.c
--- a/xen/arch/x86/domain_build.c Wed Nov 16 12:34:52 2005
+++ b/xen/arch/x86/domain_build.c Wed Nov 16 12:38:16 2005
@@ -639,7 +639,8 @@
si->pt_base = vpt_start;
si->nr_pt_frames = nr_pt_pages;
si->mfn_list = vphysmap_start;
- sprintf(si->magic, "Xen-%i.%i", XEN_VERSION, XEN_SUBVERSION);
+ sprintf(si->magic, "xen-%i.%i-x86_%d%s",
+ XEN_VERSION, XEN_SUBVERSION, BITS_PER_LONG, xen_pae ? "p" : "");
/* Write the phys->machine and machine->phys table entries. */
for ( pfn = 0; pfn < d->tot_pages; pfn++ )
diff -r dee321bf18e9 -r 8ed932ab9f2a xen/arch/x86/shadow.c
--- a/xen/arch/x86/shadow.c Wed Nov 16 12:34:52 2005
+++ b/xen/arch/x86/shadow.c Wed Nov 16 12:38:16 2005
@@ -873,7 +873,7 @@
}
static struct out_of_sync_entry *
-mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
+__mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
unsigned long mfn)
{
struct domain *d = v->domain;
@@ -909,7 +909,6 @@
entry->v = v;
entry->gpfn = gpfn;
entry->gmfn = mfn;
- entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
entry->writable_pl1e = -1;
#if 0 // this code has not been updated for 32pae & 64 bit modes
@@ -923,20 +922,34 @@
//
get_page(page, d);
+ return entry;
+}
+
+static struct out_of_sync_entry *
+mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
+ unsigned long mfn)
+{
+ struct out_of_sync_entry *entry =
+ __mark_mfn_out_of_sync(v, gpfn, mfn);
+ struct domain *d = v->domain;
+
+ entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
// Add to the out-of-sync list
//
entry->next = d->arch.out_of_sync;
d->arch.out_of_sync = entry;
return entry;
+
}
static void shadow_mark_va_out_of_sync(
struct vcpu *v, unsigned long gpfn, unsigned long mfn, unsigned long va)
{
struct out_of_sync_entry *entry =
- shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
+ __mark_mfn_out_of_sync(v, gpfn, mfn);
l2_pgentry_t sl2e;
+ struct domain *d = v->domain;
#if CONFIG_PAGING_LEVELS >= 4
{
@@ -971,6 +984,7 @@
}
ASSERT(l2e_get_flags(sl2e) & _PAGE_PRESENT);
+ entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
// NB: this is stored as a machine address.
entry->writable_pl1e =
l2e_get_paddr(sl2e) | (sizeof(l1_pgentry_t) * l1_table_offset(va));
@@ -982,6 +996,11 @@
//
if ( !get_shadow_ref(l2e_get_pfn(sl2e)) )
BUG();
+
+ // Add to the out-of-sync list
+ //
+ entry->next = d->arch.out_of_sync;
+ d->arch.out_of_sync = entry;
FSH_LOG("mark_out_of_sync(va=%lx -> writable_pl1e=%lx)",
va, entry->writable_pl1e);
diff -r dee321bf18e9 -r 8ed932ab9f2a xen/arch/x86/shadow32.c
--- a/xen/arch/x86/shadow32.c Wed Nov 16 12:34:52 2005
+++ b/xen/arch/x86/shadow32.c Wed Nov 16 12:38:16 2005
@@ -1826,7 +1826,7 @@
}
struct out_of_sync_entry *
-shadow_mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
+__shadow_mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
unsigned long mfn)
{
struct domain *d = v->domain;
@@ -1862,7 +1862,6 @@
entry->v = v;
entry->gpfn = gpfn;
entry->gmfn = mfn;
- entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
entry->writable_pl1e = -1;
#if SHADOW_DEBUG
@@ -1874,6 +1873,18 @@
//
get_page(page, d);
+ return entry;
+}
+
+struct out_of_sync_entry *
+shadow_mark_mfn_out_of_sync(struct vcpu *v, unsigned long gpfn,
+ unsigned long mfn)
+{
+ struct out_of_sync_entry *entry =
+ __shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
+ struct domain *d = v->domain;
+
+ entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
// Add to the out-of-sync list
//
entry->next = d->arch.out_of_sync;
@@ -1886,8 +1897,9 @@
struct vcpu *v, unsigned long gpfn, unsigned long mfn, unsigned long va)
{
struct out_of_sync_entry *entry =
- shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
+ __shadow_mark_mfn_out_of_sync(v, gpfn, mfn);
l2_pgentry_t sl2e;
+ struct domain *d = v->domain;
// We need the address of shadow PTE that maps @va.
// It might not exist yet. Make sure it's there.
@@ -1902,6 +1914,7 @@
}
ASSERT(l2e_get_flags(sl2e) & _PAGE_PRESENT);
+ entry->snapshot_mfn = shadow_make_snapshot(d, gpfn, mfn);
// NB: this is stored as a machine address.
entry->writable_pl1e =
l2e_get_paddr(sl2e) | (sizeof(l1_pgentry_t) * l1_table_offset(va));
@@ -1913,6 +1926,11 @@
//
if ( !get_shadow_ref(l2e_get_pfn(sl2e)) )
BUG();
+
+ // Add to the out-of-sync list
+ //
+ entry->next = d->arch.out_of_sync;
+ d->arch.out_of_sync = entry;
FSH_LOG("mark_out_of_sync(va=%lx -> writable_pl1e=%lx)",
va, entry->writable_pl1e);
diff -r dee321bf18e9 -r 8ed932ab9f2a xen/common/kernel.c
--- a/xen/common/kernel.c Wed Nov 16 12:34:52 2005
+++ b/xen/common/kernel.c Wed Nov 16 12:38:16 2005
@@ -124,10 +124,12 @@
return 0;
}
- case XENVER_parameters:
+ case XENVER_platform_parameters:
{
- xen_parameters_info_t info = { .virt_start = HYPERVISOR_VIRT_START };
- if ( copy_to_user(arg, &info, sizeof(info)) )
+ xen_platform_parameters_t params = {
+ .virt_start = HYPERVISOR_VIRT_START
+ };
+ if ( copy_to_user(arg, ¶ms, sizeof(params)) )
return -EFAULT;
return 0;
diff -r dee321bf18e9 -r 8ed932ab9f2a xen/include/public/version.h
--- a/xen/include/public/version.h Wed Nov 16 12:34:52 2005
+++ b/xen/include/public/version.h Wed Nov 16 12:38:16 2005
@@ -34,10 +34,10 @@
#define XENVER_changeset 4
typedef char xen_changeset_info_t[64];
-#define XENVER_parameters 5
-typedef struct xen_parameters_info {
+#define XENVER_platform_parameters 5
+typedef struct xen_platform_parameters {
unsigned long virt_start;
-} xen_parameters_info_t;
+} xen_platform_parameters_t;
#endif /* __XEN_PUBLIC_VERSION_H__ */
diff -r dee321bf18e9 -r 8ed932ab9f2a xen/include/public/xen.h
--- a/xen/include/public/xen.h Wed Nov 16 12:34:52 2005
+++ b/xen/include/public/xen.h Wed Nov 16 12:38:16 2005
@@ -408,7 +408,7 @@
#define MAX_GUEST_CMDLINE 1024
typedef struct start_info {
/* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME. */
- char magic[32]; /* "Xen-<version>.<subversion>". */
+ char magic[32]; /* "xen-<version>-<platform>". */
unsigned long nr_pages; /* Total pages allocated to this domain. */
unsigned long shared_info; /* MACHINE address of shared info struct. */
uint32_t flags; /* SIF_xxx flags. */
diff -r dee321bf18e9 -r 8ed932ab9f2a
linux-2.6-xen-sparse/include/asm-xen/xencons.h
--- /dev/null Wed Nov 16 12:34:52 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/xencons.h Wed Nov 16 12:38:16 2005
@@ -0,0 +1,7 @@
+#ifndef __ASM_XENCONS_H__
+#define __ASM_XENCONS_H__
+
+void xencons_force_flush(void);
+void xencons_resume(void);
+
+#endif /* __ASM_XENCONS_H__ */
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|