]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Don't check the CPUID_APIC bit in the cpu_features flags field to determine
authorjhb <jhb@FreeBSD.org>
Tue, 13 Dec 2005 15:09:40 +0000 (15:09 +0000)
committerjhb <jhb@FreeBSD.org>
Tue, 13 Dec 2005 15:09:40 +0000 (15:09 +0000)
commit76cd6764a47666f310f54363214c051d6bcc6672
tree0a0c1a423ce0603c9556d0d11d0fb32bb54ea3a1
parent54f6e603e2a06ac3e0ca4919af83a0cc72ef99c1
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
sys/amd64/amd64/local_apic.c
sys/i386/i386/local_apic.c