xref: /kernel/linux/linux-6.6/arch/x86/xen/suspend_hvm.c
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/arch/x86/xen/
162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include <linux/types.h>
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci#include <xen/xen.h>
562306a36Sopenharmony_ci#include <xen/hvm.h>
662306a36Sopenharmony_ci#include <xen/features.h>
762306a36Sopenharmony_ci#include <xen/interface/features.h>
862306a36Sopenharmony_ci#include <xen/events.h>
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci#include "xen-ops.h"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_civoid xen_hvm_post_suspend(int suspend_cancelled)
1362306a36Sopenharmony_ci{
1462306a36Sopenharmony_ci	if (!suspend_cancelled) {
1562306a36Sopenharmony_ci		xen_hvm_init_shared_info();
1662306a36Sopenharmony_ci		xen_vcpu_restore();
1762306a36Sopenharmony_ci	}
1862306a36Sopenharmony_ci	if (xen_percpu_upcall) {
1962306a36Sopenharmony_ci		unsigned int cpu;
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci		for_each_online_cpu(cpu)
2262306a36Sopenharmony_ci			BUG_ON(xen_set_upcall_vector(cpu));
2362306a36Sopenharmony_ci	} else {
2462306a36Sopenharmony_ci		xen_setup_callback_vector();
2562306a36Sopenharmony_ci	}
2662306a36Sopenharmony_ci	xen_unplug_emulated_devices();
2762306a36Sopenharmony_ci}
28

Indexes created Thu Nov 07 10:32:03 CST 2024