Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jul 2003 15:34:50 -0400 (EDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        "Cagle, John (ISS-Houston)" <john.cagle@hp.com>
Cc:        =?us-ascii?Q?Patrik_Veselik?= <veselik@ssakhk.cz>
Subject:   RE: maximum of CPUs
Message-ID:  <XFMail.20030715153450.jhb@FreeBSD.org>
In-Reply-To: <C50AB9511EE59B49B2A503CB7AE1ABD10476C7B9@cceexc19.americas.cpqcorp.net>

next in thread | previous in thread | raw e-mail | index | archive | help

On 15-Jul-2003 Cagle, John (ISS-Houston) wrote:
>> Well, the problem is that the original APIC's only supported 
>> 15 physical
>> APIC IDs.  The (x)APIC's from Pentium4+ support 255 physical APIC IDs.
>> If the BIOS does the right thing as far as providing ID's for the I/O
>> APICs in the mptable and/or ACPI MADT, future versions of 
>> FreeBSD should
>> work just fine.
>> 
>> -- 
>> 
>> John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
>> "Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/ 
> 
> John,
> 
> The BIOS on our 8-way does list all 3 IOAPICs in the mptable (not the
> local APICs), but it does not list the logical processors, only the
> physical processors:
> 
> Processors:     APIC ID Version State           Family  Model   Step
> Flags
>                  0       0x14    BSP, usable     15      2       2
> 0x3febfbff
>                  2       0x14    AP, usable      15      2       2
> 0x3febfbff
>                  4       0x14    AP, usable      15      2       2
> 0x3febfbff
>                  6       0x14    AP, usable      15      2       2
> 0x3febfbff
>                  8       0x14    AP, usable      15      2       2
> 0x3febfbff
>                 10       0x14    AP, usable      15      2       2
> 0x3febfbff
>                 12       0x14    AP, usable      15      2       2
> 0x3febfbff
>                 14       0x14    AP, usable      15      2       2
> 0x3febfbff
> --
> 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?

> P.S. Here is the panic that I get currently:
> 
> CPU: Intel(R) XEON(TM) MP CPU 1.50GHz (1499.46-MHz 686-class CPU)
>   Origin = "GenuineIntel"  Id = 0xf22  Stepping = 2
>  
> Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE
> ,MCA,C
> MOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
>   Hyperthreading: 2 logical CPUs
> real memory  = 2147418112 (2047 MB)
> avail memory = 2082279424 (1985 MB)
> panic: No free physical APIC IDs found

This is from the current code that is trying to renumber the I/O
APIC's since they collide with CPUs.  I've completely rewritten
all the mptable code, but I don't support renumbering I/O APICs
yet.  I was really hoping that the BIOS would help us out enough
to keep the IDs from overlapping.

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/



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