background image

Vol. 3A 10-39

ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER (APIC)

10.12.1.3   Reserved Bit Checking

Section 10.12.1.2 and Table 10-6 specifies the reserved bit definitions for the APIC registers in x2APIC mode. Non-
zero writes (by WRMSR instruction) to reserved bits to these registers will raise a general protection fault exception 
while reads return zeros (RsvdZ semantics).
In x2APIC mode, the local APIC ID register is increased to 32 bits wide. This enables 2

32

–1 processors to be 

addressable in physical destination mode. This 32-bit value is referred to as “x2APIC ID”. A processor implementa-
tion may choose to support less than 32 bits in its hardware. System software should be agnostic to the actual 
number of bits that are implemented. All non-implemented bits will return zeros on reads by software. 
The APIC ID value of FFFF_FFFFH and the highest value corresponding to the implemented bit-width of the local 
APIC ID register in the system are reserved and cannot be assigned to any logical processor. 
In x2APIC mode, the local APIC ID register is a read-only register to system software and will be initialized by hard-
ware. It is accessed via the RDMSR instruction reading the MSR at address 0802H. 
Each logical processor in the system (including clusters with a communication fabric) must be configured with an 
unique x2APIC ID to avoid collisions of x2APIC IDs. On DP and high-end MP processors targeted to specific market 
segments and depending on the system configuration, it is possible that logical processors in different and “un-
connected” clusters power up initialized with overlapping x2APIC IDs. In these configurations, a model-specific 
means may be provided in those product segments to enable BIOS and/or platform firmware to re-configure the 

828H

280H

Error Status Register (ESR)

Read/write

WRMSR of a non-zero value causes 

#GP(0). See Section 10.5.3.

82FH

2F0H

LVT CMCI register

Read/write

See Figure 10-8 for reserved bits.

830H

4

300H and 310H

Interrupt Command Register 

(ICR)

Read/write

See Figure 10-28 for reserved bits

832H

320H

LVT Timer register

Read/write

See Figure 10-8 for reserved bits.

833H

330H

LVT Thermal Sensor register

Read/write

See Figure 10-8 for reserved bits.

834H

340H

LVT Performance Monitoring 

register

Read/write

See Figure 10-8 for reserved bits.

835H

350H

LVT LINT0 register

Read/write

See Figure 10-8 for reserved bits.

836H

360H

LVT LINT1 register

Read/write

See Figure 10-8 for reserved bits.

837H

370H

LVT Error register

Read/write

See Figure 10-8 for reserved bits.

838H

380H

Initial Count register (for 

Timer)

Read/write

839H

390H

Current Count register (for 

Timer)

Read-only

83EH

3E0H

Divide Configuration Register 

(DCR; for Timer)

Read/write

See Figure 10-10 for reserved bits.

83FH

Not available

SELF IPI

5

Write-only

Available only in x2APIC mode.

NOTES:

1. WRMSR causes #GP(0) for read-only registers.
2. WRMSR causes #GP(0) for attempts to set a reserved bit to 1 in a read/write register (including bits 63:32 of each register).
3. RDMSR causes #GP(0) for write-only registers.
4. MSR 831H is reserved; read/write operations cause general-protection exceptions. The contents of the APIC register at MMIO offset 

310H are accessible in x2APIC mode through the MSR at address 830H.

5. SELF IPI register is supported only in x2APIC mode.

Table 10-6. Local APIC Register Address Map Supported by x2APIC (Contd.)

MSR Address 

(x2APIC mode)

MMIO Offset 

(xAPIC mode)

Register Name

MSR R/W 

Semantics

Comments