maximum of CPUs

Cagle, John (ISS-Houston) john.cagle at
Wed Jul 16 00:12:47 PDT 2003

> -----Original Message-----
> From: John Baldwin [mailto:jhb at] 
> On 15-Jul-2003 Cagle, John (ISS-Houston) wrote:
> > --
> > I/O APICs:      APIC ID Version State           Address
> >                  8       0x11    usable          0xfec00000
> >                  9       0x11    usable          0xfec01000
> >                 10       0x11    usable          0xfec02000
> > 
> > Is this what you would expect to see on an 8-way server 
> that supports
> > hyperthreading?
> Ugh, I would hope that the APIC ID's wouldn't collide with CPUs. :(
> Note that you have real CPU's at ID's 8 and 10 and a logical one at
> 9.  Currently my code doesn't renumber APIC ID's to try to cope with
> this type of case.  Does the ACPI MADT table report the same values
> for the APIC ID's of the I/O APICs?

I should have updated my BIOS before trying this out.  Sure enough, this
was a BIOS bug that was corrected in March.  The I/O APICS are now
numbered 16, 17 & 18 so as to not collide with processor's local APICS.
(Looks like the original BIOS only accounted for processors 0..7,
without hyperthreading.)

However, even with the properly renumbered IOAPICs, I still get the same
panic: "No free physical APIC IDs found".

I'm going to add some debug messages and track this down further.  I'll
let you know if I find anything.  I'll also check the MADT to see if it
jives with everything else.


More information about the freebsd-smp mailing list