diff options
author | Keir Fraser <keir@xen.org> | 2011-01-11 11:40:50 +0000 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2011-01-11 11:40:50 +0000 |
commit | db0fe41a146e1e8170fdbe1360a99fe5758f40e2 (patch) | |
tree | 0939f1312e478362d8f8eb319aecece06e1ed746 /xen/arch/x86/apic.c | |
parent | 0c138347400b9be2b811f025109c17a9c9397376 (diff) | |
download | xen-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.c | 9 |
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 ) |