Are io-apics limited to apic ids 0x0-0x0f as well?
My memory says to me the limit should be 0x0-0xff...
before enable ext_apic_id, Opteron only can use 4 bit for apic id, So only 16 apic id.
After enable ext_apic_id in every opteron, it will use 8 bit for apic id, So we got 256 apic id.
Then CPU can use 0x10 above apic id.
some io apic device only support 4 bit apic id, So We can leave 0x0-0xf to them.
that is for AMD, it is said that intel's from p4 has 256 for default.
I cut and paste something for you from Kernel list.
1: 82489DX -- communication using a five-wire inter-APIC bus, 8-bit physical ID, 32-bit logical ID, etc.,
2: Pentium-style -- communication using a three-wire inter-APIC bus, 4-bit physical ID, 8-bit logical ID, etc.,
3: P4-style -- communication using the system bus, 8-bit physical ID, 8-bit logical ID, etc.
According to what AMD told us, all K8 CPUs support 8-bit APIC IDs ("extended APIC IDs" in their speak), but they are only enabled "when both ApicExtId and ApicExtBrdCst in the HyperTransport Transaction Control Register are set".
YH