Commit 4ed86af6 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'x86-fixes-for-linus' of...

Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: Fix vSMP boot crash
  x86, xen: Initialize cx to suppress warning
  x86, xen: Suppress WP test on Xen
parents 326ba501 295594e9
...@@ -44,6 +44,11 @@ static struct apic *apic_probe[] __initdata = { ...@@ -44,6 +44,11 @@ static struct apic *apic_probe[] __initdata = {
NULL, NULL,
}; };
static int apicid_phys_pkg_id(int initial_apic_id, int index_msb)
{
return hard_smp_processor_id() >> index_msb;
}
/* /*
* Check the APIC IDs in bios_cpu_apicid and choose the APIC mode. * Check the APIC IDs in bios_cpu_apicid and choose the APIC mode.
*/ */
...@@ -69,6 +74,11 @@ void __init default_setup_apic_routing(void) ...@@ -69,6 +74,11 @@ void __init default_setup_apic_routing(void)
printk(KERN_INFO "Setting APIC routing to %s\n", apic->name); printk(KERN_INFO "Setting APIC routing to %s\n", apic->name);
} }
if (is_vsmp_box()) {
/* need to update phys_pkg_id */
apic->phys_pkg_id = apicid_phys_pkg_id;
}
/* /*
* Now that apic routing model is selected, configure the * Now that apic routing model is selected, configure the
* fault handling for intr remapping. * fault handling for intr remapping.
......
...@@ -215,6 +215,7 @@ static __init void xen_init_cpuid_mask(void) ...@@ -215,6 +215,7 @@ static __init void xen_init_cpuid_mask(void)
(1 << X86_FEATURE_ACPI)); /* disable ACPI */ (1 << X86_FEATURE_ACPI)); /* disable ACPI */
ax = 1; ax = 1;
cx = 0;
xen_cpuid(&ax, &bx, &cx, &dx); xen_cpuid(&ax, &bx, &cx, &dx);
/* cpuid claims we support xsave; try enabling it to see what happens */ /* cpuid claims we support xsave; try enabling it to see what happens */
...@@ -1059,6 +1060,7 @@ asmlinkage void __init xen_start_kernel(void) ...@@ -1059,6 +1060,7 @@ asmlinkage void __init xen_start_kernel(void)
/* set up basic CPUID stuff */ /* set up basic CPUID stuff */
cpu_detect(&new_cpu_data); cpu_detect(&new_cpu_data);
new_cpu_data.hard_math = 1; new_cpu_data.hard_math = 1;
new_cpu_data.wp_works_ok = 1;
new_cpu_data.x86_capability[0] = cpuid_edx(1); new_cpu_data.x86_capability[0] = cpuid_edx(1);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment