SHA256
1
0
forked from pool/xen

- 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

@@ -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();
}