Specifications
2-21
LOCAL X2APIC ARCHITECTURE
processor topology. The relevant information in CPUID leaves 01H and 04H do not
directly map to individual levels of the topology, but merely relate to the sharing
characteristics below different levels.
The extended topology enumeration leaf of CPUID provides topology information and
data that simplify the algorithm to sort out the processor topology within a physical
package from a 32-bit x2APIC ID. Each level of the processor topology is enumerated
by specifying a “level number“ in ECX as input when executing CPUID.EAX=0BH. This
enumeration by level number allows the CPUID.0BH leaf to support more sophisti-
cated topology than the limitation of legacy topology definitions (SMT, core,
package).
The bit fields reported by CPUID.EAX=0BH include the x2APIC ID of the current
logical processor (in EDX), an encoded value of hierarchy referred to as “level type“
(in ECX[15:8]), the number of enabled logical processors at each queried level type
(below its immediate parent level type), and a bit-vector length field to simplify the
parsing of 32-bit x2APIC ID into hierarchical components. The detailed bit field defi-
nitions for CPUID.0BH leaf are shown in Table 2-4.
Table 2-4. CPUID Leaf 0BH Information
Initial EAX
Value Information Provided about the Processor
CPUID leaves > 3 < 80000000 are visible only when
IA32_MISC_ENABLES.BOOT_NT4[bit 22] = 0 (default).
Extended Topology Enumeration Leaf
0BH NOTE:
Most fields of leaf 0BH output depends on the initial value in ECX.
EDX output do not vary with initial value in ECX.
ECX[7:0] output always reflect initial value in ECX.
All other output value for an invalid initial value in ECX are 0.
EAX
EBX
Bits 4-0: Number of bits to shift x2APIC ID right to get unique topology
ID of next level type*. All logical processors with same next level ID
share current level
Bits 31-5: Reserved
Bits 15-00: Number of enabled logical processors at this level type. The
number reflects configuration as shipped by Intel**
Bits 31-16: Reserved
ECX
EDX
Bits 07-00: Level number. Same value as input
Bits 15-08: Level Type***
Bits 31-16: Reserved.
Bits 31-0: x2APIC ID of the current logical processor