summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-12-13 15:09:40 +0000
committerjhb <jhb@FreeBSD.org>2005-12-13 15:09:40 +0000
commit76cd6764a47666f310f54363214c051d6bcc6672 (patch)
tree0a0c1a423ce0603c9556d0d11d0fb32bb54ea3a1 /sys/amd64
parent54f6e603e2a06ac3e0ca4919af83a0cc72ef99c1 (diff)
downloadFreeBSD-src-76cd6764a47666f310f54363214c051d6bcc6672.zip
FreeBSD-src-76cd6764a47666f310f54363214c051d6bcc6672.tar.gz
Don't check the CPUID_APIC bit in the cpu_features flags field to determine
if the boot CPU has a local APIC because some BIOS vendors are not competent enough to set this bit. Instead, just assume that we always have a local APIC on amd64. For i386 the check is a bit more subtle. FreeBSD requires either an MP Table or an ACPI MADT table to enumerate APICs. The only systems that have one of those tables that don't have local APICs are some presumably rare (and old) SMP 486 systems using external APICs. Thus, instead of checking the CPUID_APIC flag, check the CPU class and abort if we are running on a 486. MFC after: 1 week Reported by: bz
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/local_apic.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/sys/amd64/amd64/local_apic.c b/sys/amd64/amd64/local_apic.c
index e81ac65..df8bcd8 100644
--- a/sys/amd64/amd64/local_apic.c
+++ b/sys/amd64/amd64/local_apic.c
@@ -831,10 +831,6 @@ 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;
OpenPOWER on IntegriCloud