# HG changeset patch
# User emellor@xxxxxxxxxxxxxxxxxxxxxx
# Node ID 5358eceec5ea41d3dabf52eb33ac189393f4bb92
# Parent e0d01dd6c4ca0f14b29aa7b07d9a3a82d58371ea
# Parent 57acbaf6dd29c154f8ee20928eaa1c630a27a913
Merged.
diff -r e0d01dd6c4ca -r 5358eceec5ea
linux-2.6-xen-sparse/arch/xen/i386/kernel/fixup.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/fixup.c Thu Dec 1 03:39:23 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/fixup.c Thu Dec 1 03:40:26 2005
@@ -56,9 +56,11 @@
DP("***************************************************************");
DP("***************************************************************");
DP("** WARNING: Currently emulating unsupported memory accesses **");
- DP("** in /lib/tls libraries. The emulation is very **");
+ DP("** in /lib/tls glibc libraries. The emulation is **");
DP("** slow. To ensure full performance you should **");
- DP("** execute the following as root: **");
+ DP("** install a 'xen-friendly' (nosegneg) version of **");
+ DP("** the library, or disable tls support by executing **");
+ DP("** the following as root: **");
DP("** mv /lib/tls /lib/tls.disabled **");
DP("** Offending process: %-38.38s **", info);
DP("***************************************************************");
diff -r e0d01dd6c4ca -r 5358eceec5ea
linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c
--- a/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Thu Dec 1
03:39:23 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Thu Dec 1
03:40:26 2005
@@ -33,6 +33,7 @@
#include <asm-xen/xen_proc.h>
static struct proc_dir_entry *privcmd_intf;
+static struct proc_dir_entry *capabilities_intf;
static int privcmd_ioctl(struct inode *inode, struct file *file,
unsigned int cmd, unsigned long data)
@@ -234,12 +235,28 @@
.mmap = privcmd_mmap,
};
+static int capabilities_read(char *page, char **start, off_t off,
+ int count, int *eof, void *data)
+{
+ int len = 0;
+ *page = 0;
+
+ if (xen_start_info->flags & SIF_INITDOMAIN)
+ len = sprintf( page, "control_d\n" );
+
+ *eof = 1;
+ return len;
+}
static int __init privcmd_init(void)
{
privcmd_intf = create_xen_proc_entry("privcmd", 0400);
if (privcmd_intf != NULL)
privcmd_intf->proc_fops = &privcmd_file_ops;
+
+ capabilities_intf = create_xen_proc_entry("capabilities", 0400 );
+ if (capabilities_intf != NULL)
+ capabilities_intf->read_proc = capabilities_read;
return 0;
}
diff -r e0d01dd6c4ca -r 5358eceec5ea tools/xm-test/tests/create/Makefile.am
--- a/tools/xm-test/tests/create/Makefile.am Thu Dec 1 03:39:23 2005
+++ b/tools/xm-test/tests/create/Makefile.am Thu Dec 1 03:40:26 2005
@@ -4,7 +4,6 @@
02_create_noparm_neg.test \
03_create_badparm_neg.test \
04_create_conflictname_neg.test \
- 05_create_noroot_noram_neg.test \
06_create_mem_neg.test \
07_create_mem64_pos.test \
08_create_mem128_pos.test \
diff -r e0d01dd6c4ca -r 5358eceec5ea
tools/xm-test/tests/migrate/01_migrate_localhost_pos.py
--- a/tools/xm-test/tests/migrate/01_migrate_localhost_pos.py Thu Dec 1
03:39:23 2005
+++ b/tools/xm-test/tests/migrate/01_migrate_localhost_pos.py Thu Dec 1
03:40:26 2005
@@ -38,8 +38,8 @@
try:
# Activate the console
console.sendInput("foo")
- # Make sure a command succeeds
- run = console.runCmd("ls /bin")
+ # Set a variable to check on the other side
+ run = console.runCmd("foo=bar")
except ConsoleError, e:
FAIL(str(e))
@@ -66,18 +66,21 @@
# Attach a console to it
try:
console = XmConsole(domain.getName(), historySaveCmds=True)
+ console.debugMe = True
except ConsoleError, e:
pass
+
+console.sendInput("ls")
# Run 'ls'
try:
# Check the dmesg output on the domU
- run = console.runCmd("ls /bin")
+ run = console.runCmd("echo xx$foo")
except ConsoleError, e:
FAIL(str(e))
-
-if not re.search("chmod", run["output"]):
- FAIL("invalid console output from ls after migration")
+
+if not re.search("bar", run["output"]):
+ FAIL("Migrated domain has been reset")
# Close the console
console.closeConsole()
diff -r e0d01dd6c4ca -r 5358eceec5ea
tools/xm-test/tests/network-attach/03_network_attach_detach_multiple_pos.py
---
a/tools/xm-test/tests/network-attach/03_network_attach_detach_multiple_pos.py
Thu Dec 1 03:39:23 2005
+++
b/tools/xm-test/tests/network-attach/03_network_attach_detach_multiple_pos.py
Thu Dec 1 03:40:26 2005
@@ -24,6 +24,9 @@
# Attach a console to it
try:
console = XmConsole(domain.getName(), historySaveCmds=True)
+ # network-detach is crashing, so we enable console debugging
+ # for now, so that reports include the oops
+ console.debugMe = True
except ConsoleError, e:
FAIL(str(e))
diff -r e0d01dd6c4ca -r 5358eceec5ea
tools/xm-test/tests/restore/01_restore_basic_pos.py
--- a/tools/xm-test/tests/restore/01_restore_basic_pos.py Thu Dec 1
03:39:23 2005
+++ b/tools/xm-test/tests/restore/01_restore_basic_pos.py Thu Dec 1
03:40:26 2005
@@ -25,6 +25,8 @@
# Make sure the domain isn't DOA
try:
console = XmConsole(domain.getName())
+ console.sendInput("input")
+ console.runCmd("foo=bar")
except ConsoleError, e:
FAIL(str(e))
@@ -63,9 +65,12 @@
# Make sure it's alive
try:
newConsole = XmConsole(domain.getName())
- run = newConsole.runCmd("ls")
- if run["return"] != 0:
- FAIL("Unable to read from restored domain")
+ # Enable debug dumping because this generates a Oops on x86_64
+ newConsole.debugMe = True
+ newConsole.sendInput("ls")
+ run = newConsole.runCmd("echo xx$foo")
+ if not re.search("bar", run["output"]):
+ FAIL("Restored domain has been reset")
except ConsoleError, e:
FAIL("Restored domain is dead (%s)" % str(e))
diff -r e0d01dd6c4ca -r 5358eceec5ea
tools/xm-test/tests/restore/04_restore_withdevices_pos.py
--- a/tools/xm-test/tests/restore/04_restore_withdevices_pos.py Thu Dec 1
03:39:23 2005
+++ b/tools/xm-test/tests/restore/04_restore_withdevices_pos.py Thu Dec 1
03:40:26 2005
@@ -90,6 +90,11 @@
try:
console = XmConsole(domain.getName())
+ # Enable debug dumping, as this causes an Oops on x86_64
+ console.debugMe = True
+
+ # In case the domain is rebooted
+ console.sendInput("ls")
run = console.runCmd("ls | grep proc")
if run["return"] != 0:
diff -r e0d01dd6c4ca -r 5358eceec5ea tools/xm-test/lib/XmTestLib/config.py
--- a/tools/xm-test/lib/XmTestLib/config.py Thu Dec 1 03:39:23 2005
+++ /dev/null Thu Dec 1 03:40:26 2005
@@ -1,4 +0,0 @@
-#!/usr/bin/python
-
-USE_BLKDEV_FOR_ROOT = False
-
diff -r e0d01dd6c4ca -r 5358eceec5ea
tools/xm-test/tests/create/05_create_noroot_noram_neg.py
--- a/tools/xm-test/tests/create/05_create_noroot_noram_neg.py Thu Dec 1
03:39:23 2005
+++ /dev/null Thu Dec 1 03:40:26 2005
@@ -1,26 +0,0 @@
-#!/usr/bin/python
-
-# Copyright (C) International Business Machines Corp., 2005
-# Author: Li Ge <lge@xxxxxxxxxx>
-
-# Test description:
-# Negative Test:
-# Test for creating domain with no ramdisk and no root. Verify fail.
-
-import sys
-import re
-import time
-
-from XmTestLib import *
-
-status, output = traceCommand("xm create /dev/null name=NOROOT memory=64
kernel=%s" % getDefaultKernel())
-
-# sleep a while to wait for the kernel fails to mount root and NOROOT
-# goes away from the xm list
-time.sleep(15)
-
-eyecatcher = "NOROOT"
-status, output = traceCommand("xm list")
-where = output.find(eyecatcher)
-if where != -1:
- FAIL("xm create test05 passed with no root and no ramdisk. Expected
result: Fail.")
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|