From 79266f6b972ea964888fd81a339500362935cfe9 Mon Sep 17 00:00:00 2001 From: NAKAMURA Gou Date: Tue, 29 Sep 2015 19:02:40 +0900 Subject: [PATCH] x86_issue_ipi: keep interrupt disabled while issuing IPI --- arch/x86/kernel/cpu.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/x86/kernel/cpu.c b/arch/x86/kernel/cpu.c index 73675f39..c4a82a97 100644 --- a/arch/x86/kernel/cpu.c +++ b/arch/x86/kernel/cpu.c @@ -818,8 +818,12 @@ static void wait_icr_idle(void) void x86_issue_ipi(unsigned int apicid, unsigned int low) { + unsigned long flags; + + flags = cpu_disable_interrupt_save(); wait_icr_idle(); lapic_icr_write(apicid << LAPIC_ICR_ID_SHIFT, low); + cpu_restore_interrupt(flags); } static void outb(uint8_t v, uint16_t port)