Commit fdd90c3c authored by Len Brown's avatar Len Brown

Cset exclude: len.brown@intel.com|ChangeSet|20041010081245|01886

parent 2fcfece9
...@@ -690,8 +690,22 @@ static int __init detect_init_APIC (void) ...@@ -690,8 +690,22 @@ static int __init detect_init_APIC (void)
goto no_apic; goto no_apic;
} }
if (!cpu_has_apic) if (!cpu_has_apic) {
goto no_apic; /*
* Some BIOSes disable the local APIC in the
* APIC_BASE MSR. This can only be done in
* software for Intel P6 and AMD K7 (Model > 1).
*/
rdmsr(MSR_IA32_APICBASE, l, h);
if (!(l & MSR_IA32_APICBASE_ENABLE)) {
apic_printk(APIC_VERBOSE, "Local APIC disabled "
"by BIOS -- reenabling.\n");
l &= ~MSR_IA32_APICBASE_BASE;
l |= MSR_IA32_APICBASE_ENABLE | APIC_DEFAULT_PHYS_BASE;
wrmsr(MSR_IA32_APICBASE, l, h);
enabled_via_apicbase = 1;
}
}
/* /*
* The APIC feature bit should now be enabled * The APIC feature bit should now be enabled
* in `cpuid' * in `cpuid'
......
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