aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/xen/control
diff options
context:
space:
mode:
authorRoger Pau Monné <royger@FreeBSD.org>2015-11-18 18:11:19 +0000
committerRoger Pau Monné <royger@FreeBSD.org>2015-11-18 18:11:19 +0000
commit15226522304868a8312a84f8ff549fdc6bbf54db (patch)
tree61e104183ca0f8e962dcd6e90f911f37fabe5fe7 /sys/dev/xen/control
parentea64b86f94a8f3af2dcbba3a99102f4b38c6232e (diff)
Notes
Diffstat (limited to 'sys/dev/xen/control')
-rw-r--r--sys/dev/xen/control/control.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c
index f2851eea65f9..6a351d831ec8 100644
--- a/sys/dev/xen/control/control.c
+++ b/sys/dev/xen/control/control.c
@@ -128,6 +128,8 @@ __FBSDID("$FreeBSD$");
#include <machine/_inttypes.h>
#include <machine/intr_machdep.h>
+#include <x86/apicvar.h>
+
#include <vm/vm.h>
#include <vm/vm_extern.h>
#include <vm/vm_kern.h>
@@ -256,6 +258,8 @@ xctrl_suspend()
gnttab_resume(NULL);
#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,