- 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:
parent
6327676635
commit
8be17801c5
@ -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
|
||||
|
@ -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' -"
|
||||
|
@ -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" },
|
||||
|
||||
|
@ -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
22
del_usb_xend_entry.patch
Normal 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
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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;
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ecdd97da2f63df66d5e965f8ba11481422332cd01f70521d67bcf62d207f5d61
|
||||
size 23203635
|
||||
oid sha256:8696f3d4de6d66bce133e78e990c409053ba057fe13c708e763d32b3b4deb2cc
|
||||
size 23204532
|
||||
|
@ -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
|
||||
|
22
xen.changes
22
xen.changes
@ -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
|
||||
|
||||
|
26
xen.spec
26
xen.spec
@ -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
|
||||
|
@ -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()])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user