From: Martin Wilck <martin.wilck@fujitsu-siemens.com>
To: Andi Kleen <ak@suse.de>
Cc: linux-kernel@vger.kernel.org, "Wichert,
Gerhard" <Gerhard.Wichert@fujitsu-siemens.com>
Subject: Re: APIC version and 8-bit APIC IDs
Date: Wed, 31 Aug 2005 15:13:43 +0200 [thread overview]
Message-ID: <4315AD07.2020500@fujitsu-siemens.com> (raw)
In-Reply-To: <p73pssj2xdz.fsf@verdi.suse.de>
Hi Andi, hi 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.
>
> Yes, it's broken. ... . Also it's only
> a sanity check for broken BIOS, and in this case it causes more problems
> than it solves.
We have another issue with the APIC IDs: the GET_APIC_ID and
APIC_ID_MASK macros from the subarch code. In all subarchs except summit
and es7000, these macros use a hard-coded mask 0x0F for the APIC ID.
Thus, any APIC ID >15 will be truncated, leading to obscure errors.
We are wondering why these masks are there in the subarch code at all.
After all, whether or not 8-bit APIC IDs are supported depends mainly on
the CPU type used. Why wouldn't it possible to have a "default"
architecture with APIC IDs > 15, if the CPUs allow it?
In other words: What would be broken if we just used an APIC ID mask of
0xFF everywhere?
The current situation with MP_valid_apicid() on the one hand (masking
the APIC ID as a function of local APIC version) and APIC_ID_MASK
(masking the APIC as a function of subarch) on the other hand is
inconsistent. A correct approach must take both CPU and architecture
constraints into account, and use a CPU-type-dependent variable mask in
the subarch code.
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 prev parent reply other threads:[~2005-08-31 13:13 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[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 [this message]
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
2005-08-12 11:13 Martin Wilck
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=4315AD07.2020500@fujitsu-siemens.com \
--to=martin.wilck@fujitsu-siemens.com \
--cc=Gerhard.Wichert@fujitsu-siemens.com \
--cc=ak@suse.de \
--cc=linux-kernel@vger.kernel.org \
/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