Hello community,
here is the log from the commit of package xen
checked in at Thu Apr 6 13:57:25 CEST 2006.
--------
--- arch/i386/xen/xen.changes 2006-04-04 01:26:11.000000000 +0200
+++ xen/xen.changes 2006-04-04 18:51:55.000000000 +0200
@@ -10,0 +11,34 @@
+Mon Apr 3 10:13:38 MDT 2006 - ccoffing@novell.com
+
+- Update to hg 9514 (xen-unstable tree; 3.0.2-rc).
+- Fix for rebooting (Jan Beulich; #160064).
+
+-------------------------------------------------------------------
+Fri Mar 31 13:00:22 MST 2006 - ccoffing@novell.com
+
+- Update to hg 9502 (xen-unstable tree; 3.0.2-rc).
+- Update man page (#162402).
+- xen-tools requires python-xml (#161712).
+- Include localtime patch to support NetWare (Bruce Rogers).
+
+-------------------------------------------------------------------
+Thu Mar 30 08:56:52 MST 2006 - ccoffing@novell.com
+
+- Update to hg 9481 (xen-unstable tree; 3.0.2-rc).
+- Correctly default XAUTHORITY if it is not set. This allows the
+ GUI to come up for fully virtualized guests (was especially
+ problematic when VM was started from YaST). (#142472)
+
+-------------------------------------------------------------------
+Wed Mar 29 15:23:51 MST 2006 - ccoffing@novell.com
+
+- Fixed reversed "Do I have enough memory?" test when creating
+ new VMs (#156448).
+
+-------------------------------------------------------------------
+Tue Mar 28 11:37:34 MST 2006 - ccoffing@novell.com
+
+- Pick up two critical fixes for AMD to fix full virtualization:
+ c/s 9453 & c/s 9456.
+
+-------------------------------------------------------------------
Old:
----
xen-check-sharing.diff
New:
----
xen-localtime.diff
xen-reboot.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.mbEDyY/_old 2006-04-06 13:55:25.000000000 +0200
+++ /var/tmp/diff_new_pack.mbEDyY/_new 2006-04-06 13:55:25.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package xen (Version 3.0.2_09434)
+# spec file for package xen (Version 3.0.2_09514)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -14,12 +14,12 @@
BuildRequires: LibVNCServer SDL-devel autoconf automake bin86 dev86 glibc-devel-32bit latex2html libjpeg-devel libreiserfs-devel python-devel te_ams te_latex tetex transfig
%define xvers 3.0
%define xvermaj 3
-%define changeset 09434
+%define changeset 09514
%define build_xmtest 0
%define with_pygrub 1
%define xen_build_dir xen-unstable
-Version: 3.0.2_09434
-Release: 2
+Version: 3.0.2_09514
+Release: 1
License: GPL
Group: System/Kernel
Autoreqprov: on
@@ -39,7 +39,7 @@
Source12: domUloader.py
Source13: xmexample.domUloader
Patch1: xen-destdir.diff
-Patch2: xen-poweroff.diff
+Patch2: xen-reboot.diff
Patch3: serial-split.patch
Patch4: xen-xmtest-paths.diff
Patch5: xen-warnings.diff
@@ -56,10 +56,11 @@
Patch16: xen-network-bridge.diff
Patch17: xen-max-free-mem.diff
Patch18: xen-no-dummy-nfs-ip.diff
-Patch19: xen-check-sharing.diff
-Patch20: xen-xendomains-defaults.diff
-Patch30: xen-enable-hvm-debug.diff
+Patch19: xen-xendomains-defaults.diff
+Patch20: xen-localtime.diff
+Patch49: xen-enable-hvm-debug.diff
Patch50: xen-enable-debug
+Patch99: xen-poweroff.diff
URL: http://www.cl.cam.ac.uk/Research/SRG/netos/xen/
Prefix: /usr
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -172,7 +173,7 @@
%package tools
Summary: Xen Virtualization: Control tools for domain 0
Group: System/Kernel
-Requires: xen-libs python bridge-utils multipath-tools
+Requires: xen-libs python python-xml bridge-utils multipath-tools
AutoReqProv: on
%description tools
@@ -403,8 +404,7 @@
%prep
%setup -q -n %xen_build_dir
%patch1 -p1
-# Not yet, the functions are not implemented in Xen
-#%patch2 -p1
+%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
@@ -425,7 +425,7 @@
%patch18 -p1
%patch19 -p1
%patch20 -p1
-#%patch30 -p1
+#%patch49 -p1
XEN_EXTRAVERSION=%version-%release
XEN_EXTRAVERSION=${XEN_EXTRAVERSION#%{xvers}}
sed -i "s/XEN_EXTRAVERSION[ ]*=.*\$/XEN_EXTRAVERSION = $XEN_EXTRAVERSION/" xen/Makefile
@@ -729,6 +729,25 @@
- init script: Try loading netloop and backend modules.
- mk-xen-rescue-img.sh: Copy frontend drivers, remove stale files.
- example config files: provide commented out domUloader exmaples.
+* Mon Apr 03 2006 - ccoffing@novell.com
+- Update to hg 9514 (xen-unstable tree; 3.0.2-rc).
+- Fix for rebooting (Jan Beulich; #160064).
+* Fri Mar 31 2006 - ccoffing@novell.com
+- Update to hg 9502 (xen-unstable tree; 3.0.2-rc).
+- Update man page (#162402).
+- xen-tools requires python-xml (#161712).
+- Include localtime patch to support NetWare (Bruce Rogers).
+* Thu Mar 30 2006 - ccoffing@novell.com
+- Update to hg 9481 (xen-unstable tree; 3.0.2-rc).
+- Correctly default XAUTHORITY if it is not set. This allows the
+ GUI to come up for fully virtualized guests (was especially
+ problematic when VM was started from YaST). (#142472)
+* Wed Mar 29 2006 - ccoffing@novell.com
+- Fixed reversed "Do I have enough memory?" test when creating
+ new VMs (#156448).
+* Tue Mar 28 2006 - ccoffing@novell.com
+- Pick up two critical fixes for AMD to fix full virtualization:
+ c/s 9453 & c/s 9456.
* Thu Mar 23 2006 - ccoffing@novell.com
- Update to hg 9434 (xen-unstable tree; 3.0.2-rc).
- Fix /etc/xen/scripts/block to properly check if devices can be
++++++ xen-changeset.diff ++++++
--- /var/tmp/diff_new_pack.mbEDyY/_old 2006-04-06 13:55:26.000000000 +0200
+++ /var/tmp/diff_new_pack.mbEDyY/_new 2006-04-06 13:55:26.000000000 +0200
@@ -10,7 +10,7 @@
export XEN_FULLVERSION = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
export BASEDIR := $(CURDIR)
-@@ -103,7 +104,7 @@ include/xen/compile.h: include/xen/compi
+@@ -98,7 +99,7 @@ include/xen/compile.h: include/xen/compi
-e 's/@@version@@/$(XEN_VERSION)/g' \
-e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
-e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
++++++ xen-domUloader.diff ++++++
--- /var/tmp/diff_new_pack.mbEDyY/_old 2006-04-06 13:55:26.000000000 +0200
+++ /var/tmp/diff_new_pack.mbEDyY/_new 2006-04-06 13:55:26.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- xen-unstable.orig/tools/python/xen/xm/create.py
+++ xen-unstable/tools/python/xen/xm/create.py
-@@ -579,13 +579,24 @@ def configure_hvm(config_image, vals):
+@@ -573,13 +573,24 @@ def configure_hvm(config_image, vals):
def run_bootloader(vals):
if not os.access(vals.bootloader, os.X_OK):
err("Bootloader isn't executable")
@@ -32,7 +32,7 @@
def make_config(vals):
"""Create the domain configuration.
-@@ -599,7 +610,8 @@ def make_config(vals):
+@@ -593,7 +604,8 @@ def make_config(vals):
if v:
config.append([n, v])
@@ -42,7 +42,7 @@
'on_poweroff', 'on_reboot', 'on_crash', 'vcpus'])
if vals.uuid is not None:
-@@ -616,9 +628,10 @@ def make_config(vals):
+@@ -610,9 +622,10 @@ def make_config(vals):
config.append(['backend', ['netif']])
if vals.tpmif:
config.append(['backend', ['tpmif']])
@@ -58,7 +58,7 @@
===================================================================
--- xen-unstable.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-unstable/tools/python/xen/xend/XendDomainInfo.py
-@@ -31,7 +31,6 @@ import threading
+@@ -32,7 +32,6 @@ import threading
import xen.lowlevel.xc
from xen.util import asserts
@@ -66,7 +66,7 @@
import balloon
import image
-@@ -126,6 +125,8 @@ ROUNDTRIPPING_CONFIG_ENTRIES = [
+@@ -127,6 +126,8 @@ ROUNDTRIPPING_CONFIG_ENTRIES = [
('memory', int),
('maxmem', int),
('bootloader', str),
@@ -75,7 +75,7 @@
]
ROUNDTRIPPING_CONFIG_ENTRIES += VM_CONFIG_PARAMS
-@@ -561,6 +562,8 @@ class XendDomainInfo:
+@@ -562,6 +563,8 @@ class XendDomainInfo:
defaultInfo('memory', lambda: 0)
defaultInfo('maxmem', lambda: 0)
defaultInfo('bootloader', lambda: None)
@@ -84,7 +84,7 @@
defaultInfo('backend', lambda: [])
defaultInfo('device', lambda: [])
defaultInfo('image', lambda: None)
-@@ -1541,18 +1544,46 @@ class XendDomainInfo:
+@@ -1547,18 +1550,46 @@ class XendDomainInfo:
# if we're restarting with a bootloader, we need to run it
blcfg = None
config = self.sxpr()
++++++ xen-enable-debug ++++++
--- /var/tmp/diff_new_pack.mbEDyY/_old 2006-04-06 13:55:26.000000000 +0200
+++ /var/tmp/diff_new_pack.mbEDyY/_new 2006-04-06 13:55:26.000000000 +0200
@@ -9,8 +9,8 @@
-crash_debug ?= n
+crash_debug ?= y
- XEN_ROOT=$(BASEDIR)/..
- include $(XEN_ROOT)/Config.mk
+ # Hardcoded configuration implications and dependencies.
+ # Do this is a neater way if it becomes unwieldy.
Index: xen-unstable/Config.mk
===================================================================
--- xen-unstable.orig/Config.mk
++++++ xen-enable-hvm-debug.diff ++++++
--- /var/tmp/diff_new_pack.mbEDyY/_old 2006-04-06 13:55:26.000000000 +0200
+++ /var/tmp/diff_new_pack.mbEDyY/_new 2006-04-06 13:55:26.000000000 +0200
@@ -34,7 +34,7 @@
+ unsigned char data[size];
+
+ printf("Dumping %x..%x eip=%x\n", start, stop, eip);
-+ for (i = start; i < stop; ++eip)
++ for (i = start; i < stop; ++i)
+ data[i-start] = *(unsigned char *) i;
+ hexdump(data, size);
+ }
++++++ xen-localtime.diff ++++++
Index: xen-unstable/tools/libxc/xc_domain.c
===================================================================
--- xen-unstable.orig/tools/libxc/xc_domain.c
+++ xen-unstable/tools/libxc/xc_domain.c
@@ -257,6 +257,17 @@ int xc_domain_setmaxmem(int xc_handle,
return do_dom0_op(xc_handle, &op);
}
+int xc_domain_set_time_offset(int xc_handle,
+ uint32_t domid,
+ int32_t time_offset_seconds)
+{
+ DECLARE_DOM0_OP;
+ op.cmd = DOM0_SETTIMEOFFSET;
+ op.u.settimeoffset.domain = (domid_t)domid;
+ op.u.settimeoffset.time_offset_seconds = time_offset_seconds;
+ return do_dom0_op(xc_handle, &op);
+}
+
int xc_domain_memory_increase_reservation(int xc_handle,
uint32_t domid,
unsigned long nr_extents,
Index: xen-unstable/tools/libxc/xenctrl.h
===================================================================
--- xen-unstable.orig/tools/libxc/xenctrl.h
+++ xen-unstable/tools/libxc/xenctrl.h
@@ -385,6 +385,10 @@ int xc_domain_setmaxmem(int xc_handle,
uint32_t domid,
unsigned int max_memkb);
+int xc_domain_set_time_offset(int xc_handle,
+ uint32_t domid,
+ int32_t time_offset_seconds);
+
int xc_domain_memory_increase_reservation(int xc_handle,
uint32_t domid,
unsigned long nr_extents,
Index: xen-unstable/tools/python/xen/lowlevel/xc/xc.c
===================================================================
--- xen-unstable.orig/tools/python/xen/lowlevel/xc/xc.c
+++ xen-unstable/tools/python/xen/lowlevel/xc/xc.c
@@ -826,6 +826,19 @@ static PyObject *pyxc_domain_iomem_permi
return zero;
}
+static PyObject *pyxc_domain_set_time_offset(XcObject *self, PyObject *args)
+{
+ uint32_t dom;
+ int32_t time_offset_seconds;
+
+ if (!PyArg_ParseTuple(args, "i", &dom))
+ return NULL;
+
+ time_offset_seconds = -__timezone;
+ if (xc_domain_set_time_offset(self->xc_handle, dom, time_offset_seconds) != 0)
+ return NULL;
+ return zero;
+}
static PyObject *dom_op(XcObject *self, PyObject *args,
int (*fn)(int, uint32_t))
@@ -1147,6 +1160,13 @@ static PyMethodDef pyxc_methods[] = {
"Returns: [int]: The size in KiB of memory spanning the given number "
"of pages.\n" },
+ { "domain_set_time_offset",
+ (PyCFunction)pyxc_domain_set_time_offset,
+ METH_VARARGS, "\n"
+ "Set a domain's time offset to Dom0's localtime\n"
+ " dom [int]: Domain whose time offset is being set.\n"
+ "Returns: [int] 0 on success; -1 on error.\n" },
+
{ NULL, NULL, 0, NULL }
};
Index: xen-unstable/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-unstable.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-unstable/tools/python/xen/xend/XendDomainInfo.py
@@ -128,6 +128,7 @@ ROUNDTRIPPING_CONFIG_ENTRIES = [
('bootloader', str),
('bootentry', str),
('root', str),
+ ('localtime', str),
]
ROUNDTRIPPING_CONFIG_ENTRIES += VM_CONFIG_PARAMS
@@ -1227,6 +1228,10 @@ class XendDomainInfo:
self.info['image'],
self.info['device'])
+ localtime = self.info['localtime']
+ if localtime is not None and localtime == 'yes':
+ xc.domain_set_time_offset(self.domid)
+
xc.domain_setcpuweight(self.domid, self.info['cpu_weight'])
# repin domain vcpus if a restricted cpus list is provided
Index: xen-unstable/tools/python/xen/xm/create.py
===================================================================
--- xen-unstable.orig/tools/python/xen/xm/create.py
+++ xen-unstable/tools/python/xen/xm/create.py
@@ -626,6 +626,8 @@ def make_config(vals):
config.append(['backend', ['tpmif']])
if vals.root:
config.append(['root', vals.root])
+ if vals.localtime:
+ config.append(['localtime', vals.localtime])
if vals.bootloader:
config_image = run_bootloader(vals)
Index: xen-unstable/xen/arch/x86/time.c
===================================================================
--- xen-unstable.orig/xen/arch/x86/time.c
+++ xen-unstable/xen/arch/x86/time.c
@@ -716,7 +716,7 @@ void do_settime(unsigned long secs, unsi
{
s = d->shared_info;
version_update_begin(&s->wc_version);
- s->wc_sec = _wc_sec;
+ s->wc_sec = _wc_sec + d->time_offset_seconds;
s->wc_nsec = _wc_nsec;
version_update_end(&s->wc_version);
}
@@ -725,11 +725,21 @@ void do_settime(unsigned long secs, unsi
read_unlock(&domlist_lock);
}
+void do_settimeoffset(struct domain *d, int32_t time_offset_seconds)
+{
+ shared_info_t *s;
+
+ s = d->shared_info;
+ version_update_begin(&s->wc_version);
+ d->time_offset_seconds = time_offset_seconds;
+ version_update_end(&s->wc_version);
+}
+
void init_domain_time(struct domain *d)
{
spin_lock(&wc_lock);
version_update_begin(&d->shared_info->wc_version);
- d->shared_info->wc_sec = wc_sec;
+ d->shared_info->wc_sec = wc_sec + d->time_offset_seconds;
d->shared_info->wc_nsec = wc_nsec;
version_update_end(&d->shared_info->wc_version);
spin_unlock(&wc_lock);
Index: xen-unstable/xen/common/dom0_ops.c
===================================================================
--- xen-unstable.orig/xen/common/dom0_ops.c
+++ xen-unstable/xen/common/dom0_ops.c
@@ -682,6 +682,20 @@ long do_dom0_op(GUEST_HANDLE(dom0_op_t)
break;
#endif
+ case DOM0_SETTIMEOFFSET:
+ {
+ struct domain *d;
+
+ ret = -ESRCH;
+ d = find_domain_by_id(op->u.settimeoffset.domain);
+ if ( d != NULL )
+ {
+ do_settimeoffset(d, op->u.settimeoffset.time_offset_seconds);
+ ret = 0;
+ }
+ }
+ break;
+
default:
ret = arch_do_dom0_op(op, u_dom0_op);
break;
Index: xen-unstable/xen/include/public/dom0_ops.h
===================================================================
--- xen-unstable.orig/xen/include/public/dom0_ops.h
+++ xen-unstable/xen/include/public/dom0_ops.h
@@ -471,6 +471,12 @@ typedef struct dom0_hypercall_init {
} dom0_hypercall_init_t;
DEFINE_GUEST_HANDLE(dom0_hypercall_init_t);
+#define DOM0_SETTIMEOFFSET 49
+typedef struct dom0_settimeoffset {
+ domid_t domain;
+ int32_t time_offset_seconds; /* applied to domain wallclock time */
+} dom0_settimeoffset_t;
+
typedef struct dom0_op {
uint32_t cmd;
uint32_t interface_version; /* DOM0_INTERFACE_VERSION */
@@ -512,6 +518,7 @@ typedef struct dom0_op {
struct dom0_irq_permission irq_permission;
struct dom0_iomem_permission iomem_permission;
struct dom0_hypercall_init hypercall_init;
+ struct dom0_settimeoffset settimeoffset;
uint8_t pad[128];
} u;
} dom0_op_t;
Index: xen-unstable/xen/include/xen/sched.h
===================================================================
--- xen-unstable.orig/xen/include/xen/sched.h
+++ xen-unstable/xen/include/xen/sched.h
@@ -155,6 +155,7 @@ struct domain
/* Control-plane tools handle for this domain. */
xen_domain_handle_t handle;
+ s32 time_offset_seconds;
};
struct domain_setup_info
Index: xen-unstable/xen/include/xen/time.h
===================================================================
--- xen-unstable.orig/xen/include/xen/time.h
+++ xen-unstable/xen/include/xen/time.h
@@ -59,6 +59,7 @@ extern void update_dom_time(struct vcpu
extern void do_settime(
unsigned long secs, unsigned long nsecs, u64 system_time_base);
+extern void do_settimeoffset(struct domain *d, int32_t wc_offset);
extern void send_timer_event(struct vcpu *v);
#endif /* __XEN_TIME_H__ */
++++++ xen-max-free-mem.diff ++++++
--- /var/tmp/diff_new_pack.mbEDyY/_old 2006-04-06 13:55:26.000000000 +0200
+++ /var/tmp/diff_new_pack.mbEDyY/_new 2006-04-06 13:55:26.000000000 +0200
@@ -121,11 +121,47 @@
PROC_XEN_BALLOON = '/proc/xen/balloon'
+@@ -126,21 +177,21 @@ def free(required):
+ need_mem)
+ return
+
+- if retries == 0:
+- log.debug("Balloon: free %d; need %d.", free_mem, need_mem)
++ log.debug("Balloon #%d: free %d; need %d.", retries, free_mem, need_mem)
++
++ if dom0_min_mem == 0:
++ break
+
+- if dom0_min_mem > 0:
+- dom0_alloc = get_dom0_current_alloc()
+- new_alloc = dom0_alloc - (need_mem - free_mem)
+-
+- if (new_alloc >= dom0_min_mem and
+- new_alloc != last_new_alloc):
+- log.debug("Balloon: setting dom0 target to %d.",
+- new_alloc)
+- dom0 = XendDomain.instance().privilegedDomain()
+- dom0.setMemoryTarget(new_alloc)
+- last_new_alloc = new_alloc
+- # Continue to retry, waiting for ballooning.
++ dom0_alloc = get_dom0_current_alloc()
++ new_alloc = dom0_alloc - (need_mem - free_mem)
++ log.debug("new_alloc: %d", new_alloc)
++ if (new_alloc >= dom0_min_mem and
++ new_alloc != last_new_alloc):
++ log.debug("Balloon: setting dom0 target to %d.", new_alloc)
++ dom0 = XendDomain.instance().privilegedDomain()
++ dom0.setMemoryTarget(new_alloc)
++ last_new_alloc = new_alloc
++ # Continue to retry, waiting for ballooning.
+
+ time.sleep(sleep_time)
+ retries += 1
Index: xen-unstable/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-unstable.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-unstable/tools/python/xen/xend/XendDomainInfo.py
-@@ -939,6 +939,27 @@ class XendDomainInfo:
+@@ -940,6 +940,27 @@ class XendDomainInfo:
## public:
++++++ xen-no-dummy-nfs-ip.diff ++++++
--- /var/tmp/diff_new_pack.mbEDyY/_old 2006-04-06 13:55:26.000000000 +0200
+++ /var/tmp/diff_new_pack.mbEDyY/_new 2006-04-06 13:55:26.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- xen-unstable.orig/tools/python/xen/xm/create.py
+++ xen-unstable/tools/python/xen/xm/create.py
-@@ -715,9 +715,8 @@ def preprocess_vtpm(vals):
+@@ -709,9 +709,8 @@ def preprocess_vtpm(vals):
def preprocess_ip(vals):
if vals.ip or vals.dhcp != 'off':
++++++ xen-reboot.diff ++++++
From: Jan Beulich
To: Charles Coffing
Date: Tuesday, April 4, 2006 5:37 AM
Subject: hypervisor patch for 160064
Charles - thanks for adding, Jan
Index: xen-unstable/xen/arch/x86/domain.c
===================================================================
--- xen-unstable.orig/xen/arch/x86/domain.c
+++ xen-unstable/xen/arch/x86/domain.c
@@ -21,6 +21,7 @@
#include