|  | // 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(); | 
|  | } |