From: Martin Wilck <martin.wilck@fujitsu-siemens.com>
To: linux-kernel@vger.kernel.org, wli@holomorphy.com
Cc: Gerhard Wichert <Gerhard.Wichert@fujitsu-siemens.com>
Subject: APIC version and 8-bit APIC IDs
Date: Fri, 12 Aug 2005 13:13:37 +0200 [thread overview]
Message-ID: <42FC8461.2040102@fujitsu-siemens.com> (raw)
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:Martin.Wilck@Fujitsu-Siemens.com
D-33106 Paderborn http://www.fujitsu-siemens.com/primergy
next reply other threads:[~2005-08-12 11:13 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-12 11:13 Martin Wilck [this message]
[not found] <42FC8461.2040102@fujitsu-siemens.com.suse.lists.linux.kernel>
2005-08-12 11:43 ` APIC version and 8-bit APIC IDs Andi Kleen
2005-08-12 13:21 ` Martin Wilck
2005-08-12 13:32 ` Andi Kleen
2005-08-12 13:51 ` Martin Wilck
2005-08-12 14:55 ` Martin Wilck
2005-08-12 14:57 ` Andi Kleen
2005-08-12 16:37 ` yhlu
2005-08-12 16:42 ` Andi Kleen
2005-08-12 17:44 ` yhlu
2005-08-22 9:50 ` Martin Wilck
2005-08-23 11:10 ` Maciej W. Rozycki
2005-08-26 14:01 ` Martin Wilck
2005-08-26 14:50 ` Maciej W. Rozycki
2005-08-29 7:25 ` Martin Wilck
2005-08-12 18:19 ` Siddha, Suresh B
2005-08-12 18:22 ` Andi Kleen
2005-08-12 18:40 ` Siddha, Suresh B
2005-08-12 18:50 ` Andi Kleen
2005-08-31 13:13 ` Martin Wilck
2005-08-31 13:25 ` Maciej W. Rozycki
2005-08-31 14:27 ` Martin Wilck
[not found] ` <4315B2D9.6080700@fujitsu-siemens.com>
[not found] ` <Pine.LNX.4.61L.0508311450020.10940@blysk.ds.pg.gda.pl>
2005-08-31 14:50 ` Martin Wilck
2005-08-31 14:40 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42FC8461.2040102@fujitsu-siemens.com \
--to=martin.wilck@fujitsu-siemens.com \
--cc=Gerhard.Wichert@fujitsu-siemens.com \
--cc=linux-kernel@vger.kernel.org \
--cc=wli@holomorphy.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox