diff options
Diffstat (limited to 'arch/x86/xen/suspend_hvm.c')
-rw-r--r-- | arch/x86/xen/suspend_hvm.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/x86/xen/suspend_hvm.c b/arch/x86/xen/suspend_hvm.c new file mode 100644 index 000000000..0c4f7554b --- /dev/null +++ b/arch/x86/xen/suspend_hvm.c @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: GPL-2.0 +#include <linux/types.h> + +#include <xen/xen.h> +#include <xen/hvm.h> +#include <xen/features.h> +#include <xen/interface/features.h> +#include <xen/events.h> + +#include "xen-ops.h" + +void xen_hvm_post_suspend(int suspend_cancelled) +{ + if (!suspend_cancelled) { + xen_hvm_init_shared_info(); + xen_vcpu_restore(); + } + if (xen_percpu_upcall) { + unsigned int cpu; + + for_each_online_cpu(cpu) + BUG_ON(xen_set_upcall_vector(cpu)); + } else { + xen_setup_callback_vector(); + } + xen_unplug_emulated_devices(); +} |