APIC version and 8-bit APIC IDs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi William, hello everyone,

The MP_valid_apicid() function [arch/i386/kernel/mpparse.c] checks whether the APIC version field is >=20 in order to determine whether the CPU supports 8-bit physical APIC ids.

We currently have two modern processors oin our labs (Intel Xeon MP, AMD Dual-Core Opteron 875) for which this test is wrong because their APIC ids are both 16, but they _do_ support 8-bit APIC ids. This leads to erratic error messages and to valid CPUs not being detected.

Unfortunately I cannot tell why this is so, and what test should be used instead to make sure a CPU supports 8-bit APIC IDs.

The AMD BIOS and kernel developer's guide for Athlon64 and Opteron processors says

"When both ApicExtId and ApicExtBrdCst in the HyperTransport" Transaction Control Register are set, all 8 bits of APIC ID are used."

This refers to the TCR register. Reading that would require PCI configuration space access before the APICs are set up, I don't know if that's possible.
(http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/26094.PDF)

The Intel Manual simply says
"For the Pentium 4 and Intel Xeon Processors, the xAPIC specification extends the local APIC field to 8 bits". The CPUs we have are Xeon MP (family 15, model 4); their local APIC version is 16, and they do support 8-bit APIC-IDs.

I guess it's up to the Intel an AMD people to have a final word on this,
but the current implementation is clearly wrong for these latest CPU types.

Regards
Martin

--
Martin Wilck                Phone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1        mailto:[email protected]
D-33106 Paderborn           http://www.fujitsu-siemens.com/primergy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux