Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Jan 2003 17:33:18 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/i386/i386 mp_machdep.c
Message-ID:  <200301080133.h081XI8W028546@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2003/01/07 17:33:18 PST

  Modified files:
    sys/i386/i386        mp_machdep.c 
  Log:
  Enumerate logical hyperthread CPUs manually if they aren't already listed
  in the mptable.  The way this works is that we determine if the system
  has hyperthreading and how many logical CPU's should be in each physical
  CPU by using the information returned by cpuid.  During the first pass of
  the mptable, we build a bitmask of the APIC IDs of the CPUs listed in the
  mptable.  We then scan that bitmask to see if the CPUs are already listed
  by the mptable, or if there are any APIC IDs already in use that would
  conflict with the APIC IDs of the logical CPUs.  If that test succeeds,
  then we fixup the count of application processors.  Later on during the
  second pass of the mptable we create fake processor entries for logical
  CPUs and add them to the system.
  
  We only need this type of fixup hack when using the mptable to enumerate
  CPUs.  The ACPI MADT table properly enumerates all logical CPUs.
  
  Revision  Changes    Path
  1.193     +80 -0     src/sys/i386/i386/mp_machdep.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301080133.h081XI8W028546>