maximum of CPUs
John Baldwin
jhb at FreeBSD.org
Tue Jul 15 12:34:38 PDT 2003
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 at 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 at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
More information about the freebsd-smp
mailing list