aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/apic.c
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2011-01-11 11:40:50 +0000
committerKeir Fraser <keir@xen.org>2011-01-11 11:40:50 +0000
commitdb0fe41a146e1e8170fdbe1360a99fe5758f40e2 (patch)
tree0939f1312e478362d8f8eb319aecece06e1ed746 /xen/arch/x86/apic.c
parent0c138347400b9be2b811f025109c17a9c9397376 (diff)
downloadxen-db0fe41a146e1e8170fdbe1360a99fe5758f40e2.tar.gz
xen-db0fe41a146e1e8170fdbe1360a99fe5758f40e2.tar.bz2
xen-db0fe41a146e1e8170fdbe1360a99fe5758f40e2.zip
x86: restore x2apic pre-enabled check logic
c/s 22475 removed the early checking without replacement, neglecting the fact that x2apic_enabled must be set early for APIC register accesses done during second stage ACPI table parsing (rooted at acpi_boot_init()) to work correctly. Without this, particularly determination of the boot CPU won't work, resulting in an attempt to bring up that CPU again as a secondary one (which fails). Restore the functionality, now calling it from generic_apic_probe(). Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/apic.c')
-rw-r--r--xen/arch/x86/apic.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 37dfc79c2e..1590c3a171 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -957,19 +957,10 @@ void x2apic_ap_setup(void)
void __init x2apic_bsp_setup(void)
{
struct IO_APIC_route_entry **ioapic_entries = NULL;
- uint64_t msr_content;
if ( !cpu_has_x2apic )
return;
- /* Check whether x2apic mode was already enabled by the BIOS. */
- rdmsrl(MSR_IA32_APICBASE, msr_content);
- if ( msr_content & MSR_IA32_APICBASE_EXTD )
- {
- printk("x2APIC mode is already enabled by BIOS.\n");
- x2apic_enabled = 1;
- }
-
if ( !opt_x2apic )
{
if ( !x2apic_enabled )