- Update to changeset 21087 Xen 4.0.0 RC9.

- Update to changeset 21075 Xen 4.0.0 RC8. 

- bnc#584210 - xm usb-hc-destroy does not remove entry from xend
  del_usb_xend_entry.patch

- Update to changeset 21057 Xen 4.0.0 RC7.

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=37
This commit is contained in:
Charles Arnold 2010-04-02 15:57:59 +00:00 committed by Git OBS Bridge
parent 6327676635
commit 8be17801c5
14 changed files with 174 additions and 104 deletions

View File

@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -2902,7 +2902,7 @@ class XendDomainInfo:
@@ -2909,7 +2909,7 @@ class XendDomainInfo:
self.guest_bitsize = self.image.getBitSize()
# Make sure there's enough RAM available for the domain

View File

@ -1,5 +1,7 @@
Index: xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py
===================================================================
--- /dev/null
+++ b/tools/python/xen/xend/server/HalDaemon.py
+++ xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py
@@ -0,0 +1,243 @@
+#!/usr/bin/env python
+# -*- mode: python; -*-
@ -244,8 +246,10 @@
+ print 'Falling off end'
+
+
Index: xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py
===================================================================
--- /dev/null
+++ b/tools/python/xen/xend/server/Hald.py
+++ xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py
@@ -0,0 +1,125 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@ -372,8 +376,10 @@
+ watcher.run()
+ time.sleep(10)
+ watcher.shutdown()
--- a/tools/python/xen/xend/server/SrvServer.py
+++ b/tools/python/xen/xend/server/SrvServer.py
Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/server/SrvServer.py
+++ xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py
@@ -56,6 +56,7 @@ from xen.web.SrvDir import SrvDir
from SrvRoot import SrvRoot
@ -391,8 +397,10 @@
def create():
root = SrvDir()
--- a/tools/ioemu-remote/xenstore.c
+++ b/tools/ioemu-remote/xenstore.c
Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c
===================================================================
--- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c
+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c
@@ -18,6 +18,7 @@
#include "exec-all.h"
#include "sysemu.h"
@ -479,10 +487,10 @@
xenstore_watch_callbacks[i].opaque);
+ if (!strcmp(vec[XS_WATCH_TOKEN], "media-present")) {
+ xenstore_process_media_change_event(vec);
+ goto out;
+ xenstore_process_media_change_event(vec);
+ goto out;
+ }
+
if (strncmp(vec[XS_WATCH_TOKEN], "hd", 2) ||
strlen(vec[XS_WATCH_TOKEN]) != 3)
goto out;
hd_index = drive_name_to_index(vec[XS_WATCH_TOKEN]);
if (hd_index == -1) {
fprintf(stderr,"medium change watch on `%s' -"

View File

@ -36,7 +36,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
return pyxc_error_to_exception();
if ( target )
@@ -332,7 +334,7 @@ static PyObject *pyxc_domain_getinfo(XcO
@@ -329,7 +331,7 @@ static PyObject *pyxc_domain_getinfo(XcO
{
info_dict = Py_BuildValue(
"{s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i"
@ -45,7 +45,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
"domid", (int)info[i].domid,
"online_vcpus", info[i].nr_online_vcpus,
"max_vcpu_id", info[i].max_vcpu_id,
@@ -347,7 +349,8 @@ static PyObject *pyxc_domain_getinfo(XcO
@@ -344,7 +346,8 @@ static PyObject *pyxc_domain_getinfo(XcO
"cpu_time", (long long)info[i].cpu_time,
"maxmem_kb", (long long)info[i].max_memkb,
"ssidref", (int)info[i].ssidref,
@ -55,7 +55,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
pyhandle = PyList_New(sizeof(xen_domain_handle_t));
if ( (pyhandle == NULL) || (info_dict == NULL) )
{
@@ -1755,6 +1758,179 @@ static PyObject *pyxc_dom_set_memshr(XcO
@@ -1751,6 +1754,179 @@ static PyObject *pyxc_dom_set_memshr(XcO
return zero;
}
@ -235,7 +235,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
static PyMethodDef pyxc_methods[] = {
{ "handle",
@@ -1870,7 +2046,8 @@ static PyMethodDef pyxc_methods[] = {
@@ -1866,7 +2042,8 @@ static PyMethodDef pyxc_methods[] = {
" maxmem_kb [int]: Maximum memory limit, in kilobytes\n"
" cpu_time [long]: CPU time consumed, in nanoseconds\n"
" shutdown_reason [int]: Numeric code from guest OS, explaining "
@ -245,7 +245,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
{ "vcpu_getinfo",
(PyCFunction)pyxc_vcpu_getinfo,
@@ -2268,6 +2445,66 @@ static PyMethodDef pyxc_methods[] = {
@@ -2264,6 +2441,66 @@ static PyMethodDef pyxc_methods[] = {
" enable [int,0|1]: Disable or enable?\n"
"Returns: [int] 0 on success; -1 on error.\n" },

View File

@ -4,7 +4,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/acpi/power.c
===================================================================
--- xen-4.0.0-testing.orig/xen/arch/x86/acpi/power.c
+++ xen-4.0.0-testing/xen/arch/x86/acpi/power.c
@@ -231,7 +231,7 @@ static int enter_state(u32 state)
@@ -234,7 +234,7 @@ static int enter_state(u32 state)
return error;
}
@ -13,7 +13,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/acpi/power.c
{
struct acpi_sleep_info *sinfo = (struct acpi_sleep_info *)data;
return enter_state(sinfo->sleep_state);
@@ -262,7 +262,7 @@ int acpi_enter_sleep(struct xenpf_enter_
@@ -265,7 +265,7 @@ int acpi_enter_sleep(struct xenpf_enter_
acpi_sinfo.pm1b_cnt_val = sleep->pm1b_cnt_val;
acpi_sinfo.sleep_state = sleep->sleep_state;
@ -271,7 +271,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c
{
int cpu = (unsigned long)data;
return cpu_down(cpu);
@@ -310,7 +311,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
@@ -314,7 +315,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
if ( op->u.change_freq.flags || !cpu_online(op->u.change_freq.cpu) )
break;
per_cpu(freq, op->u.change_freq.cpu) = op->u.change_freq.freq;
@ -280,16 +280,16 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c
cpu_frequency_change_helper,
NULL);
break;
@@ -398,7 +399,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
@@ -403,7 +404,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
g_info = &op->u.pcpu_info;
- spin_lock(&cpu_add_remove_lock);
+ spin_lock(&cpupool_lock);
if ( (g_info->xen_cpuid >= NR_CPUS) ||
(g_info->xen_cpuid < 0) ||
@@ -417,7 +418,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
/* spin_trylock() avoids deadlock with stop_machine_run(). */
- if ( !spin_trylock(&cpu_add_remove_lock) )
+ if ( !spin_trylock(&cpupool_lock) )
{
ret = -EBUSY;
break;
@@ -426,7 +427,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
g_info->max_present = last_cpu(cpu_present_map);
@ -298,7 +298,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c
ret = copy_to_guest(u_xenpf_op, op, 1) ? -EFAULT : 0;
}
@@ -458,7 +459,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
@@ -467,7 +468,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
break;
}
ret = continue_hypercall_on_cpu(
@ -372,47 +372,35 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
*/
int alloc_cpu_id(void)
{
@@ -985,10 +985,10 @@ static int __devinit do_boot_cpu(int api
cpucount--;
/* Mark the CPU as non-present */
- spin_lock(&cpu_add_remove_lock);
+ spin_lock(&cpupool_lock);
x86_cpu_to_apicid[cpu] = BAD_APICID;
cpu_clear(cpu, cpu_present_map);
- spin_unlock(&cpu_add_remove_lock);
+ spin_unlock(&cpupool_lock);
} else {
}
@@ -1304,12 +1304,14 @@ int __cpu_disable(void)
@@ -1303,10 +1303,11 @@ int __cpu_disable(void)
remove_siblinginfo(cpu);
+ cpu_clear(cpu, cpupool0->cpu_valid);
cpu_clear(cpu, cpu_online_map);
fixup_irqs();
/* It's now safe to remove this processor from the online map */
+ cpu_clear(cpu, cpupool0->cpu_valid);
cpu_clear(cpu, cpu_online_map);
fixup_irqs();
- cpu_disable_scheduler();
+ cpu_disable_scheduler(cpu, 0);
return 0;
}
@@ -1342,8 +1344,8 @@ int cpu_down(unsigned int cpu)
{
@@ -1340,12 +1341,12 @@ int cpu_down(unsigned int cpu)
int err = 0;
- spin_lock(&cpu_add_remove_lock);
/* spin_trylock() avoids deadlock with stop_machine_run(). */
- if (!spin_trylock(&cpu_add_remove_lock)) {
+ if (!spin_trylock(&cpupool_lock)) {
err = -EBUSY;
goto out;
}
- if (num_online_cpus() == 1) {
+ spin_lock(&cpupool_lock);
+ if ((!cpu_isset(cpu, cpupool0->cpu_valid)) || (cpus_weight(cpupool0->cpu_valid) == 1)) {
err = -EBUSY;
goto out;
}
@@ -1376,7 +1378,7 @@ int cpu_down(unsigned int cpu)
@@ -1378,7 +1379,7 @@ int cpu_down(unsigned int cpu)
out:
if (!err)
send_guest_global_virq(dom0, VIRQ_PCPU_STATE);
@ -421,16 +409,16 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
return err;
}
@@ -1384,7 +1386,7 @@ int cpu_up(unsigned int cpu)
{
@@ -1387,7 +1388,7 @@ int cpu_up(unsigned int cpu)
int err = 0;
- spin_lock(&cpu_add_remove_lock);
+ spin_lock(&cpupool_lock);
/* spin_trylock() avoids deadlock with stop_machine_run(). */
- if (!spin_trylock(&cpu_add_remove_lock))
+ if (!spin_trylock(&cpupool_lock))
return -EBUSY;
if (cpu_online(cpu)) {
printk("Bring up a online cpu. Bogus!\n");
err = -EBUSY;
@@ -1400,7 +1402,7 @@ int cpu_up(unsigned int cpu)
@@ -1405,7 +1406,7 @@ int cpu_up(unsigned int cpu)
out:
if (!err)
send_guest_global_virq(dom0, VIRQ_PCPU_STATE);
@ -439,12 +427,13 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
return err;
}
@@ -1481,13 +1483,13 @@ int cpu_add(uint32_t apic_id, uint32_t a
if ( physid_isset(apic_id, phys_cpu_present_map) )
@@ -1491,14 +1492,14 @@ int cpu_add(uint32_t apic_id, uint32_t a
return -EEXIST;
- spin_lock(&cpu_add_remove_lock);
+ spin_lock(&cpupool_lock);
/* spin_trylock() avoids deadlock with stop_machine_run(). */
- if (!spin_trylock(&cpu_add_remove_lock))
+ if (!spin_trylock(&cpupool_lock))
return -EBUSY;
cpu = mp_register_lapic(apic_id, 1);
@ -455,7 +444,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
return cpu;
}
@@ -1504,7 +1506,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
@@ -1515,7 +1516,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
"Setup node failed for pxm %x\n", pxm);
x86_acpiid_to_apicid[acpi_id] = 0xff;
mp_unregister_lapic(apic_id, cpu);
@ -464,7 +453,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
return node;
}
apicid_to_node[apic_id] = node;
@@ -1512,7 +1514,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
@@ -1523,7 +1524,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
srat_detect_node(cpu);
numa_add_cpu(cpu);
@ -473,7 +462,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c
dprintk(XENLOG_INFO, "Add CPU %x with index %x\n", apic_id, cpu);
return cpu;
}
@@ -1556,6 +1558,7 @@ int __devinit __cpu_up(unsigned int cpu)
@@ -1567,6 +1568,7 @@ int __devinit __cpu_up(unsigned int cpu)
process_pending_softirqs();
}

22
del_usb_xend_entry.patch Normal file
View File

@ -0,0 +1,22 @@
Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -1306,8 +1306,15 @@ class XendDomainInfo:
frontpath = self.getDeviceController(deviceClass).frontendPath(dev)
backpath = xstransact.Read(frontpath, "backend")
thread.start_new_thread(self.getDeviceController(deviceClass).finishDeviceCleanup, (backpath, path))
-
- rc = self.getDeviceController(deviceClass).destroyDevice(devid, force)
+ if deviceClass =='vusb':
+ dev = self.getDeviceController(deviceClass).convertToDeviceNumber(devid)
+ state = self.getDeviceController(deviceClass).readBackend(dev, 'state')
+ if state == '1':
+ rc = self.getDeviceController(deviceClass).destroyDevice(devid, True)
+ else:
+ rc = self.getDeviceController(deviceClass).destroyDevice(devid, force)
+ else:
+ rc = self.getDeviceController(deviceClass).destroyDevice(devid, force)
if not force and rm_cfg:
# The backend path, other than the device itself,
# has to be passed because its accompanied frontend

View File

@ -15,7 +15,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smp.c
===================================================================
--- xen-4.0.0-testing.orig/xen/arch/x86/smp.c
+++ xen-4.0.0-testing/xen/arch/x86/smp.c
@@ -394,7 +394,7 @@ static void __smp_call_function_interrup
@@ -395,7 +395,7 @@ static void __smp_call_function_interrup
if ( call_data.wait )
{
@ -24,7 +24,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smp.c
mb();
atomic_inc(&call_data.finished);
}
@@ -402,7 +402,7 @@ static void __smp_call_function_interrup
@@ -403,7 +403,7 @@ static void __smp_call_function_interrup
{
mb();
atomic_inc(&call_data.started);
@ -37,11 +37,13 @@ Index: xen-4.0.0-testing/xen/common/keyhandler.c
===================================================================
--- xen-4.0.0-testing.orig/xen/common/keyhandler.c
+++ xen-4.0.0-testing/xen/common/keyhandler.c
@@ -71,14 +71,25 @@ static struct keyhandler show_handlers_k
@@ -71,20 +71,45 @@ static struct keyhandler show_handlers_k
.desc = "show this message"
};
-static void __dump_execstate(void *unused)
+static cpumask_t dump_execstate_mask;
+
+static void __dump_execstate(void *_regs)
{
- dump_execution_state();
@ -63,26 +65,55 @@ Index: xen-4.0.0-testing/xen/common/keyhandler.c
+ smp_processor_id(), current->domain->domain_id,
+ current->vcpu_id);
show_execution_state(guest_cpu_user_regs());
+ }
+
+ cpu = cycle_cpu(cpu, dump_execstate_mask);
+ if ( cpu < NR_CPUS )
+ {
+ cpu_clear(cpu, dump_execstate_mask);
+ on_selected_cpus(cpumask_of(cpu), __dump_execstate, NULL, 0);
+ }
+ else
+ {
+ printk("\n");
+
+ console_end_sync();
+ watchdog_enable();
+ }
}
static void dump_registers(unsigned char key, struct cpu_user_regs *regs)
@@ -92,14 +103,12 @@ static void dump_registers(unsigned char
{
- unsigned int cpu;
-
/* We want to get everything out that we possibly can. */
watchdog_disable();
console_start_sync();
@@ -92,21 +117,9 @@ static void dump_registers(unsigned char
printk("'%c' pressed -> dumping registers\n", key);
/* Get local execution state out immediately, in case we get stuck. */
- printk("\n*** Dumping CPU%d host state: ***\n", smp_processor_id());
- __dump_execstate(NULL);
+ __dump_execstate(regs);
for_each_online_cpu ( cpu )
{
if ( cpu == smp_processor_id() )
continue;
-
- for_each_online_cpu ( cpu )
- {
- if ( cpu == smp_processor_id() )
- continue;
- printk("\n*** Dumping CPU%d host state: ***\n", cpu);
on_selected_cpus(cpumask_of(cpu), __dump_execstate, NULL, 1);
}
- on_selected_cpus(cpumask_of(cpu), __dump_execstate, NULL, 1);
- }
-
- printk("\n");
-
- console_end_sync();
- watchdog_enable();
+ cpus_andnot(dump_execstate_mask, cpu_online_map,
+ cpumask_of_cpu(smp_processor_id()));
+ __dump_execstate(regs);
}
static struct keyhandler dump_registers_keyhandler = {
Index: xen-4.0.0-testing/xen/include/asm-ia64/linux-xen/asm/ptrace.h
===================================================================
--- xen-4.0.0-testing.orig/xen/include/asm-ia64/linux-xen/asm/ptrace.h

View File

@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/lowlevel/xc/xc.c
+++ xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
@@ -950,16 +950,16 @@ static PyObject *pyxc_hvm_build(XcObject
@@ -946,16 +946,16 @@ static PyObject *pyxc_hvm_build(XcObject
#endif
int i;
char *image;
@ -24,7 +24,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
return NULL;
memset(vcpu_avail, 0, sizeof(vcpu_avail));
@@ -1011,6 +1011,7 @@ static PyObject *pyxc_hvm_build(XcObject
@@ -1007,6 +1007,7 @@ static PyObject *pyxc_hvm_build(XcObject
va_hvm->checksum -= sum;
munmap(va_map, XC_PAGE_SIZE);
#endif

View File

@ -101,7 +101,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c
===================================================================
--- xen-4.0.0-testing.orig/tools/ioemu-remote/i386-dm/helper2.c
+++ xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c
@@ -109,6 +109,9 @@ int send_vcpu = 0;
@@ -112,6 +112,9 @@ int send_vcpu = 0;
//the evtchn port for polling the notification,
evtchn_port_t *ioreq_local_port;
@ -111,7 +111,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c
CPUX86State *cpu_x86_init(const char *cpu_model)
{
CPUX86State *env;
@@ -553,6 +556,7 @@ int main_loop(void)
@@ -556,6 +559,7 @@ int main_loop(void)
int evtchn_fd = xce_handle == -1 ? -1 : xc_evtchn_fd(xce_handle);
char *qemu_file;
fd_set fds;
@ -119,7 +119,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c
main_loop_prepare();
@@ -580,11 +584,43 @@ int main_loop(void)
@@ -583,11 +587,43 @@ int main_loop(void)
main_loop_wait(1); /* For the select() on events */
/* Save the device state */

View File

@ -19,7 +19,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c
struct xen_platform_op curop, *op = &curop;
if ( !IS_PRIV(current->domain) )
@@ -475,6 +476,24 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
@@ -484,6 +485,24 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
op->u.mem_add.epfn,
op->u.mem_add.pxm);
break;

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ecdd97da2f63df66d5e965f8ba11481422332cd01f70521d67bcf62d207f5d61
size 23203635
oid sha256:8696f3d4de6d66bce133e78e990c409053ba057fe13c708e763d32b3b4deb2cc
size 23204532

View File

@ -9,8 +9,8 @@ Index: xen-4.0.0-testing/Config.mk
-CONFIG_QEMU ?= $(QEMU_REMOTE)
+CONFIG_QEMU ?= ioemu-remote
QEMU_TAG := xen-4.0.0-rc6
#QEMU_TAG ?= e5d14857cd67490bf956d97c8888c0be95ed3f78
QEMU_TAG := xen-4.0.0-rc9
#QEMU_TAG ?= f1d909f0f854194f5a40d850886d1413fb8b63c2
@@ -167,9 +167,9 @@ CONFIG_OCAML_XENSTORED ?= n
# Optional components
XENSTAT_XENTOP ?= y

View File

@ -1,8 +1,30 @@
-------------------------------------------------------------------
Tue Mar 31 08:09:49 MDT 2010 - carnold@novell.com
- Update to changeset 21087 Xen 4.0.0 RC9.
-------------------------------------------------------------------
Fri Mar 26 07:57:33 MDT 2010 - carnold@novell.com
- Update to changeset 21075 Xen 4.0.0 RC8.
-------------------------------------------------------------------
Thu Mar 25 15:59:28 CST 2010 - jsong@novell.com
- bnc#584210 - xm usb-hc-destroy does not remove entry from xend
del_usb_xend_entry.patch
-------------------------------------------------------------------
Tue Mar 23 09:55:52 MDT 2010 - carnold@novell.com
- Update to changeset 21057 Xen 4.0.0 RC7.
-------------------------------------------------------------------
Wed Mar 17 16:42:20 CST 2010 - jsong@novell.com
-Fix bnc#466899 - numa enabled xen fails to start/create vms
adjust_vcpuaffinity_more_cpu.patch
-------------------------------------------------------------------
Tue Mar 9 16:28:59 MST 2010 - carnold@novell.com

View File

@ -1,5 +1,5 @@
#
# spec file for package xen (Version 4.0.0_21046_01)
# spec file for package xen (Version 4.0.0_21087_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 21046
%define changeset 21087
%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
@ -33,11 +33,16 @@ BuildRequires: te_ams te_latex tetex
%endif
%ifarch x86_64
BuildRequires: glibc-32bit glibc-devel-32bit
%define max_cpus 256
%define pae_enabled n
%else
%define max_cpus 32
%define pae_enabled y
%endif
%if %{?with_kmp}0
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
%endif
Version: 4.0.0_21046_01
Version: 4.0.0_21087_01
Release: 1
License: GPLv2
Group: System/Kernel
@ -156,6 +161,7 @@ Patch425: ioemu-bdrv-open-CACHE_WB.patch
Patch426: xen-ioemu-hvm-pv-support.diff
Patch427: qemu-dm-segfault.patch
Patch428: hibernate.patch
Patch429: del_usb_xend_entry.patch
# Jim's domain lock patch
Patch450: xend-domain-lock.patch
# Hypervisor and PV driver Patches
@ -592,6 +598,7 @@ Authors:
%patch426 -p1
%patch427 -p1
%patch428 -p1
%patch429 -p1
%patch450 -p1
%patch500 -p1
%patch501 -p1
@ -668,21 +675,12 @@ install_xen()
ln -s xen${ext}-%{version}-%{release}.gz $RPM_BUILD_ROOT/boot/xen${ext}.gz
ln -sf xen-syms${ext}-%{version}-%{release} $RPM_BUILD_ROOT/boot/xen-syms${ext}
}
%ifarch %ix86
make -C xen install pae=y debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT
make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT
install_xen dbg
make -C xen clean
make -C xen install pae=y debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT
make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT
install_xen
make -C xen clean
%else
make -C xen install max_phys_cpus=256 pae=n debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT
install_xen dbg
make -C xen clean
make -C xen install max_phys_cpus=256 pae=n debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT
install_xen
make -C xen clean
%endif
export CFLAGS="$RPM_OPT_FLAGS"
export RPM_OPT_FLAGS
make -C tools/include/xen-foreign

View File

@ -91,7 +91,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
XendTask.log_progress(0, 30, self._constructDomain)
XendTask.log_progress(31, 60, self._initDomain)
@@ -2972,6 +2974,11 @@ class XendDomainInfo:
@@ -2979,6 +2981,11 @@ class XendDomainInfo:
self._stateSet(DOM_STATE_HALTED)
self.domid = None # Do not push into _stateSet()!
@ -103,7 +103,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
finally:
self.refresh_shutdown_lock.release()
@@ -4478,6 +4485,74 @@ class XendDomainInfo:
@@ -4485,6 +4492,74 @@ class XendDomainInfo:
def has_device(self, dev_class, dev_uuid):
return (dev_uuid in self.info['%s_refs' % dev_class.lower()])