summaryrefslogtreecommitdiff
path: root/arch/x86/machine
diff options
context:
space:
mode:
authorRemy Noel <mocramis@gmail.com>2018-04-14 10:00:10 +0200
committerRemy Noel <mocramis@gmail.com>2018-04-14 10:00:10 +0200
commitf3bdc3f165ccb4bcd608f3f3725e990b44de44f9 (patch)
tree4714c20dd154fd1dd4a40faef2e454148c873136 /arch/x86/machine
parent2efc39da83bf826186497a8fe3208fcc1afee2a4 (diff)
parent8088131a4e0165938593577a9cfa87de7ffd22bc (diff)
Merge branch 'master' into perfmon
Diffstat (limited to 'arch/x86/machine')
-rw-r--r--arch/x86/machine/lapic.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/machine/lapic.c b/arch/x86/machine/lapic.c
index 180a1a2..3f6d0c2 100644
--- a/arch/x86/machine/lapic.c
+++ b/arch/x86/machine/lapic.c
@@ -271,11 +271,17 @@ lapic_ap_setup(void)
static void
lapic_ipi(uint32_t apic_id, uint32_t icr)
{
+ unsigned long flags;
+
+ cpu_intr_save(&flags);
+
if ((icr & LAPIC_ICR_DEST_MASK) == 0) {
lapic_write(&lapic_map->icr_high, apic_id << LAPIC_DEST_SHIFT);
}
lapic_write(&lapic_map->icr_low, icr & ~LAPIC_ICR_RESERVED);
+
+ cpu_intr_restore(flags);
}
static void