Re: APIC version and 8-bit APIC IDs

From: Maciej W. Rozycki
Date: Fri Aug 26 2005 - 09:55:55 EST


On Fri, 26 Aug 2005, Martin Wilck wrote:

> Unless I am mistaken, the MP spec does not say that _CPUs_ must start from 0.
> We had an IO-APIC at 0. The MP spec says that the IDs must be unique (I am
> told this isn't true any more because an IO APIC and a CPU may have the same
> ID) and _need not_ be consecutive.

You are unfortunately mistaken -- the spec is explicit about *local* APIC
IDs having to start at 0. There are at least two places in the spec that
refer to that.

> We tried different setups; one had IO APICs at 0,1,2 and CPUs starting at 16.
> I can't see that this is forbidden (the reason is that the IO-APICs have only
> 4-bit APIC ID registers). Anyway we changed it now to have both IO-APICs and
> CPUs start at 0.

You can always assign 0, 16, 17, etc. to local APICs and then 1, 2, 3,
etc. for I/O APICs. Frankly I don't know what the actual justification
behind the requirement is. Note that the ID of 0 need not necessarily
belong to the BSP.

Maciej
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/