summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorroyger <royger@FreeBSD.org>2015-12-03 11:05:35 +0000
committerroyger <royger@FreeBSD.org>2015-12-03 11:05:35 +0000
commite9bddfef0b2bc796a7d9eb9f65126b20510a0e36 (patch)
tree9b9ed3b89736709efe35fcb67f193743c0ac90b9 /sys/dev
parent68e44b1d7045a500ada4760ebd096f99e1544d2e (diff)
downloadFreeBSD-src-e9bddfef0b2bc796a7d9eb9f65126b20510a0e36.zip
FreeBSD-src-e9bddfef0b2bc796a7d9eb9f65126b20510a0e36.tar.gz
MFC r291024:
xen: fix dropping bitmap IPIs during resume Sponsored by: Citrix Systems R&D
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/xen/control/control.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c
index bc0609d..60e448a 100644
--- a/sys/dev/xen/control/control.c
+++ b/sys/dev/xen/control/control.c
@@ -127,6 +127,7 @@ __FBSDID("$FreeBSD$");
#include <machine/_inttypes.h>
#include <machine/intr_machdep.h>
+#include <machine/apicvar.h>
#include <vm/vm.h>
#include <vm/vm_extern.h>
@@ -403,6 +404,8 @@ xctrl_suspend()
gnttab_resume();
#ifdef SMP
+ /* Send an IPI_BITMAP in case there are pending bitmap IPIs. */
+ lapic_ipi_vectored(IPI_BITMAP_VECTOR, APIC_IPI_DEST_ALL);
if (smp_started && !CPU_EMPTY(&cpu_suspend_map)) {
/*
* Now that event channels have been initialized,
OpenPOWER on IntegriCloud