cvs commit: src/sys/i386/i386 local_apic.c src/sys/amd64/amd64 local_apic.c

John Baldwin jhb at FreeBSD.org
Tue Dec 13 07:09:41 PST 2005


jhb         2005-12-13 15:09:40 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        local_apic.c 
    sys/amd64/amd64      local_apic.c 
  Log:
  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
  
  Revision  Changes    Path
  1.21      +0 -4      src/sys/amd64/amd64/local_apic.c
  1.23      +9 -2      src/sys/i386/i386/local_apic.c


More information about the cvs-all mailing list