Specifications

2-15
LOCAL X2APIC ARCHITECTURE
The SELF IPI register is a write-only register. A RDMSR instruction with address of the
SELF IPI register will raise a GP fault.
The handling and prioritization of a self-IPI sent via the SELF IPI register is architec-
turally identical to that for an IPI sent via the ICR from a legacy xAPIC unit. Specifi-
cally the state of the interrupt would be tracked via the Interrupt Request Register
(IRR) and In Service Register (ISR) and Trigger Mode Register (TMR) as if it were
received from the system bus. Also sending the IPI via the Self Interrupt Register
ensures that interrupt is delivered to the processor core. Specifically completion of
the WRMSR instruction to the SELF IPI register implies that the interrupt has been
logged into the IRR. As expected for edge triggered interrupts, depending on the
processor priority and readiness to accept interrupts, it is possible that interrupts
sent via the SELF IPI register or via the ICR with identical vectors can be combined.
2.5 X2APIC ENHANCEMENTS TO LEGACY XAPIC
ARCHITECTURE
The x2APIC architecture also provides enhanced features for a local x2APIC unit
operating in xAPIC mode. This section describes x2APIC enhancements that are
common to xAPIC mode and x2APIC mode.
2.5.1 Directed EOI
To support level triggered interrupts, the legacy xAPIC architecture broadcasts EOI
messages for level triggered interrupts over the system interconnect to all the
IOxAPICs in the system indicating that the interrupt has been serviced. Broadcasting
the EOIs can lead to system inefficiencies on a link-based system interconnect. Also,
in systems with multiple IOxAPICs, where different IOxAPICs have been
programmed with the same vector but different processor destinations, the broad-
casting of the EOI message can lead to duplicate interrupts being delivered to the
local xAPIC for the same event on an IO device.
Figure 2-6. SELF IPI register
MSR Address: 083FH
31 8 7 0
Reserved
Vector