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
This commit is contained in:
@@ -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)
|
|||||||
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)
|
|||||||
(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)
|
|||||||
/* 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
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user