mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
Revert previous commit. The BIOS braindamage is even worse than I
originally thought. The BIOS that cleared CPUID_APIC actually managed to disable the local APIC entirely and even Windows 64 doesn't boot on it. Reported by: bz
This commit is contained in:
parent
7d5a4821ba
commit
e83f6bcb75
2 changed files with 6 additions and 9 deletions
|
|
@ -831,6 +831,10 @@ apic_init(void *dummy __unused)
|
|||
struct apic_enumerator *enumerator;
|
||||
int retval, best;
|
||||
|
||||
/* We only support built in local APICs. */
|
||||
if (!(cpu_feature & CPUID_APIC))
|
||||
return;
|
||||
|
||||
/* Don't probe if APIC mode is disabled. */
|
||||
if (resource_disabled("apic", 0))
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -834,15 +834,8 @@ apic_init(void *dummy __unused)
|
|||
uint64_t apic_base;
|
||||
int retval, best;
|
||||
|
||||
/*
|
||||
* We only support built in local APICs. Unfortunately, we can't
|
||||
* just check the CPUID_APIC bit in cpu_features because some BIOSen
|
||||
* don't set that flag. Instead, we assume that all Pentium-class
|
||||
* and later machines have a local APIC. The only non-Pentium-class
|
||||
* CPUs that can talk to an external APIC are 486s, so we just
|
||||
* bail if we are on a 486.
|
||||
*/
|
||||
if (cpu_class == CPUCLASS_486)
|
||||
/* We only support built in local APICs. */
|
||||
if (!(cpu_feature & CPUID_APIC))
|
||||
return;
|
||||
|
||||
/* Don't probe if APIC mode is disabled. */
|
||||
|
|
|
|||
Loading…
Reference in a new issue