diff --git a/32on64-extra-mem.patch b/32on64-extra-mem.patch index d01b7ef..263cf4a 100644 --- a/32on64-extra-mem.patch +++ b/32on64-extra-mem.patch @@ -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 -@@ -2909,7 +2909,7 @@ class XendDomainInfo: +@@ -2902,7 +2902,7 @@ class XendDomainInfo: self.guest_bitsize = self.image.getBitSize() # Make sure there's enough RAM available for the domain diff --git a/cdrom-removable.patch b/cdrom-removable.patch index 6f07661..1175f1c 100644 --- a/cdrom-removable.patch +++ b/cdrom-removable.patch @@ -1,7 +1,5 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py ++++ b/tools/python/xen/xend/server/HalDaemon.py @@ -0,0 +1,243 @@ +#!/usr/bin/env python +# -*- mode: python; -*- @@ -246,10 +244,8 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py + print 'Falling off end' + + -Index: xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py ++++ b/tools/python/xen/xend/server/Hald.py @@ -0,0 +1,125 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -376,10 +372,8 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py + watcher.run() + time.sleep(10) + watcher.shutdown() -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 +--- a/tools/python/xen/xend/server/SrvServer.py ++++ b/tools/python/xen/xend/server/SrvServer.py @@ -56,6 +56,7 @@ from xen.web.SrvDir import SrvDir from SrvRoot import SrvRoot @@ -397,10 +391,8 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py def create(): root = SrvDir() -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 +--- a/tools/ioemu-remote/xenstore.c ++++ b/tools/ioemu-remote/xenstore.c @@ -18,6 +18,7 @@ #include "exec-all.h" #include "sysemu.h" @@ -487,10 +479,10 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c 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; + } + - hd_index = drive_name_to_index(vec[XS_WATCH_TOKEN]); - if (hd_index == -1) { - fprintf(stderr,"medium change watch on `%s' -" + if (strncmp(vec[XS_WATCH_TOKEN], "hd", 2) || + strlen(vec[XS_WATCH_TOKEN]) != 3) + goto out; diff --git a/cpu-pools-python.patch b/cpu-pools-python.patch index a8849c9..eaddd66 100644 --- a/cpu-pools-python.patch +++ b/cpu-pools-python.patch @@ -36,7 +36,7 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c return pyxc_error_to_exception(); if ( target ) -@@ -329,7 +331,7 @@ static PyObject *pyxc_domain_getinfo(XcO +@@ -332,7 +334,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, -@@ -344,7 +346,8 @@ static PyObject *pyxc_domain_getinfo(XcO +@@ -347,7 +349,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) ) { -@@ -1751,6 +1754,179 @@ static PyObject *pyxc_dom_set_memshr(XcO +@@ -1755,6 +1758,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", -@@ -1866,7 +2042,8 @@ static PyMethodDef pyxc_methods[] = { +@@ -1870,7 +2046,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, -@@ -2264,6 +2441,66 @@ static PyMethodDef pyxc_methods[] = { +@@ -2268,6 +2445,66 @@ static PyMethodDef pyxc_methods[] = { " enable [int,0|1]: Disable or enable?\n" "Returns: [int] 0 on success; -1 on error.\n" }, diff --git a/cpupools-core.patch b/cpupools-core.patch index 4374bb9..7da779c 100644 --- a/cpupools-core.patch +++ b/cpupools-core.patch @@ -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 -@@ -234,7 +234,7 @@ static int enter_state(u32 state) +@@ -231,7 +231,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); -@@ -265,7 +265,7 @@ int acpi_enter_sleep(struct xenpf_enter_ +@@ -262,7 +262,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); -@@ -314,7 +315,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe +@@ -310,7 +311,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; -@@ -403,7 +404,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe +@@ -398,7 +399,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe + g_info = &op->u.pcpu_info; - /* 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 +- 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 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; } -@@ -467,7 +468,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe +@@ -458,7 +459,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe break; } ret = continue_hypercall_on_cpu( @@ -372,35 +372,47 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c */ int alloc_cpu_id(void) { -@@ -1303,10 +1303,11 @@ int __cpu_disable(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) + remove_siblinginfo(cpu); - /* 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(); + /* It's now safe to remove this processor from the online map */ ++ cpu_clear(cpu, cpupool0->cpu_valid); + cpu_clear(cpu, cpu_online_map); - cpu_disable_scheduler(); + cpu_disable_scheduler(cpu, 0); return 0; } -@@ -1340,12 +1341,12 @@ int cpu_down(unsigned int cpu) +@@ -1342,8 +1344,8 @@ int cpu_down(unsigned int cpu) + { int err = 0; - /* spin_trylock() avoids deadlock with stop_machine_run(). */ -- if (!spin_trylock(&cpu_add_remove_lock)) { -+ if (!spin_trylock(&cpupool_lock)) { - err = -EBUSY; - goto out; - } - +- spin_lock(&cpu_add_remove_lock); - 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; } -@@ -1378,7 +1379,7 @@ int cpu_down(unsigned int cpu) +@@ -1376,7 +1378,7 @@ int cpu_down(unsigned int cpu) out: if (!err) send_guest_global_virq(dom0, VIRQ_PCPU_STATE); @@ -409,16 +421,16 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c return err; } -@@ -1387,7 +1388,7 @@ int cpu_up(unsigned int cpu) +@@ -1384,7 +1386,7 @@ int cpu_up(unsigned int cpu) + { int err = 0; - /* spin_trylock() avoids deadlock with stop_machine_run(). */ -- if (!spin_trylock(&cpu_add_remove_lock)) -+ if (!spin_trylock(&cpupool_lock)) - return -EBUSY; - +- spin_lock(&cpu_add_remove_lock); ++ spin_lock(&cpupool_lock); if (cpu_online(cpu)) { -@@ -1405,7 +1406,7 @@ int cpu_up(unsigned int cpu) + printk("Bring up a online cpu. Bogus!\n"); + err = -EBUSY; +@@ -1400,7 +1402,7 @@ int cpu_up(unsigned int cpu) out: if (!err) send_guest_global_virq(dom0, VIRQ_PCPU_STATE); @@ -427,13 +439,12 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c return err; } -@@ -1491,14 +1492,14 @@ int cpu_add(uint32_t apic_id, uint32_t a +@@ -1481,13 +1483,13 @@ int cpu_add(uint32_t apic_id, uint32_t a + if ( physid_isset(apic_id, phys_cpu_present_map) ) return -EEXIST; - /* spin_trylock() avoids deadlock with stop_machine_run(). */ -- if (!spin_trylock(&cpu_add_remove_lock)) -+ if (!spin_trylock(&cpupool_lock)) - return -EBUSY; +- spin_lock(&cpu_add_remove_lock); ++ spin_lock(&cpupool_lock); cpu = mp_register_lapic(apic_id, 1); @@ -444,7 +455,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c return cpu; } -@@ -1515,7 +1516,7 @@ int cpu_add(uint32_t apic_id, uint32_t a +@@ -1504,7 +1506,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); @@ -453,7 +464,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/smpboot.c return node; } apicid_to_node[apic_id] = node; -@@ -1523,7 +1524,7 @@ int cpu_add(uint32_t apic_id, uint32_t a +@@ -1512,7 +1514,7 @@ int cpu_add(uint32_t apic_id, uint32_t a srat_detect_node(cpu); numa_add_cpu(cpu); @@ -462,7 +473,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; } -@@ -1567,6 +1568,7 @@ int __devinit __cpu_up(unsigned int cpu) +@@ -1556,6 +1558,7 @@ int __devinit __cpu_up(unsigned int cpu) process_pending_softirqs(); } diff --git a/del_usb_xend_entry.patch b/del_usb_xend_entry.patch deleted file mode 100644 index a77da85..0000000 --- a/del_usb_xend_entry.patch +++ /dev/null @@ -1,22 +0,0 @@ -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 diff --git a/dump-exec-state.patch b/dump-exec-state.patch index 2e587e7..fcb24fe 100644 --- a/dump-exec-state.patch +++ b/dump-exec-state.patch @@ -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 -@@ -395,7 +395,7 @@ static void __smp_call_function_interrup +@@ -394,7 +394,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); } -@@ -403,7 +403,7 @@ static void __smp_call_function_interrup +@@ -402,7 +402,7 @@ static void __smp_call_function_interrup { mb(); atomic_inc(&call_data.started); @@ -37,13 +37,11 @@ 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,20 +71,45 @@ static struct keyhandler show_handlers_k +@@ -71,14 +71,25 @@ 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(); @@ -65,55 +63,26 @@ 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) - { -- 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 +@@ -92,14 +103,12 @@ 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); -- -- 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); -- } -- -- 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 = { + 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); + } + 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 diff --git a/hv_tools.patch b/hv_tools.patch index 392a299..f7c8dc7 100644 --- a/hv_tools.patch +++ b/hv_tools.patch @@ -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 -@@ -946,16 +946,16 @@ static PyObject *pyxc_hvm_build(XcObject +@@ -950,16 +950,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)); -@@ -1007,6 +1007,7 @@ static PyObject *pyxc_hvm_build(XcObject +@@ -1011,6 +1011,7 @@ static PyObject *pyxc_hvm_build(XcObject va_hvm->checksum -= sum; munmap(va_map, XC_PAGE_SIZE); #endif diff --git a/snapshot-ioemu-save.patch b/snapshot-ioemu-save.patch index 27aa63d..bd85c0c 100644 --- a/snapshot-ioemu-save.patch +++ b/snapshot-ioemu-save.patch @@ -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 -@@ -112,6 +112,9 @@ int send_vcpu = 0; +@@ -109,6 +109,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; -@@ -556,6 +559,7 @@ int main_loop(void) +@@ -553,6 +556,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(); -@@ -583,11 +587,43 @@ int main_loop(void) +@@ -580,11 +584,43 @@ int main_loop(void) main_loop_wait(1); /* For the select() on events */ /* Save the device state */ diff --git a/x86-cpufreq-report.patch b/x86-cpufreq-report.patch index 5afbf29..934d83f 100644 --- a/x86-cpufreq-report.patch +++ b/x86-cpufreq-report.patch @@ -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) ) -@@ -484,6 +485,24 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe +@@ -475,6 +476,24 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe op->u.mem_add.epfn, op->u.mem_add.pxm); break; diff --git a/xen-4.0.0-testing-src.tar.bz2 b/xen-4.0.0-testing-src.tar.bz2 index a963c6b..29ea1ea 100644 --- a/xen-4.0.0-testing-src.tar.bz2 +++ b/xen-4.0.0-testing-src.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8696f3d4de6d66bce133e78e990c409053ba057fe13c708e763d32b3b4deb2cc -size 23204532 +oid sha256:ecdd97da2f63df66d5e965f8ba11481422332cd01f70521d67bcf62d207f5d61 +size 23203635 diff --git a/xen-config.diff b/xen-config.diff index 987d887..97414b8 100644 --- a/xen-config.diff +++ b/xen-config.diff @@ -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-rc9 - #QEMU_TAG ?= f1d909f0f854194f5a40d850886d1413fb8b63c2 + QEMU_TAG := xen-4.0.0-rc6 + #QEMU_TAG ?= e5d14857cd67490bf956d97c8888c0be95ed3f78 @@ -167,9 +167,9 @@ CONFIG_OCAML_XENSTORED ?= n # Optional components XENSTAT_XENTOP ?= y diff --git a/xen.changes b/xen.changes index 9670eea..2fc4d6b 100644 --- a/xen.changes +++ b/xen.changes @@ -1,30 +1,8 @@ -------------------------------------------------------------------- -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 diff --git a/xen.spec b/xen.spec index 18f4d79..7a8e131 100644 --- a/xen.spec +++ b/xen.spec @@ -1,5 +1,5 @@ # -# spec file for package xen (Version 4.0.0_21087_01) +# spec file for package xen (Version 4.0.0_21046_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 21087 +%define changeset 21046 %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,16 +33,11 @@ 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_21087_01 +Version: 4.0.0_21046_01 Release: 1 License: GPLv2 Group: System/Kernel @@ -161,7 +156,6 @@ 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 @@ -598,7 +592,6 @@ Authors: %patch426 -p1 %patch427 -p1 %patch428 -p1 -%patch429 -p1 %patch450 -p1 %patch500 -p1 %patch501 -p1 @@ -675,12 +668,21 @@ 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} } -make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT +%ifarch %ix86 +make -C xen install pae=y debug=y crash_debug=y DESTDIR=$RPM_BUILD_ROOT install_xen dbg make -C xen clean -make -C xen install max_phys_cpus=%{max_cpus} pae=%{pae_enabled} debug=n crash_debug=n DESTDIR=$RPM_BUILD_ROOT +make -C xen install pae=y 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 diff --git a/xend-domain-lock.patch b/xend-domain-lock.patch index e1aae2e..4f99899 100644 --- a/xend-domain-lock.patch +++ b/xend-domain-lock.patch @@ -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) -@@ -2979,6 +2981,11 @@ class XendDomainInfo: +@@ -2972,6 +2974,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() -@@ -4485,6 +4492,74 @@ class XendDomainInfo: +@@ -4478,6 +4485,74 @@ class XendDomainInfo: def has_device(self, dev_class, dev_uuid): return (dev_uuid in self.info['%s_refs' % dev_class.lower()])