- bnc#582645 - Xen stuck, mptbase driver attempting to reset config

request 

- Update to changeset 20990 Xen 4.0.0 RC5.

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=34
This commit is contained in:
Charles Arnold 2010-03-08 23:21:38 +00:00 committed by Git OBS Bridge
parent 2c789f7e2f
commit f277f6b7cc
13 changed files with 72 additions and 178 deletions

View File

@ -1646,7 +1646,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
def _init_networks(self):
# Initialise networks
@@ -357,6 +360,18 @@ class XendNode:
@@ -361,6 +364,18 @@ class XendNode:
for physical_host, pscsi_HBA_uuid in pscsi_HBA_table.items():
XendPSCSI_HBA(pscsi_HBA_uuid, {'physical_host': physical_host})
@ -1665,7 +1665,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
def add_network(self, interface):
# TODO
@@ -577,6 +592,7 @@ class XendNode:
@@ -581,6 +596,7 @@ class XendNode:
self.save_PPCIs()
self.save_PSCSIs()
self.save_PSCSI_HBAs()
@ -1673,7 +1673,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
def save_PIFs(self):
pif_records = dict([(pif_uuid, XendAPIStore.get(
@@ -619,6 +635,12 @@ class XendNode:
@@ -623,6 +639,12 @@ class XendNode:
for pscsi_HBA_uuid in XendPSCSI_HBA.get_all()])
self.state_store.save_state('pscsi_HBA', pscsi_HBA_records)
@ -1686,7 +1686,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
def shutdown(self):
return 0
@@ -930,6 +952,7 @@ class XendNode:
@@ -934,6 +956,7 @@ class XendNode:
self.format_node_to_memory(info, 'node_to_memory')
info['node_to_dma32_mem'] = \
self.format_node_to_memory(info, 'node_to_dma32_mem')
@ -1694,7 +1694,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
# FIXME: These are hard-coded to be the inverse of the getXenMemory
# functions in image.py. Find a cleaner way.
@@ -949,6 +972,7 @@ class XendNode:
@@ -953,6 +976,7 @@ class XendNode:
'virt_caps',
'total_memory',
'free_memory',

View File

@ -1,25 +0,0 @@
Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_console.c
===================================================================
--- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_console.c
+++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_console.c
@@ -182,6 +182,7 @@ static int con_init(struct XenDevice *xe
{
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
char *type, *dom;
+ int retries = 0;
/* setup */
dom = xs_get_domain_path(xenstore, con->xendev.dom);
@@ -191,7 +192,11 @@ static int con_init(struct XenDevice *xe
snprintf(con->console, sizeof(con->console), "%s/device/console/%d", dom, xendev->dev);
free(dom);
- type = xenstore_read_str(con->console, "type");
+ while (!(type = xenstore_read_str(con->console, "type")) && retries < 5) {
+ usleep(250000);
+ retries++;
+ }
+
if (!type || 0 != strcmp(type, "ioemu")) {
xen_be_printf(xendev, 1, "not for me (type=%s)\n", type);
if (type)

View File

@ -55,7 +55,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/mm/shadow/common.c
v->arch.paging.mode = &SHADOW_INTERNAL_NAME(sh_paging_mode, 3);
}
@@ -3102,7 +3111,7 @@ int shadow_enable(struct domain *d, u32
@@ -3100,7 +3109,7 @@ int shadow_enable(struct domain *d, u32
{
unsigned int r;
shadow_lock(d);

View File

@ -1,7 +1,9 @@
Change default IO-APIC ack mode for single IO-APIC systems to old-style.
--- 2010-01-06.orig/xen/arch/x86/io_apic.c 2009-12-17 12:20:22.000000000 +0100
+++ 2010-01-06/xen/arch/x86/io_apic.c 2010-01-06 11:17:14.000000000 +0100
Index: xen-4.0.0-testing/xen/arch/x86/io_apic.c
===================================================================
--- xen-4.0.0-testing.orig/xen/arch/x86/io_apic.c
+++ xen-4.0.0-testing/xen/arch/x86/io_apic.c
@@ -1442,7 +1442,7 @@ static unsigned int startup_level_ioapic
return 0; /* don't check for pending */
}
@ -11,7 +13,7 @@ Change default IO-APIC ack mode for single IO-APIC systems to old-style.
static void setup_ioapic_ack(char *s)
{
if ( !strcmp(s, "old") )
@@ -1954,6 +1954,8 @@ void __init setup_IO_APIC(void)
@@ -1946,6 +1946,8 @@ void __init setup_IO_APIC(void)
else
io_apic_irqs = ~PIC_IRQS;

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:88c2cad04e93a909e405bee6f4c3dff2c6b12ea2485b6e7f1db4813cb74f2f38
size 23155997
oid sha256:93bf258a35751639f506e7a46ef6056f17bdea18c0b31823da3f562523c7d44a
size 23112538

View File

@ -2,16 +2,16 @@ Index: xen-4.0.0-testing/Config.mk
===================================================================
--- xen-4.0.0-testing.orig/Config.mk
+++ xen-4.0.0-testing/Config.mk
@@ -148,7 +148,7 @@ QEMU_REMOTE=http://xenbits.xensource.com
@@ -151,7 +151,7 @@ QEMU_REMOTE=http://xenbits.xensource.com
# Specify which qemu-dm to use. This may be `ioemu' to use the old
# Mercurial in-tree version, or a local directory, or a git URL.
# CONFIG_QEMU ?= ../qemu-xen.git
-CONFIG_QEMU ?= $(QEMU_REMOTE)
+CONFIG_QEMU ?= ioemu-remote
QEMU_TAG ?= e5d14857cd67490bf956d97c8888c0be95ed3f78
# Thu Feb 18 15:36:29 2010 +0000
@@ -163,9 +163,9 @@ CONFIG_OCAML_XENSTORED ?= n
QEMU_TAG := xen-4.0.0-rc5
#QEMU_TAG ?= e5d14857cd67490bf956d97c8888c0be95ed3f78
@@ -167,9 +167,9 @@ CONFIG_OCAML_XENSTORED ?= n
# Optional components
XENSTAT_XENTOP ?= y
VTPM_TOOLS ?= n

27
xen-extra-fixes.patch Normal file
View File

@ -0,0 +1,27 @@
Index: xen-4.0.0-testing/tools/ioemu-remote/block-vvfat.c
===================================================================
--- xen-4.0.0-testing.orig/tools/ioemu-remote/block-vvfat.c
+++ xen-4.0.0-testing/tools/ioemu-remote/block-vvfat.c
@@ -865,7 +865,8 @@ static int init_directories(BDRVVVFATSta
{
direntry_t* entry=array_get_next(&(s->directory));
entry->attributes=0x28; /* archive | volume label */
- snprintf((char*)entry->name,11,"QEMU VVFAT");
+ memcpy(entry->name,"QEMU VVF",8);
+ memcpy(entry->extension,"AT ",3);
}
/* Now build FAT, and write back information into directory */
Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/overrides.mk
===================================================================
--- xen-4.0.0-testing.orig/unmodified_drivers/linux-2.6/overrides.mk
+++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/overrides.mk
@@ -11,7 +11,7 @@ ifeq ($(ARCH),ia64)
_XEN_CPPFLAGS += -DCONFIG_VMX_GUEST
endif
-_XEN_CPPFLAGS += -include $(objtree)/include/linux/autoconf.h
+_XEN_CPPFLAGS += -include $(objtree)/include/generated/autoconf.h
EXTRA_CFLAGS += $(_XEN_CPPFLAGS)
EXTRA_AFLAGS += $(_XEN_CPPFLAGS)

View File

@ -1,99 +0,0 @@
--- xen-4.0.0-testing/tools/xenstore/xs_lib.c.orig 2010-03-01 08:28:04.000000000 -0700
+++ xen-4.0.0-testing/tools/xenstore/xs_lib.c 2010-03-01 09:12:04.000000000 -0700
@@ -149,7 +149,7 @@ bool xs_strings_to_perms(struct xs_permi
bool xs_perm_to_string(const struct xs_permissions *perm,
char *buffer, size_t buf_len)
{
- switch (perm->perms) {
+ switch ((int)perm->perms) {
case XS_PERM_WRITE:
*buffer = 'w';
break;
--- xen-4.0.0-testing/tools/blktap/lib/blktaplib.h.orig 2010-03-01 09:24:26.000000000 -0700
+++ xen-4.0.0-testing/tools/blktap/lib/blktaplib.h 2010-03-01 09:28:16.000000000 -0700
@@ -42,7 +42,7 @@
#include <sys/types.h>
#include <unistd.h>
-#define BLK_RING_SIZE __RING_SIZE((blkif_sring_t *)0, XC_PAGE_SIZE)
+#define BLK_RING_SIZE __CONST_RING_SIZE(blkif, XC_PAGE_SIZE)
/* size of the extra VMA area to map in attached pages. */
#define BLKTAP_VMA_PAGES BLK_RING_SIZE
--- xen-4.0.0-testing/tools/blktap2/include/blktaplib.h.orig 2010-03-01 09:46:30.000000000 -0700
+++ xen-4.0.0-testing/tools/blktap2/include/blktaplib.h 2010-03-01 09:46:50.000000000 -0700
@@ -45,7 +45,7 @@
#define EPRINTF(_f, _a...) syslog(LOG_ERR, "tap-err:%s: " _f, __func__, ##_a)
#define PERROR(_f, _a...) EPRINTF(_f ": %s", ##_a, strerror(errno))
-#define BLK_RING_SIZE __RING_SIZE((blkif_sring_t *)0, XC_PAGE_SIZE)
+#define BLK_RING_SIZE __CONST_RING_SIZE(blkif, XC_PAGE_SIZE)
/* size of the extra VMA area to map in attached pages. */
#define BLKTAP_VMA_PAGES BLK_RING_SIZE
--- xen-4.0.0-testing/xen/include/xen/compat.h.orig 2010-03-01 13:22:34.000000000 -0700
+++ xen-4.0.0-testing/xen/include/xen/compat.h 2010-03-01 14:30:34.000000000 -0700
@@ -129,8 +129,8 @@
#define CHECK_TYPE(name) \
- typedef int __checkT ## name[1 - ((xen_ ## name ## _t *)0 != \
- (compat_ ## name ## _t *)0) * 2]
+ typedef int __checkT ## name[1 - (sizeof(xen_ ## name ## _t) != \
+ sizeof(compat_ ## name ## _t)) * 2]
#define CHECK_TYPE_(k, n) \
typedef int __checkT ## k ## _ ## n[1 - ((k xen_ ## n *)0 != \
(k compat_ ## n *)0) * 2]
@@ -146,26 +146,30 @@
typedef int __checkF ## t ## __ ## f[1 - (&((xen_ ## t ## _t *)0)->f != \
&((compat_ ## t ## _t *)0)->f) * 2]
#define CHECK_FIELD_(k, n, f) \
- typedef int __checkF ## k ## _ ## n ## __ ## f[1 - (&((k xen_ ## n *)0)->f != \
- &((k compat_ ## n *)0)->f) * 2]
+ typedef int __checkF ## k ## _ ## n ## __ ## f[1 - (offsetof(k xen_ ## n,f) != \
+ offsetof(k compat_ ## n,f)) * 2]
#define CHECK_SUBFIELD_1(t, f1, f2) \
typedef int __checkF1 ## t ## __ ## f1 ## __ ## f2 \
- [1 - (&((xen_ ## t ## _t *)0)->f1.f2 != \
- &((compat_ ## t ## _t *)0)->f1.f2) * 2]
+ [1 - (offsetof(xen_ ## t ## _t,f1.f2) != \
+ offsetof(compat_ ## t ## _t,f1.f2)) * 2]
#define CHECK_SUBFIELD_1_(k, n, f1, f2) \
typedef int __checkF1 ## k ## _ ## n ## __ ## f1 ## __ ## f2 \
- [1 - (&((k xen_ ## n *)0)->f1.f2 != \
- &((k compat_ ## n *)0)->f1.f2) * 2]
+ [1 - (offsetof(k xen_ ## n,f1.f2) != \
+ offsetof(k compat_ ## n,f1.f2)) * 2]
#define CHECK_SUBFIELD_2(t, f1, f2, f3) \
typedef int __checkF2 ## t ## __ ## f1 ## __ ## f2 ## __ ## f3 \
- [1 - (&((xen_ ## t ## _t *)0)->f1.f2.f3 != \
- &((compat_ ## t ## _t *)0)->f1.f2.f3) * 2]
+ [1 - (offsetof(xen_ ## t ## _t,f1.f2.f3) != \
+ offsetof(compat_ ## t ## _t,f1.f2.f3)) * 2]
+#define CHECK_SUBFIELD_2_(k, n, f1, f2, f3) \
+ typedef int __checkF2 ## k ## _ ## n ## __ ## f1 ## __ ## f2 ## __ ## f3 \
+ [1 - (offsetof(k xen_ ## n,f1.f2.f3) != \
+ offsetof(k compat_ ## n,f1.f2.f3)) * 2]
#define CHECK_SUBFIELD_2_(k, n, f1, f2, f3) \
typedef int __checkF2 ## k ## _ ## n ## __ ## f1 ## __ ## f2 ## __ ## f3 \
- [1 - (&((k xen_ ## n *)0)->f1.f2.f3 != \
- &((k compat_ ## n *)0)->f1.f2.f3) * 2]
+ [1 - (offsetof(k xen_ ## n,f1.f2.f3) != \
+ offsetof(k compat_ ## n,f1.f2.f3)) * 2]
int hypercall_xlat_continuation(unsigned int *id, unsigned int mask, ...);
--- xen-4.0.0-testing/tools/ioemu-remote/block-vvfat.c.orig 2010-03-01 14:53:11.000000000 -0700
+++ xen-4.0.0-testing/tools/ioemu-remote/block-vvfat.c 2010-03-01 14:53:56.000000000 -0700
@@ -865,7 +865,8 @@ static int init_directories(BDRVVVFATSta
{
direntry_t* entry=array_get_next(&(s->directory));
entry->attributes=0x28; /* archive | volume label */
- snprintf((char*)entry->name,11,"QEMU VVFAT");
+ memcpy(entry->name,"QEMU VVF",8);
+ memcpy(entry->extension,"AT ",3);
}
/* Now build FAT, and write back information into directory */

View File

@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendNode.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
@@ -907,15 +907,39 @@ class XendNode:
@@ -911,15 +911,39 @@ class XendNode:
info['cpu_mhz'] = info['cpu_khz'] / 1000
@ -47,7 +47,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
ITEM_ORDER = ['nr_cpus',
'nr_nodes',
'cores_per_socket',
@@ -925,6 +949,9 @@ class XendNode:
@@ -929,6 +953,9 @@ class XendNode:
'virt_caps',
'total_memory',
'free_memory',

View File

@ -174,16 +174,3 @@ Index: xen-4.0.0-testing/tools/blktap2/drivers/block-remus.c
RPRINTF("opening %s\n", name);
Index: xen-4.0.0-testing/tools/libxl/Makefile
===================================================================
--- xen-4.0.0-testing.orig/tools/libxl/Makefile
+++ xen-4.0.0-testing/tools/libxl/Makefile
@@ -50,7 +50,7 @@ xl.o: $(LIBCONFIG_OUTPUT)/libconfig.so x
$(CC) $(CFLAGS) -I$(LIBCONFIG_SOURCE) -c xl.c
$(CLIENTS): xl.o libxenlight.so $(LIBCONFIG_OUTPUT)/libconfig.so
- $(CC) $(LDFLAGS) -o $@ $< $(LIBS) -L . -lxenlight -L$(LIBCONFIG_OUTPUT) -lconfig
+ $(CC) $(LDFLAGS) -o $@ $< -L . -lxenlight $(LIBS) -L$(LIBCONFIG_OUTPUT) -lconfig
.PHONY: install
install: all

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Fri Mar 5 09:04:18 MST 2010 - carnold@novell.com
- bnc#582645 - Xen stuck, mptbase driver attempting to reset config
request
-------------------------------------------------------------------
Mon Mar 1 10:05:07 MST 2010 - carnold@novell.com
- Update to changeset 20990 Xen 4.0.0 RC5.
-------------------------------------------------------------------
Mon Feb 22 08:26:01 MST 2010 - jfehlig@novell.com

View File

@ -1,5 +1,5 @@
#
# spec file for package xen (Version 4.0.0_20978_01)
# spec file for package xen (Version 4.0.0_21010_01)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -22,7 +22,7 @@ Name: xen
ExclusiveArch: %ix86 x86_64
%define xvers 4.0
%define xvermaj 4
%define changeset 20978
%define changeset 21010
%define xen_build_dir xen-4.0.0-testing
%define with_kmp 0
BuildRequires: LibVNCServer-devel SDL-devel acpica automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel ncurses-devel openssl openssl-devel pciutils-devel python-devel texinfo transfig
@ -37,7 +37,7 @@ BuildRequires: glibc-32bit glibc-devel-32bit
%if %{?with_kmp}0
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
%endif
Version: 4.0.0_20978_01
Version: 4.0.0_21010_01
Release: 1
License: GPLv2
Group: System/Kernel
@ -120,20 +120,19 @@ Patch355: tools-gdbserver-build.diff
Patch356: ioemu-vnc-resize.patch
Patch357: ioemu-debuginfo.patch
Patch358: vif-bridge-no-iptables.patch
Patch359: qemu-console-retry.patch
# Needs to go upstream
Patch360: checkpoint-rename.patch
Patch361: xm-save-check-file.patch
Patch362: xm-create-xflag.patch
Patch363: cpupools-core.patch
Patch364: cpupools-core-fixup.patch
Patch365: keyhandler-alternative.patch
Patch366: cpu-pools-libxc.patch
Patch367: cpu-pools-python.patch
Patch368: cpu-pools-libxen.patch
Patch369: cpu-pools-xmtest.patch
Patch370: cpu-pools-docs.patch
Patch371: xen-gcc45-fixes.patch
Patch359: checkpoint-rename.patch
Patch360: xm-save-check-file.patch
Patch361: xm-create-xflag.patch
Patch362: cpupools-core.patch
Patch363: cpupools-core-fixup.patch
Patch364: keyhandler-alternative.patch
Patch365: cpu-pools-libxc.patch
Patch366: cpu-pools-python.patch
Patch367: cpu-pools-libxen.patch
Patch368: cpu-pools-xmtest.patch
Patch369: cpu-pools-docs.patch
Patch370: xen-extra-fixes.patch
# Patches for snapshot support
Patch400: snapshot-ioemu-save.patch
Patch401: snapshot-ioemu-restore.patch
@ -573,7 +572,6 @@ Authors:
%patch368 -p1
%patch369 -p1
%patch370 -p1
%patch371 -p1
%patch400 -p1
%patch401 -p1
%patch402 -p1

View File

@ -1,7 +0,0 @@
# Install the paravirtualized drivers
install libata /sbin/modprobe xen-vbd 2>&1 |:; /sbin/modprobe --ignore-install libata
install 8139cp /sbin/modprobe xen-vnif 2>&1 |:; /sbin/modprobe --ignore-install 8139cp
install 8139too /sbin/modprobe xen-vnif 2>&1 |:; /sbin/modprobe --ignore-install 8139too