Intel 253668-032US User Manual
10-52 Vol. 3
ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER (APIC)
), the IRRV
value is the vector number for the highest priority bit that is set in the IRR (see
) or 00H (if no IRR bit is set), and the ISRV value is the vector number
for the highest priority bit that is set in the ISR (see
). Following arbitra-
tion among the destination processors, the processor with the lowest value in its APR
handles the IPI and the other processors ignore it.
(P6 family and Pentium processors.) For these processors, if a focus processor
exists, it may accept the interrupt, regardless of its priority. A processor is said to be
the focus of an interrupt if it is currently servicing that interrupt or if it has a pending
request for that interrupt. For Intel Xeon processors, the concept of a focus processor
is not supported.
In operating systems that use the lowest priority delivery mode but do not update
the TPR, the TPR information saved in the chipset will potentially cause the interrupt
to be always delivered to the same processor from the logical set. This behavior is
functionally backward compatible with the P6 family processor but may result in
unexpected performance implications.
handles the IPI and the other processors ignore it.
(P6 family and Pentium processors.) For these processors, if a focus processor
exists, it may accept the interrupt, regardless of its priority. A processor is said to be
the focus of an interrupt if it is currently servicing that interrupt or if it has a pending
request for that interrupt. For Intel Xeon processors, the concept of a focus processor
is not supported.
In operating systems that use the lowest priority delivery mode but do not update
the TPR, the TPR information saved in the chipset will potentially cause the interrupt
to be always delivered to the same processor from the logical set. This behavior is
functionally backward compatible with the P6 family processor but may result in
unexpected performance implications.
10.7.3
IPI Delivery and Acceptance
When the low double-word of the ICR is written to, the local APIC creates an IPI
message from the information contained in the ICR and sends the message out on
the system bus (Pentium 4 and Intel Xeon processors) or the APIC bus (P6 family and
Pentium processors). The manner in which these IPIs are handled after being issues
in described in
message from the information contained in the ICR and sends the message out on
the system bus (Pentium 4 and Intel Xeon processors) or the APIC bus (P6 family and
Pentium processors). The manner in which these IPIs are handled after being issues
in described in
10.7.4
SELF IPI Register
SELF IPIs are used extensively by some system software. The x2APIC architecture
introduces a new register interface. This new register is dedicated to the purpose of
sending self-IPIs with the intent of enabling a highly optimized path for sending self-
IPIs.
introduces a new register interface. This new register is dedicated to the purpose of
sending self-IPIs with the intent of enabling a highly optimized path for sending self-
IPIs.
provides the layout of the SELF IPI register. System software only spec-
ifies the vector associated with the interrupt to be sent. The semantics of sending a
self-IPI via the SELF IPI register are identical to sending a self targeted edge trig-
gered fixed interrupt with the specified vector. Specifically the semantics are identical
to the following settings for an inter-processor interrupt sent via the ICR - Destina-
tion Shorthand (ICR[19:18] = 01 (Self)), Trigger Mode (ICR[15] = 0 (Edge)),
Delivery Mode (ICR[10:8] = 000 (Fixed)), Vector (ICR[7:0] = Vector).
self-IPI via the SELF IPI register are identical to sending a self targeted edge trig-
gered fixed interrupt with the specified vector. Specifically the semantics are identical
to the following settings for an inter-processor interrupt sent via the ICR - Destina-
tion Shorthand (ICR[19:18] = 01 (Self)), Trigger Mode (ICR[15] = 0 (Edge)),
Delivery Mode (ICR[10:8] = 000 (Fixed)), Vector (ICR[7:0] = Vector).