aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/xen/control
diff options
context:
space:
mode:
authorJustin T. Gibbs <gibbs@FreeBSD.org>2013-08-29 19:52:18 +0000
committerJustin T. Gibbs <gibbs@FreeBSD.org>2013-08-29 19:52:18 +0000
commit76acc41fb7c740bc49e2638529b8cc750ff281d5 (patch)
tree645c89eddfbfb23b9b30e45b882f5beb39a4a267 /sys/dev/xen/control
parentea4447500dd8a7e85fd10a9e6aa62738ff634976 (diff)
Notes
Diffstat (limited to 'sys/dev/xen/control')
-rw-r--r--sys/dev/xen/control/control.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c
index 18f42bbe653b..649f28160407 100644
--- a/sys/dev/xen/control/control.c
+++ b/sys/dev/xen/control/control.c
@@ -128,12 +128,13 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <machine/_inttypes.h>
-#include <machine/xen/xen-os.h>
+#include <machine/intr_machdep.h>
#include <vm/vm.h>
#include <vm/vm_extern.h>
#include <vm/vm_kern.h>
+#include <xen/xen-os.h>
#include <xen/blkif.h>
#include <xen/evtchn.h>
#include <xen/gnttab.h>
@@ -144,6 +145,9 @@ __FBSDID("$FreeBSD$");
#include <xen/xenbus/xenbusvar.h>
+#include <machine/xen/xenvar.h>
+#include <machine/xen/xenfunc.h>
+
/*--------------------------- Forward Declarations --------------------------*/
/** Function signature for shutdown event handlers. */
typedef void (xctrl_shutdown_handler_t)(void);
@@ -242,6 +246,7 @@ xctrl_suspend()
xencons_suspend();
gnttab_suspend();
+ intr_suspend();
max_pfn = HYPERVISOR_shared_info->arch.max_pfn;
@@ -282,7 +287,7 @@ xctrl_suspend()
HYPERVISOR_shared_info->arch.max_pfn = max_pfn;
gnttab_resume();
- irq_resume();
+ intr_resume();
local_irq_enable();
xencons_resume();
@@ -352,13 +357,11 @@ xctrl_suspend()
* Prevent any races with evtchn_interrupt() handler.
*/
disable_intr();
- irq_suspend();
+ intr_suspend();
suspend_cancelled = HYPERVISOR_suspend(0);
- if (suspend_cancelled)
- irq_resume();
- else
- xenpci_resume();
+
+ intr_resume();
/*
* Re-enable interrupts and put the scheduler back to normal.