diff options
Diffstat (limited to 'arch/x86/kernel/apic/ipi.c')
-rw-r--r-- | arch/x86/kernel/apic/ipi.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/arch/x86/kernel/apic/ipi.c b/arch/x86/kernel/apic/ipi.c index 0f26141d479c..6fa9f6ca7eef 100644 --- a/arch/x86/kernel/apic/ipi.c +++ b/arch/x86/kernel/apic/ipi.c @@ -1,10 +1,20 @@ // SPDX-License-Identifier: GPL-2.0 #include <linux/cpumask.h> +#include <linux/smp.h> -#include <asm/apic.h> +#include "local.h" -#include "ipi.h" +static inline int __prepare_ICR2(unsigned int mask) +{ + return SET_APIC_DEST_FIELD(mask); +} + +static inline void __xapic_wait_icr_idle(void) +{ + while (native_apic_mem_read(APIC_ICR) & APIC_ICR_BUSY) + cpu_relax(); +} void __default_send_IPI_shortcut(unsigned int shortcut, int vector, unsigned int dest) { |