summaryrefslogtreecommitdiffstats
path: root/documentation/general/IPI
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/general/IPI')
-rw-r--r--documentation/general/IPI10
1 files changed, 10 insertions, 0 deletions
diff --git a/documentation/general/IPI b/documentation/general/IPI
new file mode 100644
index 0000000..5daed95
--- /dev/null
+++ b/documentation/general/IPI
@@ -0,0 +1,10 @@
+Inter-Processor Interrupt
+==============================
+
+An inter-processor interrupt (IPI) is a special type of interrupt by which one processor may interrupt another processor in a multiprocessor system if the interrupting processor requires action from the other processor. Actions that might be requested include:
+
+ - flushes of memory management unit caches, such as translation lookaside buffers,
+ on other processors when memory mappings are changed by one processor;
+ - stopping when the system is being shut down by one processor.
+
+On IBM PC compatible computers that use the Advanced Programmable Interrupt Controller (APIC), IPI signalling is often performed using the APIC. When a CPU wishes to send an interrupt to another CPU, it stores the interrupt vector and the identifier of the target's local APIC in the Interrupt Command Register (ICR) of its own local APIC. A message is then sent via the APIC bus to the target's local APIC, which therefore issues a corresponding interrupt to its own CPU.