summaryrefslogtreecommitdiff
path: root/src/include/cpu/x86/lapic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/cpu/x86/lapic.h')
-rw-r--r--src/include/cpu/x86/lapic.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/include/cpu/x86/lapic.h b/src/include/cpu/x86/lapic.h
index 779799ecf4..c1603f21f0 100644
--- a/src/include/cpu/x86/lapic.h
+++ b/src/include/cpu/x86/lapic.h
@@ -143,6 +143,17 @@ static __always_inline unsigned int lapicid(void)
return lapicid;
}
+static __always_inline void lapic_send_ipi_self(uint32_t icrlow)
+{
+ /* LAPIC_DEST_SELF does not support all delivery mode -fields. */
+ lapic_send_ipi(icrlow, lapicid());
+}
+
+static __always_inline void lapic_send_ipi_others(uint32_t icrlow)
+{
+ lapic_send_ipi(LAPIC_DEST_ALLBUT | icrlow, 0);
+}
+
#if !CONFIG(AP_IN_SIPI_WAIT)
/* If we need to go back to sipi wait, we use the long non-inlined version of
* this function in lapic_cpu_stop.c