diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/xen/control/control.c | 3 |
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, |